rfc9108.original.xml | rfc9108.xml | |||
---|---|---|---|---|
<?xml version="1.0"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<?rfc strict="yes"?> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<?rfc toc="yes"?> | ||||
<?rfc tocdepth="3"?> | <rfc docName="draft-ietf-dnsop-iana-class-type-yang-05" number="9108" ipr="trust | |||
<?rfc symrefs="yes"?> | 200902" xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" categor | |||
<?rfc sortrefs="yes"?> | y="std" consensus="true" tocInclude="true" tocDepth="3" symRefs="true" sortRefs= | |||
<?rfc compact="yes"?> | "true" updates="" obsoletes="" xml:lang="en" version="3"> | |||
<?rfc subcompact="no"?> | ||||
<rfc docName="draft-ietf-dnsop-iana-class-type-yang-05" ipr="trust200902" catego | ||||
ry="std" submissionType="IETF" version="3" consensus="true"> | ||||
<front> | <front> | |||
<title abbrev="iana-dns-class-rr-type-yang">YANG Types for DNS | <title abbrev="YANG Types for DNS and RR">YANG Types for DNS | |||
Classes and Resource Record Types</title> | Classes and Resource Record Types</title> | |||
<seriesInfo name="Internet-Draft" status="standard" value="draft-ietf-dnsop- iana-class-type-yang-03"/> | <seriesInfo name="RFC" value="9108"/> | |||
<author fullname="Ladislav Lhotka" initials="L." surname="Lhotka"> | <author fullname="Ladislav Lhotka" initials="L." surname="Lhotka"> | |||
<organization>CZ.NIC</organization> | <organization>CZ.NIC</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<country>Czech Republic</country> | <country>Czech Republic</country> | |||
</postal> | </postal> | |||
<email>ladislav.lhotka@nic.cz</email> | <email>ladislav.lhotka@nic.cz</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Petr Spacek" initials="P." surname="Spacek"> | <author fullname="Petr Špaček" initials="P." surname="Špaček"> | |||
<organization>Internet Systems Consortium</organization> | <organization>Internet Systems Consortium</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<country>Czech Republic</country> | <country>Czech Republic</country> | |||
</postal> | </postal> | |||
<email>pspacek@isc.org</email> | <email>pspacek@isc.org</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date day="17" month="June" year="2021"/> | <date month="September" year="2021"/> | |||
<area>Operations and Management</area> | <area>Operations and Management</area> | |||
<workgroup>DNSOP Working Group</workgroup> | <workgroup>DNSOP Working Group</workgroup> | |||
<keyword>IANA registry</keyword> | ||||
<keyword>DNA Parameters</keyword> | ||||
<abstract> | <abstract> | |||
<t>This document introduces the YANG | <t>This document introduces the YANG | |||
module "iana-dns-class-rr-type" that contains derived types | module "iana-dns-class-rr-type", which contains derived types | |||
reflecting two IANA registries: DNS CLASSes and Resource Record | reflecting two IANA registries: DNS CLASSes and Resource Record | |||
(RR) TYPEs. These YANG types are intended as a minimum basis for | (RR) TYPEs. These YANG types are intended as the minimum basis for | |||
future data modeling work.</t> | future data modeling work.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="introduction" title="Introduction"> | <section anchor="introduction" title="Introduction"> | |||
<t>YANG <xref target="RFC7950"/> has become a de facto standard | <t>YANG <xref target="RFC7950"/> has become a de facto standard | |||
as a language for modeling configuration and state data, as well | as a language for modeling configuration and state data, as well | |||
as specifying management operations and asynchronous | as specifying management operations and asynchronous | |||
notifications. It is reasonable to expect that the approach | notifications. It is reasonable to expect that the approach | |||
based on utilizing such data models along with standard | based on utilizing such data models along with standard | |||
management protocols such as NETCONF <xref target="RFC6241"/> | management protocols such as NETCONF <xref target="RFC6241"/> | |||
and RESTCONF <xref target="RFC8040"/> can be effectively used in | and RESTCONF <xref target="RFC8040"/> can be effectively used in | |||
DNS operations, too. In fact, several efforts are currently | DNS operations, too. In fact, several efforts are currently | |||
underway that attempt to use NETCONF or RESTCONF for configuring | underway that attempt to use NETCONF or RESTCONF for configuring | |||
and managing</t> | and managing</t> | |||
<ul> | <ul> | |||
<li>authoritative servers</li> | <li>authoritative servers,</li> | |||
<li>resolvers</li> | <li>resolvers, and</li> | |||
<li>zone data.</li> | <li>zone data.</li> | |||
</ul> | </ul> | |||
<t>While it is possible to use the management protocols | <t>While it is possible to use the management protocols | |||
mentioned above with ad hoc or proprietary data models, their | mentioned above with ad hoc or proprietary data models, their | |||
real potential can be realized only if there is a (completely or | real potential can be realized only if there is a (completely or | |||
partly) unified data model supported by multiple DNS software | partly) unified data model supported by multiple DNS software | |||
implementations. Operators can then, for instance, run several | implementations. Operators can then, for instance, run several | |||
DNS server implementations in parallel, and use a common | DNS server implementations in parallel, and use a common | |||
configuration and management interface and data for all of | configuration and management interface and data for all of | |||
them. Also, it becomes considerably easier to migrate to another | them. Also, it becomes considerably easier to migrate to another | |||
implementation.</t> | implementation.</t> | |||
<t>Based on the previous experience from the IETF Routing Area, | <t>Based on the previous experience from the IETF Routing Area, | |||
it is to be expected that the development of unified data models | it is to be expected that the development of unified data models | |||
for DNS will be a lengthy and complicated process that will | for DNS will be a lengthy and complicated process that will | |||
require active cooperation and compromises from the vendors and | require active cooperation and compromise from the vendors and | |||
developers of major DNS server platforms. Nevertheless, it is | developers of major DNS server platforms. Nevertheless, it is | |||
likely that any DNS-related data modeling effort will need to | likely that any DNS-related data modeling effort will need to | |||
use various DNS parameters and enumerations that are specified | use various DNS parameters and enumerations that are specified | |||
in several IANA registries. For use with YANG, these parameters | in several IANA registries. For use with YANG, these parameters | |||
and enumerations have to be translated into corresponding YANG | and enumerations have to be translated into corresponding YANG | |||
types or other structures. Such translations should be | types or other structures. Such translations should be | |||
straightforward and relatively uncontroversial.</t> | straightforward and relatively uncontroversial.</t> | |||
<t>This document provides a translation of two fundamental | <t>This document provides a translation of two fundamental | |||
DNS-related IANA registries to YANG. It contains the initial | DNS-related IANA registries to YANG. It contains the initial | |||
revision of the YANG module "iana-dns-class-rr-type" that | version of the YANG module "iana-dns-class-rr-type", which | |||
defines derived types for the common parameters of DNS resource | defines derived types for the common parameters of DNS resource | |||
records (RR): class and type. These YANG types, "dns-class" and | records (RR): class and type. These YANG types, "dns-class" and | |||
"rr-type", reflect the IANA registries "DNS CLASSes" and | "rr-type", reflect the IANA registries "DNS CLASSes" and | |||
"Resource Record (RR) TYPEs" <xref target="IANA-DNS-PARAMETERS"/>.</t> | "Resource Record (RR) TYPEs" <xref target="IANA-DNS-PARAMETERS"/>.</t> | |||
<t><xref target="app.xslt"/> contains an XSLT 1.0 stylesheet | <t><xref target="app.xslt"/> contains an XSLT 1.0 stylesheet | |||
that is intended to be used by IANA for generating the initial | that is intended to be used by IANA for generating the initial | |||
revision of the "iana-dns-class-rr-type" YANG | version of the "iana-dns-class-rr-type" YANG | |||
module. Subsequently, whenever a new class or RR type is added | module. Subsequently, whenever a new class or RR type is added | |||
to the above registries, IANA will also update the | to the above registries, IANA will also update the | |||
"iana-dns-class-rr-type" YANG module, following the instructions | "iana-dns-class-rr-type" YANG module, following the instructions | |||
in <xref target="iana"/> below.</t> | in <xref target="iana"/> below.</t> | |||
</section> | </section> | |||
<section anchor="terminology" title="Terminology"> | <section anchor="terminology" title="Terminology"> | |||
<t> | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
"MAY", and "OPTIONAL" in this document are to be interpreted as | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
and only when, they | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
appear in all capitals, as shown here.</t> | 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. | ||||
</t> | ||||
<t>The terminology for describing YANG data models can be found | <t>The terminology for describing YANG data models can be found | |||
in <xref target="RFC7950"/>. DNS terminology used in this | in <xref target="RFC7950"/>. DNS terminology used in this | |||
document can be found in <xref target="RFC1035"/> and <xref target="RFC849 9"/>.</t> | document can be found in <xref target="RFC1035"/> and <xref target="RFC849 9"/>.</t> | |||
</section> | </section> | |||
<section anchor="design" title="YANG Design Considerations"> | <section anchor="design" title="YANG Design Considerations"> | |||
<t>At the time of writing, the IANA document "Domain Name System | <t>At the time of writing, the "Domain Name System | |||
(DNS) Parameters" <xref target="IANA-DNS-PARAMETERS"/> contains | (DNS) Parameters" <xref target="IANA-DNS-PARAMETERS"/> contains | |||
altogether thirteen registries. The YANG module | altogether thirteen registries. The YANG module | |||
"iana-dns-class-rr-type" defines derived types corresponding to | "iana-dns-class-rr-type" defines derived types corresponding to | |||
only two of the registries that are essential for data models | only two of the registries that are essential for data models | |||
involving zone data, namely "DNS CLASSes" and "Resource Record | involving zone data, namely "DNS CLASSes" and "Resource Record | |||
(RR) TYPEs". It is expected that the remaining registries in | (RR) TYPEs". It is expected that the remaining registries in | |||
<xref target="IANA-DNS-PARAMETERS"/>, as well as other | <xref target="IANA-DNS-PARAMETERS"/>, as well as other | |||
DNS-related IANA registries, will be analogously reflected in | DNS-related IANA registries, will be analogously reflected in | |||
future YANG modules as necessary. This way, an appropriate | future YANG modules as necessary. This way, an appropriate | |||
combination of YANG modules can be chosen depending on which | combination of YANG modules can be chosen depending on which | |||
skipping to change at line 151 ¶ | skipping to change at line 151 ¶ | |||
} | } | |||
... | ... | |||
} | } | |||
... | ... | |||
} | } | |||
</sourcecode> | </sourcecode> | |||
<t>The other derived type, "rr-type-name", is defined | <t>The other derived type, "rr-type-name", is defined | |||
similarly.</t> | similarly.</t> | |||
<t><xref target="RFC3597"/> introduced the option of specifying | <t><xref target="RFC3597"/> introduced the option of specifying | |||
a class or RR type via its assigned decimal number, as an | a class or RR type via its assigned decimal number as an | |||
alternative to the mnemonic name. For example, the "IN" class | alternative to the mnemonic name. For example, the "IN" class | |||
can be equivalently written as "CLASS1", and "AAAA" type can be | can be equivalently written as "CLASS1", and "AAAA" type can be | |||
written as "TYPE28".</t> | written as "TYPE28".</t> | |||
<t>Accordingly, the derived types "dns-class" and "rr-type" are | <t>Accordingly, the derived types "dns-class" and "rr-type" are | |||
defined in the YANG module as a union of two member types:</t> | defined in the YANG module as a union of two member types:</t> | |||
<ul> | <ul> | |||
<li>16-bit decimal integer ("uint16")</li> | <li>16-bit decimal integer ("uint16")</li> | |||
<li>mnemonic name belonging to the enumerations | <li>mnemonic name belonging to the enumerations | |||
"dns-class-name" and "rr-type-name", respectively.</li> | "dns-class-name" and "rr-type-name", respectively.</li> | |||
</ul> | </ul> | |||
<t>For instance, the "rr-type" type is defined as follows:</t> | <t>For instance, the "rr-type" type is defined as follows:</t> | |||
<sourcecode type="yang"> | <sourcecode type="yang"> | |||
typedef rr-type { | typedef rr-type { | |||
type union { | type union { | |||
type uint16; | type uint16; | |||
type rr-type-name; | type rr-type-name; | |||
} | } | |||
description | description | |||
"This type allows for referring to a DNS resource record type | "This type allows reference to a DNS resource record type | |||
using either the assigned mnemonic name or numeric value."; | using either the assigned mnemonic name or numeric value."; | |||
} | } | |||
</sourcecode> | </sourcecode> | |||
<t>As unassigned and reserved class and RR type values are not | <t>As unassigned and reserved class and RR type values are not | |||
included in the mnemonic name enumerations, they can only be specified | included in the mnemonic name enumerations, they can only be specified | |||
using their decimal values.</t> | using their decimal values.</t> | |||
</section> | </section> | |||
<section anchor="iana" title="IANA Considerations"> | <section anchor="iana" title="IANA Considerations"> | |||
<t>RFC Editor: In this section, replace all occurrences of "XXXX" | ||||
with the actual RFC number (and remove this note).</t> | ||||
<t>This section deals with actions and processes necessary for | <t>This section deals with actions and processes necessary for | |||
IANA to undertake to maintain the "iana-dns-class-rr-type" YANG | IANA to undertake to maintain the "iana-dns-class-rr-type" YANG | |||
module. This YANG module is intended to reflect the "DNS | module. This YANG module is intended to reflect the "DNS | |||
CLASSes" and "Resource Record (RR) TYPEs" registries in <xref target="IANA -DNS-PARAMETERS"/>. The most recent revision of the | CLASSes" and "Resource Record (RR) TYPEs" registries in <xref target="IANA -DNS-PARAMETERS"/>. The most recent version of the | |||
YANG module is available from the "YANG Parameters" registry <xref target= "IANA-YANG-PARAMETERS"/>.</t> | YANG module is available from the "YANG Parameters" registry <xref target= "IANA-YANG-PARAMETERS"/>.</t> | |||
<t>Upon publication of this document, the initial revision of the | <t>With the publication of this document, IANA has created and posted the | |||
"iana-dns-class-rr-type" YANG module SHALL be created by applying | initial version | |||
the XSLT stylesheet from <xref target="app.xslt"/> to the XML | of the "iana-dns-class-rr-type" YANG module by applying the XSLT stylesheet from | |||
version of <xref target="IANA-DNS-PARAMETERS"/>.</t> | <xref target="app.xslt"/> to the XML version of <xref target="IANA-DNS-PARAMETER | |||
S"/>.</t> | ||||
<t>IANA SHALL add this note to the "iana-dns-class-rr-type" item | <t>IANA has added this note to the "iana-dns-class-rr-type" item | |||
of the "YANG Module Names" registry <xref target="IANA-YANG-PARAMETERS"/>: </t> | of the "YANG Module Names" registry <xref target="IANA-YANG-PARAMETERS"/>: </t> | |||
<blockquote> | <blockquote> | |||
Classes and types of DNS resource records must not be directly | Classes and types of DNS resource records must not be directly | |||
added to the "iana-dns-class-rr-type" YANG module. They must | added to the "iana-dns-class-rr-type" YANG module. They must | |||
instead be added to the "DNS CLASSes" and "Resource Record | instead be added to the "DNS CLASSes" and "Resource Record | |||
(RR) TYPEs" registries, respectively. | (RR) TYPEs" registries, respectively. | |||
</blockquote> | </blockquote> | |||
<t>When a new DNS class or RR type is added to the "DNS CLASSes" | <t>When a new DNS class or RR type is added to the "DNS CLASSes" | |||
or "Resource Record (RR) TYPEs" registry, a new "enum" statement | or "Resource Record (RR) TYPEs" registry, a new "enum" statement | |||
SHALL be added to the "dns-class-name" or "rr-type-name" type, | <bcp14>SHALL</bcp14> be added to the "dns-class-name" or "rr-type-name" ty pe, | |||
respectively. The assigned name defined by the "enum" statement | respectively. The assigned name defined by the "enum" statement | |||
SHALL be the same as the mnemonic name of the new class or | <bcp14>SHALL</bcp14> be the same as the mnemonic name of the new class or | |||
type. The following substatements to the "enum" statement SHALL | type. The following substatements to the "enum" statement <bcp14>SHALL</bc | |||
p14> | ||||
be defined:</t> | be defined:</t> | |||
<dl> | <dl indent="16"> | |||
<dt>"value":</dt> | <dt>"value":</dt> | |||
<dd>Use the decimal value from the registry.</dd> | <dd>Use the decimal value from the registry.</dd> | |||
<dt>"status":</dt> | <dt>"status":</dt> | |||
<dd>Include only if a class or type registration has been | <dd>Include only if a class or type registration has been | |||
deprecated or obsoleted. IANA "deprecated" maps to YANG status | deprecated or obsoleted. IANA "deprecated" maps to YANG status | |||
"deprecated", and IANA "obsolete" maps to YANG status "obsolete".</dd> | "deprecated", and IANA "obsolete" maps to YANG status "obsolete".</dd> | |||
<dt>"description":</dt> | <dt>"description":</dt> | |||
<dd>Replicate the corresponding information from the registry, | <dd>Replicate the corresponding information from the registry, | |||
namely the full name of the new DNS class, or the meaning of | namely the full name of the new DNS class, or the meaning of | |||
the new RR type, if any.</dd> | the new RR type, if any.</dd> | |||
<dt>"reference":</dt> | <dt>"reference":</dt> | |||
<dd>Replicate the reference(s) from the registry.</dd> | <dd>Replicate the reference(s) from the registry.</dd> | |||
</dl> | </dl> | |||
<t>Unassigned or reserved values SHALL NOT be included in the | <t>Unassigned or reserved values <bcp14>SHALL NOT</bcp14> be included in t he | |||
"dns-class-name" and "rr-type-name" enumeration types.</t> | "dns-class-name" and "rr-type-name" enumeration types.</t> | |||
<t>Each time the "iana-dns-class-rr-type" YANG module is updated, a new | <t>Each time the "iana-dns-class-rr-type" YANG module is updated, a new | |||
"revision" statement SHALL be added before the existing | "revision" statement <bcp14>SHALL</bcp14> be added before the existing | |||
"revision" statements.</t> | "revision" statements.</t> | |||
<t>IANA SHALL add this new note to the "DNS CLASSes" and | <t>IANA has added this note to the "DNS CLASSes" and | |||
"Resource Record (RR) TYPEs" registries:</t> | "Resource Record (RR) TYPEs" registries:</t> | |||
<blockquote> | <blockquote> | |||
When this registry is modified, the YANG module | When this registry is modified, the YANG module | |||
"iana-dns-class-rr-type" must be updated as defined in RFC | "iana-dns-class-rr-type" must be updated as defined in [RFC9108]. | |||
XXXX. | ||||
</blockquote> | </blockquote> | |||
<t>The "Reference" text in the "DNS CLASSes" registry SHALL be | <t>The "Reference" text in the "DNS CLASSes" registry has been | |||
updated as follows:</t> | updated as follows:</t> | |||
<blockquote> | ||||
<artwork> | ||||
OLD: | ||||
[RFC6895] | ||||
NEW: | <t> | |||
[RFC6895][RFCXXXX] | OLD:</t> | |||
</artwork> | <blockquote> | |||
</blockquote> | [RFC6895] </blockquote> | |||
<t> | ||||
NEW:</t> | ||||
<blockquote> | ||||
[RFC6895][RFC9108] | ||||
</blockquote> | ||||
<t>The "Reference" text in the "Resource Record (RR) TYPEs" | <t>The "Reference" text in the "Resource Record (RR) TYPEs" | |||
registry SHALL be updated as follows:</t> | registry has been updated as follows:</t> | |||
<t> | ||||
OLD:</t> | ||||
<blockquote> | <blockquote> | |||
<artwork> | [RFC6895][RFC1035] </blockquote> | |||
OLD: | <t> | |||
[RFC6895][RFC1035] | NEW:</t> | |||
<blockquote> | ||||
NEW: | [RFC6895][RFC1035][RFC9108] | |||
[RFC6895][RFC1035][RFCXXXX] | ||||
</artwork> | ||||
</blockquote> | </blockquote> | |||
<section title="URI Registrations"> | <section title="URI Registrations"> | |||
<t>This document registers a URI in the "IETF XML Registry" | <t>This document registers a URI in the "IETF XML Registry" | |||
<xref target="RFC3688"/>. The following registration has been | <xref target="RFC3688"/>. The following registration has been | |||
made:</t> | made:</t> | |||
<blockquote> | <dl spacing="compact"> | |||
<artwork> | <dt>URI:</dt><dd>urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type</dd> | |||
URI: urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type | <dt>Registrant Contact:</dt><dd>The IESG.</dd> | |||
Registrant Contact: The IESG. | <dt>XML:</dt><dd>N/A, the requested URI is an XML namespace.</dd> | |||
XML: N/A, the requested URI is an XML namespace. | </dl> | |||
</artwork> | ||||
</blockquote> | ||||
</section> | </section> | |||
<section title="YANG Module Registrations"> | <section title="YANG Module Registrations"> | |||
<t>This document registers a YANG module in the "YANG Module | <t>This document registers a YANG module in the "YANG Module | |||
Names" registry <xref target="RFC6020"/>. The following | Names" registry <xref target="RFC6020"/>. The following | |||
registration has been made:</t> | registration has been made:</t> | |||
<blockquote> | <dl spacing="compact"> | |||
<artwork> | <dt>Name:</dt><dd>iana-dns-class-rr-type</dd> | |||
name: iana-dns-class-rr-type | <dt>Namespace:</dt><dd>urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type</dd> | |||
namespace: urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type | <dt>Prefix:</dt><dd>dnsct</dd> | |||
prefix: dnsct | <dt>Reference:</dt><dd>RFC 9108</dd> | |||
reference: RFC XXXX | </dl> | |||
</artwork> | ||||
</blockquote> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="security" title="Security Considerations"> | <section anchor="security" title="Security Considerations"> | |||
<t>This document translates two IANA registries into YANG data | <t>This document translates two IANA registries into YANG data | |||
types and otherwise introduces no technology or | types and otherwise introduces no technology or | |||
protocol. The definitions themselves have no security impact on | protocol. The definitions themselves have no security impact on | |||
the Internet, but their use in concrete YANG modules might | the Internet, but their use in concrete YANG modules might | |||
have. The security considerations spelled out in the YANG | have. The security considerations spelled out in the YANG | |||
specification <xref target="RFC7950"/> apply for this document | specification <xref target="RFC7950"/> apply to this document | |||
as well.</t> | as well.</t> | |||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<references> | ||||
<name>References</name> | ||||
<references title="Normative References"> | <references title="Normative References"> | |||
<reference anchor="IANA-DNS-PARAMETERS" target="https://www.iana.org/assig nments/dns-parameters"> | <reference anchor="IANA-DNS-PARAMETERS" target="https://www.iana.org/assig nments/dns-parameters"> | |||
<front> | <front> | |||
<title>Domain Name System (DNS) Parameters</title> | <title>Domain Name System (DNS) Parameters</title> | |||
<author> | <author> | |||
<organization>Internet Assigned Numbers Authority</organization> | <organization>IANA</organization> | |||
</author> | </author> | |||
</front> | </front> | |||
</reference> | </reference> | |||
<reference anchor="IANA-YANG-PARAMETERS" target="https://www.iana.org/assi gnments/yang-parameters"> | <reference anchor="IANA-YANG-PARAMETERS" target="https://www.iana.org/assi gnments/yang-parameters"> | |||
<front> | <front> | |||
<title>YANG Parameters</title> | <title>YANG Parameters</title> | |||
<author> | <author> | |||
<organization>Internet Assigned Numbers Authority</organization> | <organization>IANA</organization> | |||
</author> | </author> | |||
</front> | </front> | |||
</reference> | </reference> | |||
<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. | |||
<front> | xml"/> | |||
<title>Key words for use in RFCs to Indicate Requirement Levels</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3688. | |||
<author initials="S." surname="Bradner" fullname="S. Bradner"><organization/></a | xml"/> | |||
uthor> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6020. | |||
<date year="1997" month="March"/> | xml"/> | |||
<abstract><t>In many standards track documents several words are used to signify | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7950. | |||
the requirements in the specification. These words are often capitalized. This | xml"/> | |||
document defines these words as they should be interpreted in IETF documents. | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. | |||
This document specifies an Internet Best Current Practices for the Internet Comm | xml"/> | |||
unity, 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="RFC3688" target="https://www.rfc-editor.org/info/rfc3688"> | ||||
<front> | ||||
<title>The IETF XML Registry</title> | ||||
<author initials="M." surname="Mealling" fullname="M. Mealling"><organization/>< | ||||
/author> | ||||
<date year="2004" month="January"/> | ||||
<abstract><t>This document describes an IANA maintained registry for IETF standa | ||||
rds which use Extensible Markup Language (XML) related items such as Namespaces, | ||||
Document Type Declarations (DTDs), Schemas, and Resource Description Framework | ||||
(RDF) Schemas.</t></abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="81"/> | ||||
<seriesInfo name="RFC" value="3688"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC3688"/> | ||||
</reference> | ||||
<reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020"> | ||||
<front> | ||||
<title>YANG - A Data Modeling Language for the Network Configuration Protocol (N | ||||
ETCONF)</title> | ||||
<author initials="M." surname="Bjorklund" fullname="M. Bjorklund" role="editor"> | ||||
<organization/></author> | ||||
<date year="2010" month="October"/> | ||||
<abstract><t>YANG is a data modeling language used to model configuration and st | ||||
ate data manipulated by the Network Configuration Protocol (NETCONF), NETCONF re | ||||
mote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t></abstract | ||||
> | ||||
</front> | ||||
<seriesInfo name="RFC" value="6020"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC6020"/> | ||||
</reference> | ||||
<reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950"> | ||||
<front> | ||||
<title>The YANG 1.1 Data Modeling Language</title> | ||||
<author initials="M." surname="Bjorklund" fullname="M. Bjorklund" role="editor"> | ||||
<organization/></author> | ||||
<date year="2016" month="August"/> | ||||
<abstract><t>YANG is a data modeling language used to model configuration data, | ||||
state data, Remote Procedure Calls, and notifications for network management pro | ||||
tocols. This document describes the syntax and semantics of version 1.1 of the | ||||
YANG language. YANG version 1.1 is a maintenance release of the YANG language, | ||||
addressing ambiguities and defects in the original specification. There are a s | ||||
mall number of backward incompatibilities from YANG version 1. This document al | ||||
so specifies the YANG mappings to the Network Configuration Protocol (NETCONF).< | ||||
/t></abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="7950"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC7950"/> | ||||
</reference> | ||||
<reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174"> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title> | ||||
<author initials="B." surname="Leiba" fullname="B. Leiba"><organization/></autho | ||||
r> | ||||
<date year="2017" month="May"/> | ||||
<abstract><t>RFC 2119 specifies common key words that may be used in protocol s | ||||
pecifications. This document aims to reduce the ambiguity by clarifying that on | ||||
ly UPPERCASE usage of the key words have the defined special meanings.</t></abs | ||||
tract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="8174"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
</reference> | ||||
<reference anchor="W3C.REC-xslt-19991116" target="https://www.w3.org/TR/1999/REC -xslt-19991116"> | <reference anchor="W3C.REC-xslt-19991116" target="https://www.w3.org/TR/1999/REC -xslt-19991116"> | |||
<front> | <front> | |||
<title>XSL Transformations (XSLT) Version 1.0</title> | <title>XSL Transformations (XSLT) Version 1.0</title> | |||
<author initials="J." surname="Clark" fullname="James Clark"> | <author initials="J." surname="Clark" fullname="James Clark"> | |||
<organization/> | <organization/> | |||
</author> | </author> | |||
<date month="November" year="1999"/> | ||||
<date month="November" day="16" year="1999"/> | ||||
</front> | </front> | |||
<seriesInfo name="W3C Recommendation" value="REC-xslt-19991116"/> | ||||
<seriesInfo name="World Wide Web Consortium Recommendation" value="REC-xslt-1999 | ||||
1116"/> | ||||
<format type="HTML" target="https://www.w3.org/TR/1999/REC-xslt-19991116"/> | ||||
</reference> | </reference> | |||
</references> | </references> | |||
<references title="Informative References"> | <references title="Informative References"> | |||
<reference anchor="RFC1035" target="https://www.rfc-editor.org/info/rfc1035"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1035. | |||
<front> | xml"/> | |||
<title>Domain names - implementation and specification</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3597. | |||
<author initials="P.V." surname="Mockapetris" fullname="P.V. Mockapetris"><organ | xml"/> | |||
ization/></author> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6241. | |||
<date year="1987" month="November"/> | xml"/> | |||
<abstract><t>This RFC is the revised specification of the protocol and format us | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8040. | |||
ed in the implementation of the Domain Name System. It obsoletes RFC-883. This | xml"/> | |||
memo documents the details of the domain name client - server communication.</t> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8499. | |||
</abstract> | xml"/> | |||
</front> | ||||
<seriesInfo name="STD" value="13"/> | ||||
<seriesInfo name="RFC" value="1035"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC1035"/> | ||||
</reference> | ||||
<reference anchor="RFC3597" target="https://www.rfc-editor.org/info/rfc3597"> | ||||
<front> | ||||
<title>Handling of Unknown DNS Resource Record (RR) Types</title> | ||||
<author initials="A." surname="Gustafsson" fullname="A. Gustafsson"><organizatio | ||||
n/></author> | ||||
<date year="2003" month="September"/> | ||||
<abstract><t>Extending the Domain Name System (DNS) with new Resource Record (RR | ||||
) types currently requires changes to name server software. This document speci | ||||
fies the changes necessary to allow future DNS implementations to handle new RR | ||||
types transparently. [STANDARDS-TRACK]</t></abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="3597"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC3597"/> | ||||
</reference> | ||||
<reference anchor="RFC6241" target="https://www.rfc-editor.org/info/rfc6241"> | ||||
<front> | ||||
<title>Network Configuration Protocol (NETCONF)</title> | ||||
<author initials="R." surname="Enns" fullname="R. Enns" role="editor"><organizat | ||||
ion/></author> | ||||
<author initials="M." surname="Bjorklund" fullname="M. Bjorklund" role="editor"> | ||||
<organization/></author> | ||||
<author initials="J." surname="Schoenwaelder" fullname="J. Schoenwaelder" role=" | ||||
editor"><organization/></author> | ||||
<author initials="A." surname="Bierman" fullname="A. Bierman" role="editor"><org | ||||
anization/></author> | ||||
<date year="2011" month="June"/> | ||||
<abstract><t>The Network Configuration Protocol (NETCONF) defined in this docume | ||||
nt provides mechanisms to install, manipulate, and delete the configuration of n | ||||
etwork devices. It uses an Extensible Markup Language (XML)-based data encoding | ||||
for the configuration data as well as the protocol messages. The NETCONF proto | ||||
col operations are realized as remote procedure calls (RPCs). This document obs | ||||
oletes RFC 4741. [STANDARDS-TRACK]</t></abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="6241"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC6241"/> | ||||
</reference> | ||||
<reference anchor="RFC8040" target="https://www.rfc-editor.org/info/rfc8040"> | ||||
<front> | ||||
<title>RESTCONF Protocol</title> | ||||
<author initials="A." surname="Bierman" fullname="A. Bierman"><organization/></a | ||||
uthor> | ||||
<author initials="M." surname="Bjorklund" fullname="M. Bjorklund"><organization/ | ||||
></author> | ||||
<author initials="K." surname="Watsen" fullname="K. Watsen"><organization/></aut | ||||
hor> | ||||
<date year="2017" month="January"/> | ||||
<abstract><t>This document describes an HTTP-based protocol that provides a prog | ||||
rammatic interface for accessing data defined in YANG, using the datastore conce | ||||
pts defined in the Network Configuration Protocol (NETCONF).</t></abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8040"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8040"/> | ||||
</reference> | ||||
<reference anchor="RFC8499" target="https://www.rfc-editor.org/info/rfc8499"> | ||||
<front> | ||||
<title>DNS Terminology</title> | ||||
<author initials="P." surname="Hoffman" fullname="P. Hoffman"><organization/></a | ||||
uthor> | ||||
<author initials="A." surname="Sullivan" fullname="A. Sullivan"><organization/>< | ||||
/author> | ||||
<author initials="K." surname="Fujiwara" fullname="K. Fujiwara"><organization/>< | ||||
/author> | ||||
<date year="2019" month="January"/> | ||||
<abstract><t>The Domain Name System (DNS) is defined in literally dozens of diff | ||||
erent RFCs. The terminology used by implementers and developers of DNS protocol | ||||
s, and by operators of DNS systems, has sometimes changed in the decades since t | ||||
he DNS was first defined. This document gives current definitions for many of t | ||||
he terms used in the DNS in a single document.</t><t>This document obsoletes RFC | ||||
7719 and updates RFC 2308.</t></abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="219"/> | ||||
<seriesInfo name="RFC" value="8499"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8499"/> | ||||
</reference> | ||||
</references> | </references> | |||
</references> | ||||
<section anchor="app.xslt" title="XSLT Stylesheet"> | <section anchor="app.xslt" title="XSLT Stylesheet"> | |||
<t>RFC Editor: In this section, replace all occurrences of "XXXX" | <t>This appendix contains an XSLT 1.0 stylesheet <xref target="W3C.REC-xsl | |||
with the actual RFC number (and remove this note).</t> | t-19991116"/> that is to be used to | |||
generate the initial revision of the "iana-dns-class-rr-type" | ||||
<t>This appendix contains an XSLT 1.0 stylesheet <xref target="W3C.REC-xsl | ||||
t-19991116"/> that is intended to be used for | ||||
generating the initial revision of the "iana-dns-class-rr-type" | ||||
YANG module. This is achieved by applying the stylesheet to the | YANG module. This is achieved by applying the stylesheet to the | |||
XML version of the IANA registry "Domain Name System (DNS) | XML version of the IANA registry "Domain Name System (DNS) | |||
Parameters" <xref target="IANA-DNS-PARAMETERS"/> that was | Parameters" <xref target="IANA-DNS-PARAMETERS"/> that was | |||
current at the time when this document was published.</t> | current at the time this document was published.</t> | |||
<t>Using the ubiquitous xsltproc tool, the YANG module text can | <t>Using the ubiquitous xsltproc tool, the YANG module text can | |||
be generated with this command:</t> | be generated with this command:</t> | |||
<sourcecode type="bash"> | <sourcecode type="bash"> | |||
$ xsltproc iana-dns-class-rr-type.xsl dns-parameters.xml | $ xsltproc iana-dns-class-rr-type.xsl dns-parameters.xml | |||
</sourcecode> | </sourcecode> | |||
<sourcecode markers="true" name="iana-dns-class-rr-type.xsl" type="xml"> | <sourcecode markers="true" name="iana-dns-class-rr-type.xsl" type="xml"><! | |||
<?xml version="1.0" standalone="yes"?> | [CDATA[ | |||
<stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" | <?xml version="1.0" standalone="yes"?> | |||
<stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" | ||||
xmlns:iana="http://www.iana.org/assignments" | xmlns:iana="http://www.iana.org/assignments" | |||
version="1.0"> | version="1.0"> | |||
<output method="text"/> | <output method="text"/> | |||
<strip-space elements="*"/> | <strip-space elements="*"/> | |||
<variable name="dq">"</variable> | <variable name="dq">"</variable> | |||
<variable name="sq">'</variable> | <variable name="sq">'</variable> | |||
<variable name="module-intro"> | <variable name="module-intro"> | |||
<text>module iana-dns-class-rr-type { | <text>module iana-dns-class-rr-type { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace | namespace | |||
"urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type"; | "urn:ietf:params:xml:ns:yang:iana-dns-class-rr-type"; | |||
prefix dnsct; | prefix dnsct; | |||
organization | organization | |||
"Internet Assigned Numbers Authority (IANA)"; | "Internet Assigned Numbers Authority (IANA)"; | |||
contact | contact | |||
" Internet Assigned Numbers Authority | " Internet Assigned Numbers Authority | |||
Postal: ICANN | Postal: ICANN | |||
4676 Admiralty Way, Suite 330 | 12025 Waterfront Drive, Suite 300 | |||
Marina del Rey, CA 90292 | Los Angeles, CA 90094 | |||
Tel: +1 310 823 9358 | Tel: +1 424 254 5300 | |||
&lt;mailto:iana@iana.org&gt;"; | <mailto:iana@iana.org&gt;"; | |||
description | description | |||
"This YANG module translates IANA registries 'DNS CLASSes' and | "This YANG module translates IANA registries 'DNS CLASSes' and | |||
'Resource Record (RR) TYPEs' to YANG derived types. | 'Resource Record (RR) TYPEs' to YANG-derived types. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject to | without modification, is permitted pursuant to, and subject to | |||
the license terms contained in, the Simplified BSD License set | the license terms contained in, the Simplified BSD License set | |||
forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
This initial version of this YANG module was generated from | This version of this YANG module was generated from | |||
the corresponding IANA registries using an XSLT stylesheet | the corresponding IANA registries using an XSLT stylesheet | |||
from Appendix A of RFC XXXX | from Appendix A of RFC 9108 | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | (https://www.rfc-editor.org/info/rfc9108); see the RFC itself | |||
for full legal notices."; | for full legal notices."; | |||
reference | reference | |||
"IANA 'Domain Name System (DNS) Parameters' registry | "IANA 'Domain Name System (DNS) Parameters' registry | |||
https://www.iana.org/assignments/dns-parameters";</text> | https://www.iana.org/assignments/dns-parameters";</text> | |||
<text>&#xA;&#xA;</text> | <text>

</text> | |||
</variable> | </variable> | |||
<template name="enum"> | <template name="enum"> | |||
<param name="id"/> | <param name="id"/> | |||
<value-of select="concat(' enum ', $id)"/> | <value-of select="concat(' enum ', $id)"/> | |||
<text> {&#xA; value </text> | <text> {
 value </text> | |||
<value-of select="concat(iana:value, ';&#xA;')"/> | <value-of select="concat(iana:value, ';
')"/> | |||
<if test="contains(iana:description, 'OBSOLETE')"> | <if test="contains(iana:description, 'OBSOLETE')"> | |||
<text> status obsolete;&#xA;</text> | <text> status obsolete;
</text> | |||
</if> | </if> | |||
<apply-templates select="iana:description"/> | <apply-templates select="iana:description"/> | |||
<variable name="xrefs" select="iana:xref[@type!='note']"/> | <variable name="xrefs" select="iana:xref[@type!='note']"/> | |||
<if test="$xrefs"> | <if test="$xrefs"> | |||
<text> reference&#xA; "</text> | <text> reference
 "</text> | |||
<if test="count($xrefs)&gt;1">- </if> | <if test="count($xrefs)>1">- </if> | |||
<apply-templates select="iana:xref[@type!='note']"/> | <apply-templates select="iana:xref[@type!='note']"/> | |||
</if> | </if> | |||
<text> }&#xA;</text> | <text> }
</text> | |||
</template> | </template> | |||
<template match="/"> | <template match="/"> | |||
<value-of select="$module-intro"/> | <value-of select="$module-intro"/> | |||
<apply-templates select="iana:registry[@id='dns-parameters']"/> | <apply-templates select="iana:registry[@id='dns-parameters']"/> | |||
<text>}&#xA;</text> | <text>}
</text> | |||
</template> | </template> | |||
<template match="iana:registry[@id='dns-parameters']"> | <template match="iana:registry[@id='dns-parameters']"> | |||
<apply-templates select="iana:updated"/> | <apply-templates select="iana:updated"/> | |||
<apply-templates | <apply-templates | |||
select="iana:registry[@id='dns-parameters-2']"/> | select="iana:registry[@id='dns-parameters-2']"/> | |||
<apply-templates | <apply-templates | |||
select="iana:registry[@id='dns-parameters-4']"/> | select="iana:registry[@id='dns-parameters-4']"/> | |||
</template> | </template> | |||
<template match="iana:updated"> | <template match="iana:updated"> | |||
<value-of select="concat(' revision ', ., ' {')"/> | <value-of select="concat(' revision ', ., ' {')"/> | |||
<text> | <text> | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
"RFC XXXX: YANG Types for DNS Classes and Resource Record | "RFC 9108: YANG Types for DNS Classes and Resource Record | |||
Types"; | Types"; | |||
} | } | |||
/* Typedefs */&#xA;&#xA;</text> | /* Typedefs */

</text> | |||
</template> | </template> | |||
<template match="iana:registry[@id='dns-parameters-2']"> | <template match="iana:registry[@id='dns-parameters-2']"> | |||
<text> typedef dns-class-name {&#xA;</text> | <text> typedef dns-class-name {
</text> | |||
<text> type enumeration {&#xA;</text> | <text> type enumeration {
</text> | |||
<apply-templates | <apply-templates | |||
select="iana:record[not(iana:description='Unassigned' or | select="iana:record[not(iana:description='Unassigned' or | |||
starts-with(iana:description,'Reserved'))]" | starts-with(iana:description,'Reserved'))]" | |||
mode="class"/> | mode="class"/> | |||
<text> } | <text> } | |||
description | description | |||
"This enumeration type defines mnemonic names and corresponding | "This enumeration type defines mnemonic names and corresponding | |||
numeric values of DNS classes."; | numeric values of DNS classes."; | |||
reference | reference | |||
"RFC 6895: Domain Name System (DNS) IANA Considerations"; | "RFC 6895: Domain Name System (DNS) IANA Considerations"; | |||
} | } | |||
typedef dns-class { | typedef dns-class { | |||
type union { | type union { | |||
type uint16; | type uint16; | |||
type dns-class-name; | type dns-class-name; | |||
} | } | |||
description | description | |||
"This type allows for referring to a DNS class using either the | "This type allows reference to a DNS class using either the | |||
assigned mnemonic name or numeric value."; | assigned mnemonic name or numeric value."; | |||
}&#xA;&#xA;</text> | }

</text> | |||
</template> | </template> | |||
<template match="iana:registry[@id='dns-parameters-4']"> | <template match="iana:registry[@id='dns-parameters-4']"> | |||
<text> typedef rr-type-name {&#xA;</text> | <text> typedef rr-type-name {
</text> | |||
<text> type enumeration {&#xA;</text> | <text> type enumeration {
</text> | |||
<apply-templates | <apply-templates | |||
select="iana:record[iana:type!='Unassigned' and | select="iana:record[iana:type!='Unassigned' and | |||
iana:type!='Private use' and iana:type!='Reserved']" | iana:type!='Private use' and iana:type!='Reserved']" | |||
mode="rr-type"/> | mode="rr-type"/> | |||
<text> } | <text> } | |||
description | description | |||
"This enumeration type defines mnemonic names and corresponding | "This enumeration type defines mnemonic names and corresponding | |||
numeric values of DNS resource record types."; | numeric values of DNS resource record types."; | |||
reference | reference | |||
"- RFC 6895: Domain Name System (DNS) IANA Considerations | "- RFC 6895: Domain Name System (DNS) IANA Considerations | |||
- RFC 1035: Domain Names - Implementation and Specification"; | - RFC 1035: Domain names - implementation and specification"; | |||
} | } | |||
typedef rr-type { | typedef rr-type { | |||
type union { | type union { | |||
type uint16; | type uint16; | |||
type rr-type-name; | type rr-type-name; | |||
} | } | |||
description | description | |||
"This type allows for referring to a DNS resource record type | "This type allows reference to a DNS resource record type | |||
using either the assigned mnemonic name or numeric value."; | using either the assigned mnemonic name or numeric value."; | |||
}&#xA;</text> | }
</text> | |||
</template> | </template> | |||
<template match="iana:record" mode="class"> | <template match="iana:record" mode="class"> | |||
<call-template name="enum"> | <call-template name="enum"> | |||
<with-param name="id"> | <with-param name="id"> | |||
<choose> | <choose> | |||
<when test="contains(iana:description,'(')"> | <when test="contains(iana:description,'(')"> | |||
<value-of select="substring-before(substring-after( | <value-of select="substring-before(substring-after( | |||
iana:description, '('), ')')"/> | iana:description, '('), ')')"/> | |||
</when> | </when> | |||
<otherwise> | <otherwise> | |||
<value-of | <value-of | |||
select="substring-after(iana:description, ' ')"/> | select="substring-after(iana:description, ' ')"/> | |||
</otherwise> | </otherwise> | |||
</choose> | </choose> | |||
</with-param> | </with-param> | |||
</call-template> | </call-template> | |||
</template> | </template> | |||
<template match="iana:record" mode="rr-type"> | <template match="iana:record" mode="rr-type"> | |||
<call-template name="enum"> | <call-template name="enum"> | |||
<with-param name="id" select="iana:type"/> | <with-param name="id" select="iana:type"/> | |||
</call-template> | </call-template> | |||
</template> | </template> | |||
<template match="iana:description"> | <template match="iana:description"> | |||
<text> description&#xA; </text> | <text> description
 </text> | |||
<value-of select="concat($dq, ., $dq, ';&#xA;')"/> | <value-of select="concat($dq, ., $dq, ';
')"/> | |||
</template> | </template> | |||
<template match="iana:xref"> | <template match="iana:xref"> | |||
<choose> | <choose> | |||
<when test="@type='rfc'"> | <when test="@type='rfc'"> | |||
<value-of | <value-of | |||
select="concat('RFC ', substring-after(@data, 'rfc'))"/> | select="concat('RFC ', substring-after(@data, 'rfc'))"/> | |||
</when> | </when> | |||
<when test="@type='person'"> | <when test="@type='person'"> | |||
<apply-templates | <apply-templates | |||
select="/iana:registry/iana:people/iana:person[ | select="/iana:registry/iana:people/iana:person[ | |||
@id=current()/@data]"/> | @id=current()/@data]"/> | |||
</when> | </when> | |||
<when test="@type='text'"> | <when test="@type='text'"> | |||
<value-of select="translate(., $dq, $sq)"/> | <value-of select="translate(., $dq, $sq)"/> | |||
</when> | </when> | |||
<otherwise> | <otherwise> | |||
<value-of select="@data"/> | <value-of select="@data"/> | |||
</otherwise> | </otherwise> | |||
</choose> | </choose> | |||
<choose> | <choose> | |||
<when test="position()=last()"> | <when test="position()=last()"> | |||
<text>";&#xA;</text> | <text>";
</text> | |||
</when> | </when> | |||
<otherwise> | <otherwise> | |||
<text>&#xA; - </text> | <text>
 - </text> | |||
</otherwise> | </otherwise> | |||
</choose> | </choose> | |||
</template> | </template> | |||
<template match="iana:person"> | <template match="iana:person"> | |||
<value-of select="concat(iana:name, ' &lt;', iana:uri, '&gt;')"/& | <value-of select="concat(iana:name, ' <', iana:uri, '>')"/> | |||
gt; | </template> | |||
</template> | ||||
</stylesheet> | </stylesheet> | |||
</sourcecode> | ]]></sourcecode> | |||
</section> | </section> | |||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 81 change blocks. | ||||
411 lines changed or deleted | 246 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |