@@ -1070,6 +1070,7 @@ <h2>RDF Serialization/Deserialization</h2>
1070
1070
< li > the active < a > term definitions</ a > which specify how
1071
1071
keys and values have to be interpreted (< a > array</ a > of < a > term definitions</ a > ),</ li >
1072
1072
< li > the current < a > base IRI</ a > (< a > IRI</ a > ),</ li >
1073
+ < li class ="changed "> the < dfn > original base URL</ dfn > (< a > IRI</ a > ),</ li >
1073
1074
< li > an optional < a > vocabulary mapping</ a > (< a > IRI</ a > ),</ li >
1074
1075
< li > an optional < a > default language</ a > (< a > string</ a > ),</ li >
1075
1076
< li class ="changed "> an optional < a > default base direction</ a > (`"ltr"` or `"rtl"`),</ li >
@@ -1154,6 +1155,15 @@ <h3>Overview</h3>
1154
1155
it may be rolled back when a new < a > node object</ a > is entered.
1155
1156
By default, all contexts are propagated, other than < a > type-scoped contexts</ a > .</ p >
1156
1157
1158
+ < p class ="changed ">
1159
+ When an < a > active context</ a > is initialized, the value
1160
+ of the < a > original base URL</ a >
1161
+ is initialized from the original {{RemoteDocument/documentUrl}}
1162
+ of the document containing the initial < a > context</ a > .
1163
+ This is necessary when resetting the < a > active context</ a >
1164
+ by setting it to `null`
1165
+ to retain the original default < a > base IRI</ a > .</ p >
1166
+
1157
1167
< p > Then, for every other < a > entry</ a > in < a > local context</ a > , we update
1158
1168
the < a > term definition</ a > in < var > result</ var > . Since
1159
1169
< a > term definitions</ a > in a < a > local context</ a >
@@ -1211,15 +1221,13 @@ <h3>Algorithm</h3>
1211
1221
contains any < a > protected</ a > < a > term definitions</ a > ,
1212
1222
an < a data-link-for ="JsonLdErrorCode "> invalid context nullification</ a >
1213
1223
has been detected and processing is aborted.</ li >
1214
- < li > Otherwise, initialize < var > result</ var > as a
1215
- newly-initialized < var > active context</ var > ,
1224
+ < li > Initialize < var > result</ var > as a
1225
+ newly-initialized < a > active context</ a > ,
1216
1226
< span class ="changed "> setting < a > previous context</ a > in < var > result</ var >
1217
- to the previous value of < var > result</ var > if < var > propagate</ var > is < code > false</ code > </ span >
1218
- and < a > base IRI</ a > to the value of the {{JsonLdOptions/base}} option
1219
- of the < a href ="#the-application-programming-interface " class ="sectionRef "> </ a > ,
1220
- if provided, otherwise to < var > base URL</ var > .
1221
- Continue with the next < var > context</ var > .
1222
- </ li >
1227
+ to the previous value of < var > result</ var > if < var > propagate</ var > is < code > false</ code >
1228
+ and both < a > base IRI</ a > and < a > original base URL</ a > to the value of
1229
+ < a > original base URL</ a > in < var > active context</ var > </ span > .</ li >
1230
+ < li > Continue with the next < var > context</ var > .</ li >
1223
1231
</ ol >
1224
1232
</ li >
1225
1233
< li id ="alg-context-string "> If < var > context</ var > is a < a > string</ a > ,
@@ -5750,7 +5758,7 @@ <h3>Algorithm</h3>
5750
5758
If {{RemoteDocument/document}} cannot be transformed to the < a > internal representation</ a > ,
5751
5759
reject < var > promise</ var > passing a < a data-link-for ="JsonLdErrorCode "> loading document failed</ a > error.</ li >
5752
5760
< li > Initialize a new empty < var > active context</ var > .
5753
- The < a > base IRI</ a > of the < var > active context</ var > is set to the {{RemoteDocument/documentUrl}}
5761
+ The < a > base IRI</ a > and < a > original base URL </ a > of the < var > active context</ var > is set to the {{RemoteDocument/documentUrl}}
5754
5762
from < var > remote document</ var > , if available;
5755
5763
otherwise to < code > null</ code > .
5756
5764
If set, the {{JsonLdOptions/base}} option from < a data-lt ="jsonldprocessor-expand-options "> options</ a > overrides the < a > base IRI</ a > .</ li >
0 commit comments