Internet DRAFT - draft-otis-newtrk-rfc-set
draft-otis-newtrk-rfc-set
newtrk D. Otis
Internet-Draft Trend Micro
Expires: April 14, 2006 J. Leslie
JLC.net
October 11, 2005
XML structure for Set of RFC Descriptors
draft-otis-newtrk-rfc-set-02
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 14, 2006.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document introduces a new document series called Set of RFC
Documents (SRDs). SRDs will be distinguished by names and serial
numbers. SRDs contain Extensible Markup Language (XML) which can
automatically produce HTML and plaintext versions for human
consumption
With many RFC being updated, this creates difficulty when determining
Otis & Leslie Expires April 14, 2006 [Page 1]
Internet-Draft SRD October 2005
which RFCs are necessary as references when implementing or using
protocols. Grouping RFC into sets that embody a specific endeavour
would permit stable references for those interested in discovering
related details. The SRD name may also serve as a reference for
topical information stored in a database that is made available.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. SRD Identification and References . . . . . . . . . . . . . 3
3. SRD Development . . . . . . . . . . . . . . . . . . . . . . 3
4. XML Conversion Considerations . . . . . . . . . . . . . . . 4
5. The srd element . . . . . . . . . . . . . . . . . . . . . . 5
6. The srdref element . . . . . . . . . . . . . . . . . . . . . 6
7. The title element . . . . . . . . . . . . . . . . . . . . . 6
8. The description element . . . . . . . . . . . . . . . . . . 7
9. The srdDate element . . . . . . . . . . . . . . . . . . . . 7
10. The core element . . . . . . . . . . . . . . . . . . . . . . 7
11. The extensions element . . . . . . . . . . . . . . . . . . . 7
12. The guidance element . . . . . . . . . . . . . . . . . . . . 8
13. The replaces element . . . . . . . . . . . . . . . . . . . . 8
14. The experimental element . . . . . . . . . . . . . . . . . . 8
15. The companion element . . . . . . . . . . . . . . . . . . . 8
16. IANA Considerations . . . . . . . . . . . . . . . . . . . . 9
17. Security Considerations . . . . . . . . . . . . . . . . . . 9
18. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
18.1 Normative References . . . . . . . . . . . . . . . . . . 9
18.2 Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 10
A. The SRD DTD . . . . . . . . . . . . . . . . . . . . . . . . 10
B. Example SRD XSLT . . . . . . . . . . . . . . . . . . . . . . 12
C. Example HTML output . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . 19
Otis & Leslie Expires April 14, 2006 [Page 2]
Internet-Draft SRD October 2005
1. Introduction
It is becoming increasingly difficult to determine which RFCs are
necessary as references when implementing or using protocols. The
STD series defined in [RFC1311] is a guide, but often fails to list
all the necessary RFCs. The Maturity Levels defined in [RFC2026] are
increasingly confusing the picture by the need to update higher
maturity documents with lower maturity revisions. It is hoped that
by providing a coherent organization using sets of documents, along
with relevant inter-operational information contained within a
separate database, an easier-to-use alternative can be introduced.
If this SRD strategy proves untenable or unuseful, it can be dropped,
as it makes no other changes to current procedures.
This document proposes developing an Extensible Markup Language (XML)
structure to define a set of RFCs related to a specific endeavour.
The set SHOULD NOT encompass diverse applications which utilize a
broad range of separable functions. The intent of this document is
to provide an optimal means for locating relevant information made
increasingly difficult by a growing number or RFCs, updates, and
corrections. The eventual expectation might be that any RFC not
found within some SRD is not relevant to any current endeavour.
2. SRD Identification and References
This document proposes a new document series called Set of RFC
Documents ("SRD"). These documents contain Extensible Markup
Language [W3C.REC-xml-20040204] structures used for generating
outputs such as HTML, RSS, and plain-text outputs that link together
the related RFCs. The SRD documents would be managed under the
direction of the IESG, which may also establish procedures for
updating the relevant topical information stored in a database that
might also include overview of the RFC Editor's Errata database.
The SRD is identified by a combination of name and number in the form
of {srd-name.serial-number}. The name for each SRD is unique. Any
references to an SRD within an SRD MUST include the serial-number.
The initial SRD document serial-number starts at 0. As a general
rule, when an HTML or database link excludes the serial, version, or
iteration number, through the use of scripts, it will automatically
reference the current document. This auto-generated link is to
simplify link maintenance and to stabilize the SRD structures.
3. SRD Development
This document also proposes a version of the SRDs be used in the
initial development process, to allow an overview of Work-In-Progess,
WIP, which may involve an extended work and approval time period.
Otis & Leslie Expires April 14, 2006 [Page 3]
Internet-Draft SRD October 2005
The WIP SRD is identified by a prefix added which does not interfere
with automatic linking. The prefix used for an SRD, while it is
being modified, would be:
{'X'<iteration-number>'-'<group-identifier>'-'}
The group-identifier is an alpha-numeric string that represents a
group identifier or possibly the name of an individual. If this
document was modifying {foobar.1} by the working group 'newtrk', the
first iteration would be:
X0-newtrk-foobar.1
When the document becomes accepted at some point, it would become
{foobar.2}. The group identifier permits simultaneous WIP SRD
documents to be pending for approval.
Normally, an SRD is not allowed to reference an Internet-Draft, but
there would be an exception made for a WIP SRD. The WIP SRD can not
receive approval until all referenced Internet-Drafts have also been
accepted and replaced as RFCs.
During the introduction of SRDs, inclusion of a WIP SRD with an I-D
submission is optional. The IESG should provide for a person to
review necessary changes to SRDs. By default, this might be the
appropriate Area Director. At some point, inclusion of the WIP SRD
could be mandated by the IESG. The Area Director would then ensure
the WIP version of all affected SRD documents accompany an Internet-
Draft submitted to the Area Director for IESG action. The WIP SRD
and the Internet-Draft would be considered together through all
review stages. Of course, all referenced Internet-Draft acceptance
MUST precede WIP SRD acceptance.
4. XML Conversion Considerations
XML and XSLT structures are used to create HTML, RSS, and Plain-Text
outputs for establishing stable hyper-link references. When there
are empty or missing elements within the SRD document, those elements
would be excluded from the HTML page as well. The intent is to
ensure a minimum amount of information is presented. To selectively
include the Errata Database links, the related pages would then need
to be regenerated when Errata is subsequently established for an RFC.
Writing an SRD document from scratch would follow a process similar
to that described in [RFC2629] for use of the XML-to-RFC tool. The
SRD XML declaration begins with a reference to the DTD, XSLT
[W3C.REC-xslt-19991116], processing options, and the "srd" element:
Otis & Leslie Expires April 14, 2006 [Page 4]
Internet-Draft SRD October 2005
<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE srd SYSTEM "rfcxxxx.dtd" >
<?xml-stylesheet type='text/xsl'href='rfcxxxx.xslt' ?>
<?srd sortrefs="yes" ?>
<?srd strict="yes" ?>
<srd ... >
...
</srd>
The lines preceding the <srd ...> should be the same for all SRDs and
nothing should follow the ending "</srd>" tag. Make sure that all
elements are properly matched and nested.
5. The srd element
The "set" attribute included within the "<srd ...>" tag at the
beginning of the document determines the name and serial number of
the SRD output. If a "wip" attribute is included, this produces a
WIP SRD that may include references to Internet-Drafts. When this
"wip" attribute is removed and the serial number is advanced, a final
SRD document is then produced. Although SRD serial numbers start at
the value of 0, approved SRDs serial numbers will be 1 or greater.
Example of srd attributes declaring both base document and the group
making changes:
<srd set="foobar.2" wip="0-newtrk">
The "set" attribute MUST be present and indicates both the set name
and version. The "wip" attribute is optional, and specifies both the
WIP iteration and the name of the group or person making a change.
The srd information includes a sequence of elements being the title,
description, srdDate, core, extensions, guidance, replaces,
experimental, and companion. The topical information database may
provide a reference to an accountable entity for the SRD, where this
is not included within the srd itself.
Otis & Leslie Expires April 14, 2006 [Page 5]
Internet-Draft SRD October 2005
Example of srd content:
<title>Example SRD Title</title>
<description>XML structure for example SRDs.</description>
<srdDate>2005-07-16</srdDate>
<core>
<srdref dt="RFC" dd="9876"/>
<srdref dt="RFC" dd="9875"/>
</core>
<extensions>
<srdref dt="RFC" dd="9912"/>
</extensions>
<guidance>
<srdref dt="RFC" dd="9915"/>
</guidance>
<replaces>
<srdref dt="RFC" dd="9811"/>
</replaces>
<experimental>
<srdref dt="RFC" dd="9837"/>
</experimental>
<companion>
<srdref dt="SRD" dd="example.1"/>
</companion>
6. The srdref element
The srdref element is empty, but includes reference attributes that
take the form:
<srdref dt="Document Type" dd="Document Designator"/>
The Document Types are RFC, I-D, and SRD for RFCs, Internet-drafts
and SRDs respectively.
7. The title element
<title>
Title describes the entire RFC set.
</title>
The title element represents the title for the entire SRD set. This
supplements the simple label defined by the "set=" attribute which is
used as the set reference. This element MUST be present.
Otis & Leslie Expires April 14, 2006 [Page 6]
Internet-Draft SRD October 2005
8. The description element
<description>
Description more fully describes the entire RFC set.
</description>
The description should be no more than a few sentences describing the
SRD. This element MUST be present.
9. The srdDate element
<srdDate>
YYYY-MM-DD
</srdDate>
The srdDate element provides the date when the SRD was published.
The format for the date is specified as a complete date as specified
in Date and Time Formats [W3C.NOTE-datetime-19980827]. The 'YYYY'
represents the year. The 'MM' represents the numeric month. The
'DD' represents the numeric day. This element MUST be present.
10. The core element
<core>
<srdref dt="RFC" dd="9876"/>
<srdref dt="RFC" dd="9875"/>
</core>
The core element contains srdref elements that reference RFCs or I-Ds
that encompass the definitions related to a specific endeavour. This
element MUST be present and MUST include srdref elements. For WIP
SRDs, a reference to an Internet-Draft would take the form:
<srdref dt="I-D" dd="housley-binarytime"/>
11. The extensions element
<extensions>
<srdref dt="RFC" dd="9912"/>
</extensions>
The extensions element contains srdref elements that reference RFCs
or I-Ds that encompass the definitions of optional enhancements to
the basic definitions. Extension RFCs do not describe a separate
endeavour, but are not an essential component of the endeavour
encompassed by the SRD. This element should not be present unless
srdref elements are included.
Otis & Leslie Expires April 14, 2006 [Page 7]
Internet-Draft SRD October 2005
12. The guidance element
<guidance>
<srdref dt="RFC" dd="9815"/>
</guidance>
The guidance element contains srdref elements that reference RFCs or
I-Ds that encompass the definitions of advice related to the
deployment of the RFCs within the set. This element should not be
present unless srdref elements are included.
13. The replaces element
<replaces>
<srdref dt="RFC" dd="9811"/>
</replaces>
The replaces element contains srdref elements that reference RFCs,
I-Ds, or SRDs that encompass the definitions that have been updated
or obsoleted and are no longer directly relevant except as a
reference to the prior definitions. This element should not be
present unless srdref elements are included.
14. The experimental element
<experimental>
<srdref dt="RFC" dd="9811"/>
</experimental>
The experimental element contains srdref elements that reference RFCs
or I-Ds that encompass the definitions which are deemed experimental
and relate to either core or extension RFCs. This element should not
be present unless srdref elements are included.
15. The companion element
<companion>
<srdref dt="SRD" dd="srd-example.1"/>
</companion>
The companion element contains srdref elements that reference SRDs
that encompass closely related endeavours, but which are not needed
by other elements of the SRD. The intent of the companion element is
to assist those attempting to locate definitions for a comprehensive
application which typically includes these closely related
endeavours. This element should not be present unless srdref
elements are included.
Otis & Leslie Expires April 14, 2006 [Page 8]
Internet-Draft SRD October 2005
16. IANA Considerations
There are no IANA considerations in this draft.
17. Security Considerations
This document specifies an administrative procedure for the IETF and
hence does not raise any new issues about the security of the
Internet. However, the availability of the type of document
described here may provide a convenient mechanism and repository of
vulnerabilities and other issues that are discovered after RFCs are
issued, but that do not justify updating (or for which resources are
not available to update) the relevant RFC. Having an obvious place
to look for those notifications and discussions for relevant
documents might enhance overall security somewhat.
18. References
18.1 Normative References
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999.
[W3C.NOTE-datetime-19980827]
Wolf, M. and C. Wicksteed, "Date and Time Formats", W3C
NOTE NOTE-datetime-19980827, August 1998.
[W3C.REC-xml-20040204]
Yergeau, F., Paoli, J., Sperberg-McQueen, C., Bray, T.,
and E. Maler, "Extensible Markup Language (XML) 1.0 (Third
Edition)", W3C REC REC-xml-20040204, February 2004.
[W3C.REC-xslt-19991116]
Clark, J., "XSL Transformations (XSLT) Version 1.0", W3C
REC REC-xslt-19991116, November 1999.
18.2 Informative References
[RFC1311] Postel, J., "Introduction to the STD Notes", RFC 1311,
March 1992.
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, October 1996.
Otis & Leslie Expires April 14, 2006 [Page 9]
Internet-Draft SRD October 2005
Authors' Addresses
Douglas Otis
Trend Micro
1737 North First Street, Suite 680
San Jose, CA 95112
USA
Phone: +1.408.453.6277
Email: doug_otis@trendmicro.com
John Leslie
JLC.net
10 Souhegan Street
Milford, NH 03055
USA
Phone: +1.603.673.6132
Email: john@jlc.net
Appendix A. The SRD DTD
<!-- DTD for SRD document series, draft-otis-newtrk-rfc-set-02 -->
<!-- Copyright (C) The Internet Society (2005). This document is
subject to the rights, licenses and restrictions contained
in BCP 78.
-->
<!--
DTD data types:
entity description
====== ===============================================
DATE numeric hyphen-separated YYYY-MM-DD
ATEXT attribute line of text (no line-terminators)
TEXT displayed character data
-->
<!ENTITY % DATE "#PCDATA">
<!ENTITY % ATEXT "CDATA">
<!ENTITY % TEXT "#PCDATA">
<!--
The "set" attribute for the "srd" element is
"srd-document.serial-number" where the serial-number is advanced
when accepted, where the "wip" attribute is then removed. The "set"
Otis & Leslie Expires April 14, 2006 [Page 10]
Internet-Draft SRD October 2005
attribute should only reference an approved SRD document or have a
zero serial-number. The "wip" attribute is provided by the author
in the form "<iteration-number>-<group-identifier>" where the 'X'
wip prefix and the '-' wip suffix is added by the scripts.
-->
<!ELEMENT srd (title,description,srdDate,core,extensions?,
guidance?,replaces?,experimental?,companion?)>
<!ATTLIST srd
set %ATEXT; #REQUIRED
wip %ATEXT; ""
>
<!ELEMENT title (%TEXT;)>
<!ELEMENT description (%TEXT;)>
<!ELEMENT srdDate (%DATE;)>
<!ELEMENT srdref EMPTY>
<!ATTLIST srdref
dt %ATEXT; #REQUIRED
dd %ATEXT; #REQUIRED
>
<!ELEMENT core (srdref)+>
<!ELEMENT extensions (srdref)+>
<!ELEMENT guidance (srdref)+>
<!ELEMENT replaces (srdref)+>
<!ELEMENT experimental (srdref)+>
<!ELEMENT companion (srdref)+>
Otis & Leslie Expires April 14, 2006 [Page 11]
Internet-Draft SRD October 2005
Appendix B. Example SRD XSLT
<!-- draft-otis-newtrk-rfc-set-02
srd XSLT transformation to HTML
-->
<!-- Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and
restrictions contained in BCP 78.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html"/>
<!--style similar to rfc2629.xslt by Julian F. Reschke -->
<xsl:template name="srd-style">
body {color: #000000; font-family: helvetica, arial,
sans-serif; font-size: 12pt;}
h1 {color: #333333; font-size: 14pt; line-height: 21pt;
font-family: helvetica, arial, sans-serif;
page-break-after: avoid;}
h2 {color: #000000; font-size: 12pt; line-height: 15pt;
font-family: helvetica, arial, sans-serif;
page-break-after: avoid;}
p {margin-left: 2em; margin-right: 2em;}
.error {font-size: 14pt; background-color: red;}
.title {color: #990000; font-size: 18pt; line-height: 18pt;
font-weight: bold; text-align: left;}
.filename {color: #333333; font-weight: bold; font-size: 12pt;
line-height: 21pt; text-align: left;}
</xsl:template>
<!-- url prefix for references -->
<xsl:param name="url-prefix-rfc"
select="'http://www.ietf.org/rfc/rfc'"/>
<xsl:param name="url-prefix-i-d"
select="'http://www.ietf.org/internet-drafts/draft-'"/>
<xsl:param name="url-prefix-srd"
select="'http://www.ietf.org/srd/srd-'"/>
<xsl:param name="url-prefix-errata"
select="'http://www.rfc-editor.org/cgi-bin/errata.pl#rfc'"/>
<!-- path for xml references -->
<xsl:param name="xml-refs-rfc"
select="'references/rfc/reference.RFC.'"/>
<xsl:param name="xml-refs-i-d"
select="'references/i-d/reference.I-D.'"/>
<xsl:param name="xml-refs-srd"
select="'references/srd/reference.SRD.'"/>
<!-- page title -->
<xsl:param name="srd-title" select="normalize-space(/srd/title)"/>
<!-- set name elements -->
Otis & Leslie Expires April 14, 2006 [Page 12]
Internet-Draft SRD October 2005
<xsl:param name="srd-set" select="normalize-space(/srd/@set)"/>
<xsl:param name="srd-wip" select="normalize-space(/srd/@wip)"/>
<!-- set wip name -->
<xsl:param name="srd-wip-name" select="concat('X', $srd-wip,
'-', $srd-set)"/>
<xsl:param name="srd-date" select="normalize-space(/srd/srdDate)"/>
<!-- PI delimiters -->
<xsl:variable name="pi-delim">"'</xsl:variable>
<!-- p i for sorting <?srd sortrefs ="yes" ?> -->
<xsl:param name="sort-refs" select="substring-after(
translate(/processing-instruction('srd')
[contains(.,'sortrefs=')],
concat($pi-delim,' '), ''), 'sortrefs=')"/>
<!-- p i for strict <?srd strict ="yes" ?> -->
<xsl:param name="srd-strict" select="substring-after(
translate(/processing-instruction('srd')[contains(.,'strict=')],
concat($pi-delim,' '), ''), 'strict=')"/>
<!-- Template for root element -->
<xsl:template match="srd">
<html lang="en">
<head>
<title>
<xsl:value-of select="$srd-title"/>
</title>
<style type="text/css" title="srd style">
<xsl:call-template name="srd-style"/>
</style>
</head>
<body>
<h1 class="title">
<xsl:if test="$srd-wip=''">
<xsl:value-of select="$srd-title"
/><br/>SRD:[<xsl:value-of
select="concat($srd-set,'] ',$srd-date)"/>
</xsl:if>
<xsl:if test="$srd-wip!=''">
<xsl:value-of select="$srd-title"
/><br/>SRD:[<xsl:value-of
select="concat($srd-wip-name,'] ',$srd-date)"
/>
</xsl:if>
</h1>
<h2>
<xsl:value-of select="normalize-space(/srd/description)"/>
</h2>
<xsl:if test="$sort-refs='yes'">
<!-- sorted references -->
<xsl:call-template name="core"/>
Otis & Leslie Expires April 14, 2006 [Page 13]
Internet-Draft SRD October 2005
<xsl:for-each select="/srd/core/srdref">
<xsl:sort select="@dt" data-type="text"
order="descending"/>
<xsl:sort select="@dd" data-type="text"
order="ascending"/>
<xsl:call-template name="srdref"/>
</xsl:for-each>
<xsl:if test="/srd/extensions">
<xsl:call-template name="extensions"/>
<xsl:for-each select="/srd/extensions/srdref">
<xsl:sort select="@dt" data-type="text"
order="descending"/>
<xsl:sort select="@dd" data-type="text"
order="ascending"/>
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="/srd/guidance">
<xsl:call-template name="guidance"/>
<xsl:for-each select="/srd/guidance/srdref">
<xsl:sort select="@dt" data-type="text"
order="descending"/>
<xsl:sort select="@dd" data-type="text"
order="ascending"/>
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="/srd/replaces">
<xsl:call-template name="replaces"/>
<xsl:for-each select="/srd/replaces/srdref">
<xsl:sort select="@dt" data-type="text"
order="descending"/>
<xsl:sort select="@dd" data-type="text"
order="ascending"/>
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="/srd/experimental">
<xsl:call-template name="experimental"/>
<xsl:for-each select="/srd/experimental/srdref">
<xsl:sort select="@dt" data-type="text"
order="descending"/>
<xsl:sort select="@dd" data-type="text"
order="ascending"/>
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="/srd/companion">
Otis & Leslie Expires April 14, 2006 [Page 14]
Internet-Draft SRD October 2005
<xsl:call-template name="companion"/>
<xsl:for-each select="/srd/companion/srdref">
<xsl:sort select="@dt" data-type="text"
order="descending"/>
<xsl:sort select="@dd" data-type="text"
order="ascending"/>
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
</xsl:if>
<xsl:if test="$sort-refs!='yes'">
<!-- unsorted references -->
<xsl:call-template name="core"/>
<xsl:for-each select="/srd/core/srdref">
<xsl:call-template name="srdref"/>
</xsl:for-each>
<xsl:if test="/srd/extensions">
<xsl:call-template name="extensions"/>
<xsl:for-each select="/srd/extensions/srdref">
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="/srd/guidance">
<xsl:call-template name="guidance"/>
<xsl:for-each select="/srd/guidance/srdref">
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="/srd/replaces">
<xsl:call-template name="replaces"/>
<xsl:for-each select="/srd/replaces/srdref">
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="/srd/experimental">
<xsl:call-template name="experimental"/>
<xsl:for-each select="/srd/experimental/srdref">
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="/srd/companion">
<xsl:call-template name="companion"/>
<xsl:for-each select="/srd/companion/srdref">
<xsl:call-template name="srdref"/>
</xsl:for-each>
</xsl:if>
</xsl:if>
</body>
Otis & Leslie Expires April 14, 2006 [Page 15]
Internet-Draft SRD October 2005
</html>
</xsl:template>
<xsl:template name="core">
<h2>Core</h2>
</xsl:template>
<xsl:template name="extensions">
<h2>Extensions</h2>
</xsl:template>
<xsl:template name="guidance">
<h2>Guidance</h2>
</xsl:template>
<xsl:template name="replaces">
<h2>Replaces</h2>
</xsl:template>
<xsl:template name="experimental">
<h2>Experimental</h2>
</xsl:template>
<xsl:template name="companion">
<h2>Companion</h2>
</xsl:template>
<xsl:template name="srdref">
<xsl:variable name="d-type" select="normalize-space(@dt)"/>
<xsl:variable name="d-des" select="normalize-space(@dd)"/>
<xsl:variable name="rfc-ref" select="concat($xml-refs-rfc,
@dd, '.xml')"/>
<xsl:variable name="i-d-ref" select="concat($xml-refs-i-d,
@dd, '.xml')"/>
<xsl:variable name="srd-ref" select="concat($xml-refs-srd,
@dd, '.xml')"/>
<xsl:choose>
<xsl:when test="$d-type='RFC'">
<a class="filename" href="{concat($url-prefix-rfc,
$d-des,'.txt')}">[<xsl:value-of select="$d-type"
/><xsl:value-of select="$d-des"/>]</a>
<xsl:text> </xsl:text>
<a class="filename" href="{concat($url-prefix-errata,
$d-des)}">errata</a>
<xsl:text> </xsl:text>
<xsl:if test="document($rfc-ref)//front/title and
document($rfc-ref)//format/@target">
<a class="filename"
href="{document($rfc-ref)//format/@target}">
<xsl:value-of select="document($rfc-ref)//front/title"/>
</a>
</xsl:if>
</xsl:when>
<xsl:when test="$d-type='SRD'">
<a class="filename" href="{concat($url-prefix-srd,
Otis & Leslie Expires April 14, 2006 [Page 16]
Internet-Draft SRD October 2005
$d-des,'.html')}">[<xsl:value-of select="$d-type"
/><xsl:value-of select="$d-des"/>]</a>
<xsl:text> </xsl:text>
<xsl:if test="document($srd-ref)//front/title and
document($srd-ref)//format/@target">
<a class="filename"
href="{document($srd-ref)//format/@target}">
<xsl:value-of select="document($srd-ref)//front/title"/>
</a>
</xsl:if>
</xsl:when>
<xsl:when test="$d-type='I-D' and $srd-wip!=''">
<xsl:value-of select="concat('[draft-',$d-des, ']')"/>
<xsl:text> </xsl:text>
<xsl:if test="document($i-d-ref)//front/title and
document($i-d-ref)//format/@target">
<a class="filename"
href="{document($i-d-ref)//format/@target}">
<xsl:value-of select="document($i-d-ref)//front/title"/>
</a>
</xsl:if>
</xsl:when>
<xsl:when test="$d-type='I-D' and $srd-wip='' and
$srd-strict!='yes'">
<xsl:value-of select="concat('[draft-',$d-des, ']')"/>
<xsl:text> </xsl:text>
<xsl:if test="document($i-d-ref)//front/title and
document($i-d-ref)//format/@target">
<a class="filename"
href="{document($i-d-ref)//format/@target}">
<xsl:value-of select="document($i-d-ref)//front/title"/>
</a>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<p class="error">Invalid Document Type [<xsl:value-of
select="@dt"/>]<xsl:value-of select="@dd"/></p>
</xsl:otherwise>
</xsl:choose>
<br/>
</xsl:template>
</xsl:stylesheet>
Otis & Leslie Expires April 14, 2006 [Page 17]
Internet-Draft SRD October 2005
Appendix C. Example HTML output
Example SRD Title SRD:[example.1] 2005-07-16
XML structure for example SRDs.
Core
[RFC9875] errata Overview Core Example for SRD testing
[RFC9876] errata Primary Core Example for SRD testing
Extensions
[RFC9912] errata Extension Example for SRD testing
Guidance
[RFC9915] errata The Guidance Example for SRD testing
Replaces
[RFC9811] errata The replace Example for SRD testing
Experimental
[RFC9837] errata The Experimental Example for SRD testing
Companion
[SRDexample.1] The SRD Example for SRD testing
Otis & Leslie Expires April 14, 2006 [Page 18]
Internet-Draft SRD October 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Otis & Leslie Expires April 14, 2006 [Page 19]