<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-vasters-json-structure-import-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title>JSON Structure: Import</title>
    <seriesInfo name="Internet-Draft" value="draft-vasters-json-structure-import-02"/>
    <author fullname="Clemens Vasters">
      <organization>Microsoft Corporation</organization>
      <address>
        <email>clemensv@microsoft.com</email>
      </address>
    </author>
    <date year="2025" month="December" day="04"/>
    <area>Web and Internet Transport</area>
    <workgroup>Building Blocks for HTTP APIs</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 44?>

<t>This document specifies the <tt>$import</tt> and <tt>$importdefs</tt> keywords as extensions
to JSON Structure Core. These keywords allow a schema to import definitions from
external schema documents.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://json-structure.github.io/import/draft-vasters-json-structure-import.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-vasters-json-structure-import/"/>.
      </t>
      <t>
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/json-structure/import"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies the <tt>$import</tt> and <tt>$importdefs</tt> keywords, as extensions
to JSON Structure Core <xref target="JSTRUCT-CORE"/>. These keywords allow a schema to import
definitions from external schema documents.</t>
      <t>All type reference expressions in JSON Structure Core, <tt>$ref</tt> and <tt>$extends</tt> and
<tt>$addins</tt>, are limited to references within the current schema document.</t>
      <t>The <tt>$import</tt> and <tt>$importdefs</tt> keywords enable schema authors to incorporate
external schema documents into a schema.</t>
      <t>Imports do not establish a reference relationship between the importing schema
and the imported schema. Imports <em>copy</em> definitions from the imported schema
into the importing schema and those definitions are then treated as if they were
defined locally.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
    </section>
    <section anchor="import-and-importdefs-keywords">
      <name>The <tt>$import</tt> and <tt>$importdefs</tt> Keywords</name>
      <t>The <tt>$import</tt> and <tt>$importdefs</tt> keywords are used to import definitions from
external schema documents into a local namespace within the current schema
document.</t>
      <t>A schema processor MUST process the <tt>$import</tt> and <tt>$importdefs</tt> keywords before
processing any other keywords in the schema document.</t>
      <t>The result of importing definitions is that the imported definitions are merged
into the local <tt>definitions</tt> section under the designated namespace as if they were
defined locally.</t>
      <t>A schema that uses <tt>$import</tt> or <tt>$importdefs</tt> MAY <em>shadow</em> any imported
definitions with local definitions of the same name and in the same namespace,
replacing the imported definition entirely. Local definitions take precedence
over the imported definitions. A shadowing type cannot reference the imported
type that it shadows.</t>
      <t>When importing definitions into a local namespace, the processor MUST ensure
that all imported cross-references are resolved within the imported definitions
themselves and not against the local schema. That means that any JSON Pointer
reference (<xref target="RFC6901"/>) (<tt>$ref</tt>, <tt>$extends</tt>, or <tt>$addins</tt>) within imported definitions MUST be
prefixed with the local namespace under which the definitions were imported.
This applies recursively to any imported schema that itself contains imports.</t>
      <section anchor="import-keyword">
        <name><tt>$import</tt> Keyword</name>
        <t>The <tt>$import</tt> keyword is a reference expression whose value is an absolute URI
pointing to an external schema document. It is used to import all type
definitions of the external schema into a local namespace within the current
schema document.</t>
        <t>When the keyword is used at the root level of a schema, the imported definitions
are available in the schema's root namespace. When used within the <tt>definitions</tt>
section, the imported definitions are available in the respective local
namespace.</t>
        <ul empty="true">
          <li>
            <t><strong>Reminder</strong>: Any type declaration at the root level of a schema and any type
declaration at the root level of the <tt>definitions</tt> section is placed in the schema's
root namespace per section 3.3 of <xref target="JSTRUCT-CORE"/>.</t>
          </li>
        </ul>
        <t>Example for <tt>$import</tt> at the root level:</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$import": "https://example.com/people.json"
}
]]></sourcecode>
        <t>Importing into the root namespace within the <tt>definitions</tt> section is equivalent to
the prior example:</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "definitions": {
    "$import": "https://example.com/people.json"
  }
}
]]></sourcecode>
        <t>One can also import into any local namespace within the <tt>definitions</tt> section:</t>
        <sourcecode type="json"><![CDATA[
{
  "definitions": {
    "People": {
      "$import": "https://example.com/people.json"
    }
  }
}
]]></sourcecode>
        <t>The result of the import is that <em>all</em> definitions from the external schema are
available under the <tt>People</tt> namespace. The namespace structure and any
cross-references that exist within an imported schema, including any imports
that it may have, are unaffected by being imported.</t>
        <t>The <tt>$import</tt> keyword MAY be used many times within a schema to import multiple
