diff options
author | Aaron Stone <astone@sixapart.com> | 2008-04-17 07:22:51 +0000 |
---|---|---|
committer | Aaron Stone <astone@sixapart.com> | 2008-04-27 16:37:47 -0700 |
commit | f5e4d26de94b97bc484c797ed6a5c87c02e7df71 (patch) | |
tree | fa2238376a42e7df72999c7dbf8b84f15121b0d6 /doc/xml2rfc | |
parent | f1351f9bbaae4fd923722f5563843f5d1c54a5f7 (diff) | |
download | memcached-f5e4d26de94b97bc484c797ed6a5c87c02e7df71.tar.gz |
Rearrange the binary protocol docs and xml2rfc tools.
git-svn-id: http://code.sixapart.com/svn/memcached/branches/binary@776 b0b603af-a30f-0410-a34e-baf09ae79d0b
Diffstat (limited to 'doc/xml2rfc')
-rw-r--r-- | doc/xml2rfc/reference.RFC.0768.xml | 22 | ||||
-rw-r--r-- | doc/xml2rfc/rfc2629-noinc.xsl | 106 | ||||
-rw-r--r-- | doc/xml2rfc/rfc2629-other.ent | 61 | ||||
-rw-r--r-- | doc/xml2rfc/rfc2629-refchk.xsl | 81 | ||||
-rw-r--r-- | doc/xml2rfc/rfc2629-xhtml.ent | 165 | ||||
-rw-r--r-- | doc/xml2rfc/rfc2629.dtd | 304 |
6 files changed, 739 insertions, 0 deletions
diff --git a/doc/xml2rfc/reference.RFC.0768.xml b/doc/xml2rfc/reference.RFC.0768.xml new file mode 100644 index 0000000..4452c34 --- /dev/null +++ b/doc/xml2rfc/reference.RFC.0768.xml @@ -0,0 +1,22 @@ +<?xml version='1.0' encoding='UTF-8'?> + +<reference anchor='RFC0768'> + +<front> +<title>User Datagram Protocol</title> +<author initials='J.' surname='Postel' fullname='J. Postel'> +<organization>University of Southern California (USC)/Information Sciences Institute</organization> +<address> +<postal> +<street>4676 Admiralty Way</street> +<city>Marina del Rey</city> +<region>CA</region> +<code>90291</code> +<country>US</country></postal> +<phone>+1 213 822 1511</phone></address></author> +<date year='1980' day='28' month='August' /></front> + +<seriesInfo name='STD' value='6' /> +<seriesInfo name='RFC' value='768' /> +<format type='TXT' octets='5896' target='ftp://ftp.isi.edu/in-notes/rfc768.txt' /> +</reference> diff --git a/doc/xml2rfc/rfc2629-noinc.xsl b/doc/xml2rfc/rfc2629-noinc.xsl new file mode 100644 index 0000000..99b73a8 --- /dev/null +++ b/doc/xml2rfc/rfc2629-noinc.xsl @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:output method="xml"/> + + <xsl:template name='noinc'> + <xsl:apply-templates mode='noinc'/> + </xsl:template> + + <xsl:template match="*" mode='noinc'> + <xsl:copy> + <xsl:apply-templates select='@*' mode='noinc'/> + <xsl:apply-templates mode='noinc'/> + </xsl:copy> + </xsl:template> + <xsl:template match='@*' mode='noinc'> + <xsl:attribute name='{name()}'> + <xsl:value-of select='.'/> + </xsl:attribute> + </xsl:template> + + <xsl:template match='processing-instruction("rfc")' mode='noinc'> + <xsl:choose> + <xsl:when test='substring-before(.,"=") = "include"'> + <xsl:call-template name='include-pi'> + <xsl:with-param name='include-href'> + <xsl:value-of select="translate( substring-after( ., '=' ), '" ', '' )"/><xsl:text>.xml</xsl:text> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select='.'/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name='include-pi'> + <xsl:param name='include-href'/> + <xsl:apply-templates select="document( $include-href )" mode='noinc'/> + </xsl:template> + + <xsl:template match='dwdrfc-ref' mode='noinc'> + <xsl:param name='include-href'> + <xsl:choose> + <xsl:when test='starts-with( @src, "http://" )'> + <xsl:value-of select='@src'/> + </xsl:when> + <xsl:otherwise> + <xsl:text>http://xml.resource.org/public/rfc/</xsl:text> + <xsl:value-of select='@src'/> + <xsl:text>.xml</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:param> + <reference anchor="{@anchor}"> + <xsl:apply-templates select="document( $include-href )" mode="refrename"/> + </reference> + </xsl:template> + + <xsl:template match='*' mode='refrename'> + <xsl:apply-templates mode='refrename'/> + </xsl:template> + + <xsl:template match='reference' mode='refrename'> + <xsl:apply-templates mode='noinc'/> + </xsl:template> + + <xsl:template match='/'> + <xsl:call-template name='noinc'/> + </xsl:template> + + <xsl:template name='output'> + <xsl:param name='foo'/> + <xsl:copy-of select='$foo'/> + <xsl:apply-templates select='$foo'/> + </xsl:template> + + <xsl:template match='*' mode='output'> + <element> + <xsl:value-of select='name()'/> + <xsl:apply-templates mode='output'/> + </element> + </xsl:template> + <xsl:template match='text()' mode='output'/> + + <!-- Reference checking attributes stripped here. --> + <xsl:template match='references' mode='noinc'> + <xsl:element name='references'> + <xsl:attribute name='title'> + <xsl:value-of select='@title'/> + </xsl:attribute> + <xsl:apply-templates mode='noinc'/> + </xsl:element> + </xsl:template> + + <xsl:template match='xref' mode='noinc'> + <xsl:element name='xref'> + <xsl:attribute name='target'> + <xsl:value-of select='@target'/> + </xsl:attribute> + <xsl:apply-templates mode='noinc'/> + </xsl:element> + </xsl:template> + +</xsl:stylesheet> diff --git a/doc/xml2rfc/rfc2629-other.ent b/doc/xml2rfc/rfc2629-other.ent new file mode 100644 index 0000000..0da80b7 --- /dev/null +++ b/doc/xml2rfc/rfc2629-other.ent @@ -0,0 +1,61 @@ +<!-- rfc2629-other.ent + + Character entity set for RFC-2629 source xml documents. + There is no need to invoke this directly from + the source document itself; just invoke the DTD. + + These are unknown to (X)HTML, so any converter to these + formats must either substitute these entities + or invoke this file from the output file. + + Conversion to txt or nroff format will replace + these entities by the parenthesized text. + + Typical invocation: + <!ENTITY % rfc2629-other + PUBLIC "-//IETF//ENTITIES Other for RFC 2629//EN" + "http://xml.resource.org/authoring/rfc2629-other.ent"> + %rfc2629-other; +--> + +<!-- Magical --> +<!-- rfc.number (automatically expanded to content + of number="..." attribute + of <rfc> element, or to "XXXX") --> + +<!-- ASCII --> +<!ENTITY excl "!"><!-- U+0021 EXCLAMATION MARK ("!") --> +<!ENTITY num "#"><!-- U+0023 NUMBER SIGN ("#") --> +<!ENTITY dollar "$"><!-- U+0024 DOLLAR SIGN ("$") --> +<!ENTITY percnt "%"><!-- U+0025 PERCENT SIGN ("%") --> +<!ENTITY lpar "("><!-- U+0028 LEFT PARENTHESIS ("(") --> +<!ENTITY rpar ")"><!-- U+0029 RIGHT PARENTHESIS (")") --> +<!ENTITY ast "*"><!-- U+002A ASTERISK ("*") --> +<!ENTITY plus "+"><!-- U+002B PLUS SIGN ("+") --> +<!ENTITY comma ","><!-- U+002C COMMA (",") --> +<!ENTITY hyphen "-"><!-- U+002D HYPHEN-MINUS ("-") --> +<!ENTITY period "."><!-- U+002E FULL STOP (".") --> +<!ENTITY sol "/"><!-- U+002F SOLIDUS ("/") --> +<!ENTITY colon ":"><!-- U+003A COLON (":") --> +<!ENTITY semi ";"><!-- U+003B SEMICOLON (";") --> +<!ENTITY equals "="><!-- U+003D EQUALS SIGN ("=") --> +<!ENTITY quest "?"><!-- U+003F QUESTION MARK ("?") --> +<!ENTITY commat "@"><!-- U+0040 COMMERCIAL AT ("@") --> +<!ENTITY lsqb "["><!-- U+005B LEFT SQUARE BRACKET ("[") --> +<!ENTITY bsol "\"><!-- U+005C REVERSE SOLIDUS ("\\") --> +<!ENTITY rsqb "]"><!-- U+005D RIGHT SQUARE BRACKET ("]") --> +<!ENTITY circ "^"><!-- U+005E CIRCUMFLEX ACCENT ("^") --> +<!ENTITY lowbar "_"><!-- U+005F LOW LINE ("_") --> +<!ENTITY grave "`"><!-- U+0060 GRAVE ACCENT ("`") --> +<!ENTITY lcub "{"><!-- U+007B LEFT CURLY BRACKET ("{") --> +<!ENTITY verbar "|"><!-- U+007C VERTICAL LINE ("|") --> +<!ENTITY rcub "}"><!-- U+007D RIGHT CURLY BRACKET ("}") --> + +<!-- Useful Unicode --> +<!ENTITY Zcaron "Ž"><!-- U+017D LATIN CAPITAL LETTER Z WITH CARON ("Z") --> +<!ENTITY zcaron "ž"><!-- U+017E LATIN SMALL LETTER Z WITH CARON ("z") --> +<!ENTITY dash "‐"><!-- U+2010 HYPHEN ("-") --> +<!ENTITY nbhy "‑"><!-- U+2011 NON-BREAKING HYPHEN (special "-") --> +<!ENTITY wj "⁠"><!-- U+2060 WORD JOINER (special "") --> + +<!-- EOF --> diff --git a/doc/xml2rfc/rfc2629-refchk.xsl b/doc/xml2rfc/rfc2629-refchk.xsl new file mode 100644 index 0000000..0cea58e --- /dev/null +++ b/doc/xml2rfc/rfc2629-refchk.xsl @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:output method="xml"/> + + <xsl:template match='/'> + <refcheck> + <xsl:apply-templates select='//xref' mode='missing'/> + <xsl:apply-templates select='//reference' mode='orphans'/> + <xsl:apply-templates select='//references[@dwdrfc-type = "norm"]' mode='normcheck'/> + <xsl:apply-templates select='//xref[@dwdrfc-type = "norm"]' mode='normrefs'/> + </refcheck> + </xsl:template> + + <xsl:template match='xref' mode='missing'> + <xsl:param name='refname'> + <xsl:value-of select='@target'/> + </xsl:param> + <xsl:param name='reftgt'> + <xsl:value-of select='//*[@anchor = $refname]/@anchor'/> + </xsl:param> + <xsl:choose> + <xsl:when test='$reftgt = $refname'/> + <xsl:otherwise> + <missing><xsl:value-of select='$refname'/></missing><xsl:text> + </xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match='xref' mode='normrefs'> + <xsl:param name='refname'> + <xsl:value-of select='@target'/> + </xsl:param> + <xsl:param name='reftgt'> + <xsl:value-of select='//references[@dwdrfc-type = "norm"]/*[@anchor = $refname]/@anchor'/> + </xsl:param> + <xsl:choose> + <xsl:when test='$reftgt = $refname'/> + <xsl:otherwise> + <missing-norm><xsl:value-of select='$refname'/></missing-norm><xsl:text> + </xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match='reference' mode='orphans'> + <xsl:param name='refname'> + <xsl:value-of select='@anchor'/> + </xsl:param> + <xsl:param name='reftgt'> + <xsl:value-of select='//xref[@target = $refname]/@target'/> + </xsl:param> + <xsl:if test='$reftgt != $refname'> + <orphan><xsl:value-of select='$refname'/></orphan><xsl:text> + </xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match='references' mode='normcheck'> + <xsl:apply-templates mode='normcheck'/> +</xsl:template> + +<xsl:template match='*' mode='normcheck'> + <!-- Need to find at least one normative reference --> + <xsl:param name='refname'> + <xsl:value-of select='@anchor'/> + </xsl:param> + <xsl:param name='reftgt'> + <xsl:value-of select='//xref[@dwdrfc-type = "norm" and @target = $refname]/@target'/> + </xsl:param> + <xsl:if test='$refname != $reftgt'> + <normchk><xsl:value-of select='$refname'/></normchk><xsl:text> +</xsl:text> + </xsl:if> +</xsl:template> + +<xsl:template match='text()' mode='normcheck'/> + +</xsl:stylesheet> diff --git a/doc/xml2rfc/rfc2629-xhtml.ent b/doc/xml2rfc/rfc2629-xhtml.ent new file mode 100644 index 0000000..3d4a07d --- /dev/null +++ b/doc/xml2rfc/rfc2629-xhtml.ent @@ -0,0 +1,165 @@ +<!-- rfc2629-xhtml.ent + + Character entity set for RFC-2629 source xml documents. + There is no need to invoke this directly from + the source document itself; just invoke the DTD. + + These are known to (X)HTML, so any converter to these + formats can just leave them as is without having + to invoke this file from the output file. + + Conversion to txt or nroff format will replace + these entities by the parenthesized text. + + Typical invocation: + <!ENTITY % rfc2629-xhtml + PUBLIC "-//IETF//ENTITIES XHTML subset for RFC 2629//EN" + "http://xml.resource.org/authoring/rfc2629-xhtml.ent"> + %rfc2629-xhtml; +--> + +<!-- All of ISO Latin 1 --> +<!ENTITY nbsp " "><!-- U+00A0 NO-BREAK SPACE (special " ") --> +<!ENTITY iexcl "¡"><!-- U+00A1 INVERTED EXCLAMATION MARK ("!") --> +<!ENTITY cent "¢"><!-- U+00A2 CENT SIGN ("[cents]") --> +<!ENTITY pound "£"><!-- U+00A3 POUND SIGN ("GBP") --> +<!ENTITY curren "¤"><!-- U+00A4 CURRENCY SIGN ("[currency units]") --> +<!ENTITY yen "¥"><!-- U+00A5 YEN SIGN ("JPY") --> +<!ENTITY brvbar "¦"><!-- U+00A6 BROKEN BAR ("|") --> +<!ENTITY sect "§"><!-- U+00A7 SECTION SIGN ("S.") --> +<!ENTITY uml "¨"><!-- U+00A8 DIAERESIS ('"') --> +<!ENTITY copy "©"><!-- U+00A9 COPYRIGHT SIGN ("(C)") --> +<!ENTITY ordf "ª"><!-- U+00AA FEMININE ORDINAL INDICATOR ("a") --> +<!ENTITY laquo "«"><!-- U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK ("<<") --> +<!ENTITY not "¬"><!-- U+00AC NOT SIGN ("[not]") --> +<!ENTITY shy "­"><!-- U+00AD SOFT HYPHEN (ignored "") --> +<!ENTITY reg "®"><!-- U+00AE REGISTERED SIGN ("(R)") --> +<!ENTITY macr "¯"><!-- U+00AF MACRON ("_") --> +<!ENTITY deg "°"><!-- U+00B0 DEGREE SIGN ("o") --> +<!ENTITY plusmn "±"><!-- U+00B1 PLUS-MINUS SIGN ("+/-") --> +<!ENTITY sup2 "²"><!-- U+00B2 SUPERSCRIPT TWO ("^2") --> +<!ENTITY sup3 "³"><!-- U+00B3 SUPERSCRIPT THREE ("^3") --> +<!ENTITY acute "´"><!-- U+00B4 ACUTE ACCENT ("'") --> +<!ENTITY micro "µ"><!-- U+00B5 MICRO SIGN ("[micro]") --> +<!ENTITY para "¶"><!-- U+00B6 PILCROW SIGN ("P.") --> +<!ENTITY middot "·"><!-- U+00B7 MIDDLE DOT (".") --> +<!ENTITY cedil "¸"><!-- U+00B8 CEDILLA (",") --> +<!ENTITY sup1 "¹"><!-- U+00B9 SUPERSCRIPT ONE ("^1") --> +<!ENTITY ordm "º"><!-- U+00BA MASCULINE ORDINAL INDICATOR ("o") --> +<!ENTITY raquo "»"><!-- U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (">>") --> +<!ENTITY frac14 "¼"><!-- U+00BC VULGAR FRACTION ONE QUARTER ("1/4") --> +<!ENTITY frac12 "½"><!-- U+00BD VULGAR FRACTION ONE HALF ("1/2") --> +<!ENTITY frac34 "¾"><!-- U+00BE VULGAR FRACTION THREE QUARTERS ("3/4") --> +<!ENTITY iquest "¿"><!-- U+00BF INVERTED QUESTION MARK ("?") --> +<!ENTITY Agrave "À"><!-- U+00C0 LATIN CAPITAL LETTER A WITH GRAVE ("A") --> +<!ENTITY Aacute "Á"><!-- U+00C1 LATIN CAPITAL LETTER A WITH ACUTE ("A") --> +<!ENTITY Acirc "Â"><!-- U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX ("A") --> +<!ENTITY Atilde "Ã"><!-- U+00C3 LATIN CAPITAL LETTER A WITH TILDE ("A") --> +<!ENTITY Auml "Ä"><!-- U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS ("Ae") --> +<!ENTITY Aring "Å"><!-- U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE ("Ae") --> +<!ENTITY AElig "Æ"><!-- U+00C6 LATIN CAPITAL LETTER AE ("AE") --> +<!ENTITY Ccedil "Ç"><!-- U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA ("C") --> +<!ENTITY Egrave "È"><!-- U+00C8 LATIN CAPITAL LETTER E WITH GRAVE ("E") --> +<!ENTITY Eacute "É"><!-- U+00C9 LATIN CAPITAL LETTER E WITH ACUTE ("E") --> +<!ENTITY Ecirc "Ê"><!-- U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX ("E") --> +<!ENTITY Euml "Ë"><!-- U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS ("E") --> +<!ENTITY Igrave "Ì"><!-- U+00CC LATIN CAPITAL LETTER I WITH GRAVE ("I") --> +<!ENTITY Iacute "Í"><!-- U+00CD LATIN CAPITAL LETTER I WITH ACUTE ("I") --> +<!ENTITY Icirc "Î"><!-- U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX ("I") --> +<!ENTITY Iuml "Ï"><!-- U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS ("I") --> +<!ENTITY ETH "Ð"><!-- U+00D0 LATIN CAPITAL LETTER ETH ("[ETH]") --> +<!ENTITY Ntilde "Ñ"><!-- U+00D1 LATIN CAPITAL LETTER N WITH TILDE ("N") --> +<!ENTITY Ograve "Ò"><!-- U+00D2 LATIN CAPITAL LETTER O WITH GRAVE ("O") --> +<!ENTITY Oacute "Ó"><!-- U+00D3 LATIN CAPITAL LETTER O WITH ACUTE ("O") --> +<!ENTITY Ocirc "Ô"><!-- U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX ("O") --> +<!ENTITY Otilde "Õ"><!-- U+00D5 LATIN CAPITAL LETTER O WITH TILDE ("O") --> +<!ENTITY Ouml "Ö"><!-- U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS ("Oe") --> +<!ENTITY times "×"><!-- U+00D7 MULTIPLICATION SIGN ("x") --> +<!ENTITY Oslash "Ø"><!-- U+00D8 LATIN CAPITAL LETTER O WITH STROKE ("Oe") --> +<!ENTITY Ugrave "Ù"><!-- U+00D9 LATIN CAPITAL LETTER U WITH GRAVE ("U") --> +<!ENTITY Uacute "Ú"><!-- U+00DA LATIN CAPITAL LETTER U WITH ACUTE ("U") --> +<!ENTITY Ucirc "Û"><!-- U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX ("U") --> +<!ENTITY Uuml "Ü"><!-- U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS ("Ue") --> +<!ENTITY Yacute "Ý"><!-- U+00DD LATIN CAPITAL LETTER Y WITH ACUTE ("Y") --> +<!ENTITY THORN "Þ"><!-- U+00DE LATIN CAPITAL LETTER THORN ("[THORN]") --> +<!ENTITY szlig "ß"><!-- U+00DF LATIN SMALL LETTER SHARP S ("ss") --> +<!ENTITY agrave "à"><!-- U+00E0 LATIN SMALL LETTER A WITH GRAVE ("a") --> +<!ENTITY aacute "á"><!-- U+00E1 LATIN SMALL LETTER A WITH ACUTE ("a") --> +<!ENTITY acirc "â"><!-- U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX ("a") --> +<!ENTITY atilde "ã"><!-- U+00E3 LATIN SMALL LETTER A WITH TILDE ("a") --> +<!ENTITY auml "ä"><!-- U+00E4 LATIN SMALL LETTER A WITH DIAERESIS ("ae") --> +<!ENTITY aring "å"><!-- U+00E5 LATIN SMALL LETTER A WITH RING ABOVE ("ae") --> +<!ENTITY aelig "æ"><!-- U+00E6 LATIN SMALL LETTER AE ("ae") --> +<!ENTITY ccedil "ç"><!-- U+00E7 LATIN SMALL LETTER C WITH CEDILLA ("c") --> +<!ENTITY egrave "è"><!-- U+00E8 LATIN SMALL LETTER E WITH GRAVE ("e") --> +<!ENTITY eacute "é"><!-- U+00E9 LATIN SMALL LETTER E WITH ACUTE ("e") --> +<!ENTITY ecirc "ê"><!-- U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX ("e") --> +<!ENTITY euml "ë"><!-- U+00EB LATIN SMALL LETTER E WITH DIAERESIS ("e") --> +<!ENTITY igrave "ì"><!-- U+00EC LATIN SMALL LETTER I WITH GRAVE ("i") --> +<!ENTITY iacute "í"><!-- U+00ED LATIN SMALL LETTER I WITH ACUTE ("i") --> +<!ENTITY icirc "î"><!-- U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX ("i") --> +<!ENTITY iuml "ï"><!-- U+00EF LATIN SMALL LETTER I WITH DIAERESIS ("i") --> +<!ENTITY eth "ð"><!-- U+00F0 LATIN SMALL LETTER ETH ("[eth]") --> +<!ENTITY ntilde "ñ"><!-- U+00F1 LATIN SMALL LETTER N WITH TILDE ("n") --> +<!ENTITY ograve "ò"><!-- U+00F2 LATIN SMALL LETTER O WITH GRAVE ("o") --> +<!ENTITY oacute "ó"><!-- U+00F3 LATIN SMALL LETTER O WITH ACUTE ("o") --> +<!ENTITY ocirc "ô"><!-- U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX ("o") --> +<!ENTITY otilde "õ"><!-- U+00F5 LATIN SMALL LETTER O WITH TILDE ("o") --> +<!ENTITY ouml "ö"><!-- U+00F6 LATIN SMALL LETTER O WITH DIAERESIS ("oe") --> +<!ENTITY divide "÷"><!-- U+00F7 DIVISION SIGN ("/") --> +<!ENTITY oslash "ø"><!-- U+00F8 LATIN SMALL LETTER O WITH STROKE ("oe") --> +<!ENTITY ugrave "ù"><!-- U+00F9 LATIN SMALL LETTER U WITH GRAVE ("u") --> +<!ENTITY uacute "ú"><!-- U+00FA LATIN SMALL LETTER U WITH ACUTE ("u") --> +<!ENTITY ucirc "û"><!-- U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX ("u") --> +<!ENTITY uuml "ü"><!-- U+00FC LATIN SMALL LETTER U WITH DIAERESIS ("ue") --> +<!ENTITY yacute "ý"><!-- U+00FD LATIN SMALL LETTER Y WITH ACUTE ("y") --> +<!ENTITY thorn "þ"><!-- U+00FE LATIN SMALL LETTER THORN ("[thorn]") --> +<!ENTITY yuml "ÿ"><!-- U+00FF LATIN SMALL LETTER Y WITH DIAERESIS ("y") --> + +<!-- Some of ISO Latin 9 and 10 --> +<!ENTITY OElig "Œ"><!-- U+0152 LATIN CAPITAL LIGATURE OE ("OE") --> +<!ENTITY oelig "œ"><!-- U+0153 LATIN SMALL LIGATURE OE ("oe") --> +<!ENTITY Scaron "Š"><!-- U+0160 LATIN CAPITAL LETTER S WITH CARON ("S") --> +<!ENTITY scaron "š"><!-- U+0161 LATIN SMALL LETTER S WITH CARON ("s") --> +<!ENTITY Yuml "Ÿ"><!-- U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS ("Y") --> + +<!-- Other Unicode (including some characters from the windows-1252 repertoire) --> +<!ENTITY fnof "ƒ"><!-- U+0192 LATIN SMALL LETTER F WITH HOOK ("f") --> +<!ENTITY tilde "˜"><!-- U+02DC SMALL TILDE ("~") --> +<!ENTITY ensp " "><!-- U+2002 EN SPACE (" ") --> +<!ENTITY emsp " "><!-- U+2003 EM SPACE (" ") --> +<!ENTITY thinsp " "><!-- U+2009 THIN SPACE (" ") --> +<!ENTITY ndash "–"><!-- U+2013 EN DASH ("-") --> +<!ENTITY mdash "—"><!-- U+2014 EM DASH ("-\u002D") --> +<!ENTITY lsquo "‘"><!-- U+2018 LEFT SINGLE QUOTATION MARK ("'") --> +<!ENTITY rsquo "’"><!-- U+2019 RIGHT SINGLE QUOTATION MARK ("'") --> +<!ENTITY sbquo "‚"><!-- U+201A SINGLE LOW-9 QUOTATION MARK ("'") --> +<!ENTITY ldquo "“"><!-- U+201C LEFT DOUBLE QUOTATION MARK ('"') --> +<!ENTITY rdquo "”"><!-- U+201D RIGHT DOUBLE QUOTATION MARK ('"') --> +<!ENTITY bdquo "„"><!-- U+201E DOUBLE LOW-9 QUOTATION MARK ('"') --> +<!ENTITY dagger "†"><!-- U+2020 DAGGER ("*!*") --> +<!ENTITY Dagger "‡"><!-- U+2021 DOUBLE DAGGER ("*!!*") --> +<!ENTITY bull "•"><!-- U+2022 BULLET ("o") --> +<!ENTITY hellip "…"><!-- U+2026 HORIZONTAL ELLIPSIS ("...") --> +<!ENTITY permil "′"><!-- U+2030 PER MILLE SIGN ("[/1000]") --> +<!ENTITY prime "′"><!-- U+2032 PRIME ("'") --> +<!ENTITY Prime "″"><!-- U+2033 DOUBLE PRIME ('"') --> +<!ENTITY lsaquo "‹"><!-- U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK ("<") --> +<!ENTITY rsaquo "›"><!-- U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (">") --> +<!ENTITY frasl "⁄"><!-- U+2044 FRACTION SLASH ("/") --> +<!ENTITY euro "€"><!-- U+20AC EURO SIGN ("EUR") --> +<!ENTITY trade "™"><!-- U+2122 TRADE MARK SIGN ("[TM]") --> +<!ENTITY larr "←"><!-- U+2190 LEFTWARDS ARROW ("<-\u002D") --> +<!ENTITY rarr "→"><!-- U+2192 RIGHTWARDS ARROW ("\u002D->") --> +<!ENTITY harr "↔"><!-- U+2194 LEFT RIGHT ARROW ("<->") --> +<!ENTITY lArr "⇐"><!-- U+21D0 LEFTWARDS DOUBLE ARROW ("<==") --> +<!ENTITY rArr "⇒"><!-- U+21D2 RIGHTWARDS DOUBLE ARROW ("==>") --> +<!ENTITY hArr "⇔"><!-- U+21D4 LEFT RIGHT DOUBLE ARROW ("<=>") --> +<!ENTITY minus "−"><!-- U+2212 MINUS SIGN ("-") --> +<!ENTITY lowast "∗"><!-- U+2217 ASTERISK OPERATOR ("*") --> +<!ENTITY le "≤"><!-- U+2264 LESS-THAN OR EQUAL TO ("<=") --> +<!ENTITY ge "≥"><!-- U+2265 GREATER-THAN OR EQUAL TO (">=") --> +<!ENTITY lang "〈"><!-- U+2329 LEFT-POINTING ANGLE BRACKET ("<") --> +<!ENTITY rang "〉"><!-- U+232A RIGHT-POINTING ANGLE BRACKET (">") --> + +<!-- EOF --> diff --git a/doc/xml2rfc/rfc2629.dtd b/doc/xml2rfc/rfc2629.dtd new file mode 100644 index 0000000..bc30260 --- /dev/null +++ b/doc/xml2rfc/rfc2629.dtd @@ -0,0 +1,304 @@ +<!-- + revised DTD for the RFC document series, draft of 2007-03-29 + --> + + +<!-- + Typical invocation: + <!DOCTYPE rfc PUBLIC "-//IETF//DTD RFC 2629//EN" + "http://xml.resource.org/authoring/rfc2629.dtd" [ + ... dtd subset ... + ]> + or + <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ + ... dtd subset ... + ]> + --> + + +<!-- + Contents + + Character entities + + DTD data types + + The top-level + + Front matter + + The Body + + Back matter + --> + + +<!-- + Character entities + --> + + +<!ENTITY % rfc2629-xhtml + PUBLIC "-//IETF//ENTITIES XHTML subset for RFC 2629//EN" + "rfc2629-xhtml.ent"> +%rfc2629-xhtml; + +<!ENTITY % rfc2629-other + PUBLIC "-//IETF//ENTITIES Other for RFC 2629//EN" + "rfc2629-other.ent"> +%rfc2629-other; + + +<!-- + DTD data types: + + entity description + ====== =============================================== + NUMBER [0-9]+ + NUMBERS a comma-separated list of NUMBER + + DAY the day of the month, e.g., "1" + MONTH the month of the year, e.g., "January" + YEAR a four-digit year, e.g., "1999" + + URI e.g., "http://invisible.net/" + + ATEXT/CTEXT printable ASCII text (no line-terminators) + + TEXT character data + --> + + +<!ENTITY % NUMBER "CDATA"> +<!ENTITY % NUMBERS "CDATA"> + +<!ENTITY % DAY "CDATA"> +<!ENTITY % MONTH "CDATA"> +<!ENTITY % YEAR "CDATA"> + +<!ENTITY % URI "CDATA"> + +<!ENTITY % ATEXT "CDATA"> +<!ENTITY % CTEXT "#PCDATA"> + +<!ENTITY % TEXT "#PCDATA"> + +<!ENTITY rfc.number "XXXX"> + + +<!-- + The top-level + --> + + +<!-- + attributes for the "rfc" element are supplied by the RFC + editor. when preparing drafts, authors should leave them blank. + + the "seriesNo" attribute is used if the category is, e.g., BCP. + --> +<!ELEMENT rfc (front,middle,back?)> +<!ATTLIST rfc + number %NUMBER; #IMPLIED + obsoletes %NUMBERS; "" + updates %NUMBERS; "" + category (std|bcp|info|exp|historic) + #IMPLIED + seriesNo %NUMBER; #IMPLIED + ipr (full2026|noDerivativeWorks2026|none + |full3667|noModification3667|noDerivatives3667 + |full3978|noModification3978|noDerivatives3978) + #IMPLIED + iprExtract IDREF #IMPLIED + submissionType + (IETF|independent) "IETF" + docName %ATEXT; #IMPLIED + xml:lang %ATEXT; "en"> + + +<!-- + Front matter + --> + + +<!ELEMENT front (title,author+,date,area*,workgroup*,keyword*, + abstract?,note*)> + +<!-- the "abbrev" attribute is used for headers, etc. --> +<!ELEMENT title (%CTEXT;)> +<!ATTLIST title + abbrev %ATEXT; #IMPLIED> + +<!ELEMENT author (organization,address?)> +<!ATTLIST author + initials %ATEXT; #IMPLIED + surname %ATEXT; #IMPLIED + fullname %ATEXT; #IMPLIED + role (editor) #IMPLIED> + +<!ELEMENT organization + (%CTEXT;)> +<!ATTLIST organization + abbrev %ATEXT; #IMPLIED> + +<!ELEMENT address (postal?,phone?,facsimile?,email?,uri?)> + +<!-- this content model should be more strict: + at most one of each the city, region, code, and country + elements may be present --> +<!ELEMENT postal (street+,(city|region|code|country)*)> +<!ELEMENT street (%CTEXT;)> +<!ELEMENT city (%CTEXT;)> +<!ELEMENT region (%CTEXT;)> +<!ELEMENT code (%CTEXT;)> +<!ELEMENT country (%CTEXT;)> +<!ELEMENT phone (%CTEXT;)> +<!ELEMENT facsimile (%CTEXT;)> +<!ELEMENT email (%CTEXT;)> +<!ELEMENT uri (%CTEXT;)> + +<!ELEMENT date EMPTY> +<!ATTLIST date + day %DAY; #IMPLIED + month %MONTH; #IMPLIED + year %YEAR; #IMPLIED> + +<!-- meta-data... --> +<!ELEMENT area (%CTEXT;)> +<!ELEMENT workgroup (%CTEXT;)> +<!ELEMENT keyword (%CTEXT;)> + +<!ELEMENT abstract (t)+> +<!ELEMENT note (t)+> +<!ATTLIST note + title %ATEXT; #REQUIRED> + + +<!-- + The body + --> + + +<!-- later on, may be (section+,appendix*,section*) --> +<!ELEMENT middle (section+)> + +<!ELEMENT section ((t|figure|texttable|iref)*,section*)> +<!ATTLIST section + anchor ID #IMPLIED + title %ATEXT; #REQUIRED + toc (include|exclude|default) + "default"> + +<!-- +<!ELEMENT appendix ((t|figure|texttable|iref)*,appendix*)> +<!ATTLIST appendix + anchor ID #IMPLIED + title %ATEXT; #REQUIRED + toc (include|exclude|default) + "default"> + --> + +<!-- use of <figure/> is deprecated... --> +<!ELEMENT t (%TEXT;|list|figure|xref|eref|iref|cref|spanx|vspace)*> +<!ATTLIST t + anchor ID #IMPLIED + hangText %ATEXT; #IMPLIED> + +<!-- the value of the style attribute is inherited from the closest + parent --> +<!ELEMENT list (t+)> +<!ATTLIST list + style %ATEXT; #IMPLIED + hangIndent %NUMBER; #IMPLIED + counter %ATEXT; #IMPLIED> + +<!ELEMENT xref (%CTEXT;)> +<!ATTLIST xref + target IDREF #REQUIRED + pageno (true|false) "false" + format (counter|title|none|default) + "default"> + +<!ELEMENT eref (%CTEXT;)> +<!ATTLIST eref + target %URI; #REQUIRED> + +<!ELEMENT iref EMPTY> +<!ATTLIST iref + item %ATEXT; #REQUIRED + subitem %ATEXT; "" + primary (true|false) "false"> + +<!ELEMENT cref (%CTEXT;)> +<!ATTLIST cref + anchor ID #IMPLIED + source %ATEXT; #IMPLIED> + +<!ELEMENT spanx (%CTEXT;)> +<!ATTLIST spanx + style %ATEXT; "emph"> + +<!ELEMENT vspace EMPTY> +<!ATTLIST vspace + blankLines %NUMBER; "0"> + +<!ELEMENT figure (iref*,preamble?,artwork,postamble?)> +<!ATTLIST figure + anchor ID #IMPLIED + title %ATEXT; "" + src %URI; #IMPLIED + align (left|center|right) "left" + alt %ATEXT; "" + width %ATEXT; "" + height %ATEXT; ""> + +<!ELEMENT preamble (%TEXT;|xref|eref|iref|cref|spanx)*> +<!ELEMENT artwork (%TEXT;)*> +<!ATTLIST artwork + xml:space (default|preserve) "preserve" + name %ATEXT; "" + type %ATEXT; "" + src %URI; #IMPLIED + align (left|center|right) "left" + alt %ATEXT; "" + width %ATEXT; "" + height %ATEXT; ""> + +<!ELEMENT postamble (%TEXT;|xref|eref|iref|cref|spanx)*> + +<!ELEMENT texttable (preamble?,ttcol+,c*,postamble?)> +<!ATTLIST texttable + anchor ID #IMPLIED + title %ATEXT; ""> +<!ELEMENT ttcol (%CTEXT;)> +<!ATTLIST ttcol + width %ATEXT; #IMPLIED + align (left|center|right) "left"> +<!ELEMENT c (%TEXT;|xref|eref|iref|cref|spanx)*> + + +<!-- + Back matter + --> + + +<!-- sections, if present, are appendices --> +<!ELEMENT back (references*,section*)> + +<!ELEMENT references (reference+)> +<!ATTLIST references + title %ATEXT; "References"> +<!ELEMENT reference (front,seriesInfo*,format*,annotation*)> +<!ATTLIST reference + anchor ID #IMPLIED + target %URI; #IMPLIED> +<!ELEMENT seriesInfo EMPTY> +<!ATTLIST seriesInfo + name %ATEXT; #REQUIRED + value %ATEXT; #REQUIRED> +<!ELEMENT format EMPTY> +<!ATTLIST format + target %URI; #IMPLIED + type %ATEXT; #REQUIRED + octets %NUMBER; #IMPLIED> +<!ELEMENT annotation (%TEXT;|xref|eref|iref|cref|spanx)*> |