diff --git a/index.html b/index.html index 8947fb04..55cef632 100644 --- a/index.html +++ b/index.html @@ -1213,10 +1213,20 @@

Algorithm

Continue with the next context.
In [[[JSON-LD10]]], the base IRI was given a default value here; this is now described conditionally - in .
- + in the {{JsonLdOptions/base}} option + of the . + + + -
  • If context is a string, +
  • If context is a string, +
    + In order to prevent being overly prescriptive, + this algorithm makes no statement about how internal state is kept for dereferenced context documents + and broadly applies error handling checks. + Provided that the output of the algorithm is unchanged, + implementations may employ optimizations. +
    1. Initialize context to the result of resolving context against the base IRI @@ -1232,7 +1242,15 @@

      Algorithm

      references are treated in the same way that unreserved characters are treated in URI references, per section 6.5 - of [[RFC3987]].
    2. + of [[RFC3987]]. +
      + The base IRI of the document containing the local context + is often not the same as {{JsonLdOptions/base}} + or the base IRI of the active context. + Processors are responsible for retaining the {{RemoteDocument/documentUrl}} + for documents being processed via this algorithm for use in resolving context. +
      +
    3. If the number of entries in the remote contexts array exceeds a processor defined limit, a context overflow @@ -1241,20 +1259,25 @@

      Algorithm

    4. If context was previously dereferenced, then the processor MUST NOT do a further dereference, and context is set to the - previously established internal representation.
    5. + previously established internal representation. +
      Only the `@context` entry need be retained.
      +
    6. Otherwise, dereference context using the LoadDocumentCallback, passing context for url, and http://www.w3.org/ns/json-ld#context for profile - and for requestProfile.
    7. -
    8. If context cannot be dereferenced, - or cannot be transformed into the internal representation, - a loading remote context failed - error has been detected and processing is aborted. If the dereferenced document has no - top-level map with an @context entry, an - invalid remote context - has been detected and processing is aborted; otherwise, - set context to the value of that entry.
    9. + and for requestProfile. +
        +
      1. If context cannot be dereferenced, + or cannot be transformed into the internal representation, + a loading remote context failed + error has been detected and processing is aborted. If the dereferenced document has no + top-level map with an @context entry, an + invalid remote context + has been detected and processing is aborted.
      2. +
      3. Otherwise, set context to the value of that entry.
      4. +
      +
    10. Set result to the result of recursively calling this algorithm, passing result for active context, context for local context, and a copy of remote contexts.
    11. @@ -6992,6 +7015,10 @@

      Changes since Candidate Release of 12 December 2019

    12. Other changes:
        +
      • Added explanitory notes to step 5.2 + of , + and moved the former step 5.2.5 to 5.2.4.1. + This is in response to Issue 265.
      • Add `application/xhtml+xml` as an allowed media type in , in the note in , and as a use of the {{LoadDocumentOptions/profile}} API option.