external schemas into distinct local namespaces.</t>
      </section>
      <section anchor="importdefs-keyword">
        <name><tt>$importdefs</tt> Keyword</name>
        <t>The <tt>$importdefs</tt> keyword is a reference expression whose value is an absolute
URI pointing to an external schema document.</t>
        <t><tt>$importdefs</tt> works the same as <tt>$import</tt>, with the exception that it only
imports the <tt>definitions</tt> section of the external schema and not the root type.</t>
        <t>The purpose of <tt>$importdefs</tt> is to use the type definitions from an external
schema as a library of types that can be referenced from within the local schema
without importing the root type of the external schema.</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="example-import-external-schema">
        <name>Example: Using <tt>$import</tt> to import an external schema</name>
        <t>Let the external schema be defined as follows:</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://example.com/people.json",
  "name": "Person",
  "type": "object",
  "properties": {
    "firstName": { "type": "string" },
    "lastName": { "type": "string" },
    "address": { "$ref": "#/definitions/Address" }
  },
  "definitions": {
    "Address": {
      "type": "object",
      "properties": {
        "street": { "type": "string" },
        "city": { "type": "string" }
      }
    }
  }
}
]]></sourcecode>
        <t>The importing schema uses <tt>$import</tt> to import the external schema into the
"People" namespace. The imported <tt>Person</tt> type is then used in the local schema
as the type of the <tt>person</tt> property:</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "type": "object",
  "properties": {
    "person": {
      "type": { "$ref": "#/definitions/People/Person" }
    },
    "shippingAddress": {
      "type": { "$ref": "#/definitions/People/Address" }
    }
  },
  "definitions": {
    "People": {
      "$import": "https://example.com/people.json"
    }
  }
}
]]></sourcecode>
        <t>The imported <tt>Person</tt> type from the root of the external schema is available
under the <tt>People</tt> namespace in the local schema, alongside the imported
<tt>Address</tt> type.</t>
        <t>The external schema can also be imported into the root namespace of the local
schema by using <tt>$import</tt> at the root level of the schema document—in which case
the imported definitions are available in the root namespace of the local
schema:</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$import": "https://example.com/people.json",
  "type": "object",
  "properties": {
    "person": {
      "type": { "$ref": "#/definitions/Person" }
    },
    "shippingAddress": {
      "type": { "$ref": "#/definitions/Address" }
    }
  }
}
]]></sourcecode>
        <t>The following schema is equivalent to the prior example:</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "type": "object",
  "properties": {
    "person": {
      "type": { "$ref": "#/definitions/Person" }
    },
    "shippingAddress": {
      "type": { "$ref": "#/definitions/Address" }
    }
  },
  "definitions": {
    "$import": "https://example.com/people.json"
  }
}
]]></sourcecode>
      </section>
      <section anchor="example-import-shadowing">
        <name>Example: Using <tt>$import</tt> with shadowing</name>
        <t>The external schema remains the same as in <xref target="example-import-external-schema"/>.</t>
        <t>The importing schema uses <tt>$import</tt> to import the external schema into the
"People" namespace. The imported <tt>Person</tt> type is then used in the local schema
as the type of the <tt>person</tt> property. The local schema then also defines an
<tt>Address</tt> type that shadows the imported <tt>Address</tt> type within the same
namespace:</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "type": "object",
  "properties": {
    "person": {
      "type": { "$ref": "#/definitions/People/Person" }
    }
  },
  "definitions": {
    "People": {
      "$import": "https://example.com/people.json",
      "Address": {
        "type": "object",
        "properties": {
          "street": { "type": "string" },
          "city": { "type": "string" },
          "postalCode": { "type": "string" },
          "country": { "type": "string" }
        }
      }
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="example-importdefs">
        <name>Example: Using <tt>$importdefs</tt> to import the <tt>definitions</tt> section of an external schema</name>
        <t>The external schema remains the same as in <xref target="example-import-external-schema"/>.</t>
        <t>The importing schema uses <tt>$importdefs</tt> to import the <tt>definitions</tt> section of the
external schema into the "People" namespace. The imported <tt>Address</tt> type is then
used in the local schema as the type of the <tt>shippingAddress</tt> property as
before. However, the <tt>Person</tt> type is not imported and available.</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "type": "object",
  "properties": {
    "shippingAddress": {
      "type": { "$ref": "#/definitions/People/Address" }
    }
  },
  "definitions": {
    "People": {
      "$importdefs": "https://example.com/people.json"
    }
  }
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="resolving-uris">
      <name>Resolving URIs</name>
      <t>When resolving URIs, schema processors MUST follow the rules defined in
<xref target="RFC3986"/> and <xref target="RFC3987"/></t>
      <t>This specification does not define any additional rules for resolving URIs into
schema documents.</t>
      <section anchor="enabling-the-extensions">
        <name>Enabling the Extensions</name>
        <t>The import extensions are available and enabled by default via the extended
meta-schema:</t>
        <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-structure.org/meta/extended/v0/#",
  "$id": "myschema",
  "$import": "https://example.com/people.json",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
    },
    "address": {
      "type": { "$ref": "#/definitions/Person/Address" }
    }
  }
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-and-interoperability">
      <name>Security and Interoperability</name>
      <ul spacing="normal">
        <li>
          <t>Schema processing engines MUST resolve the absolute URIs specified in
<tt>$import</tt> and <tt>$importdefs</tt>, fetch the external schemas, and validate them to
be schema documents.</t>
        </li>
        <li>
          <t>Implementations SHOULD employ caching and robust error handling for remote
schema retrieval.</t>
        </li>
        <li>
          <t>External schema URIs SHOULD originate from trusted sources.</t>
        </li>
        <li>
          <t>Remote fetching of schemas SHOULD be performed over secure protocols (e.g.,
HTTPS) to mitigate tampering.</t>
        </li>
        <li>
          <t>Excessively deep or circular import chains MUST be detected and mitigated to
avoid performance degradation and potential denial-of-service conditions.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document does not require any IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC3986">
        <front>
          <title>Uniform Resource Identifier (URI): Generic Syntax</title>
          <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
          <author fullname="R. Fielding" initials="R." surname="Fielding"/>
          <author fullname="L. Masinter" initials="L." surname="Masinter"/>
          <date month="January" year="2005"/>
          <abstract>
            <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="66"/>
        <seriesInfo name="RFC" value="3986"/>
        <seriesInfo name="DOI" value="10.17487/RFC3986"/>
      </reference>
      <reference anchor="RFC3987">
        <front>
          <title>Internationalized Resource Identifiers (IRIs)</title>
          <author fullname="M. Duerst" initials="M." surname="Duerst"/>
          <author fullname="M. Suignard" initials="M." surname="Suignard"/>
          <date month="January" year="2005"/>
          <abstract>
            <t>This document defines a new protocol element, the Internationalized Resource Identifier (IRI), as a complement of the Uniform Resource Identifier (URI). An IRI is a sequence of characters from the Universal Character Set (Unicode/ISO 10646). A mapping from IRIs to URIs is defined, which means that IRIs can be used instead of URIs, where appropriate, to identify resources.</t>
            <t>The approach of defining a new protocol element was chosen instead of extending or changing the definition of URIs. This was done in order to allow a clear distinction and to avoid incompatibilities with existing software. Guidelines are provided for the use and deployment of IRIs in various protocols, formats, and software components that currently deal with URIs.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3987"/>
        <seriesInfo name="DOI" value="10.17487/RFC3987"/>
      </reference>
      <reference anchor="RFC6901">
        <front>
          <title>JavaScript Object Notation (JSON) Pointer</title>
          <author fullname="P. Bryan" initials="P." role="editor" surname="Bryan"/>
          <author fullname="K. Zyp" initials="K." surname="Zyp"/>
          <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
          <date month="April" year="2013"/>
          <abstract>
            <t>JSON Pointer defines a string syntax for identifying a specific value within a JavaScript Object Notation (JSON) document.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6901"/>
        <seriesInfo name="DOI" value="10.17487/RFC6901"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="JSTRUCT-CORE" target="https://json-structure.github.io/core/draft-vasters-json-structure-core.html">
        <front>
          <title>JSON Structure Core</title>
          <author fullname="Clemens Vasters">
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
    </references>
    <?line 383?>

<section numbered="false" anchor="changes-from-draft-vasters-json-structure-import-01">
      <name>Changes from draft-vasters-json-structure-import-01</name>
      <ul spacing="normal">
        <li>
          <t>Added RFC6901 to normative references.</t>
        </li>
        <li>
          <t>Replaced nonstandard term "jsonpointer instance" with "JSON Pointer
reference" and added RFC 6901 citation.</t>
        </li>
        <li>
          <t>Replaced hard-coded "Example 4.1" with internal cross-reference anchor.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="changes-from-draft-vasters-json-structure-import-00">
      <name>Changes from draft-vasters-json-structure-import-00</name>
      <ul spacing="normal">
        <li>
          <t>No substantive changes; date update only.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
czfOydmLM9BzgISC5j+1Yb0zCi8AAA==

-->

</rfc>
