918 lines
20 KiB
Text
918 lines
20 KiB
Text
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
|
|
namespace ns1 = "http://www.w3.org/2000/svg"
|
|
|
|
# xml2rfc Version 3 grammar
|
|
rfc =
|
|
element rfc {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute number { text }?,
|
|
[ a:defaultValue = "" ] attribute obsoletes { text }?,
|
|
[ a:defaultValue = "" ] attribute updates { text }?,
|
|
attribute category { text }?,
|
|
attribute mode { text }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute consensus { "no" | "yes" | "false" | "true" }?,
|
|
attribute seriesNo { text }?,
|
|
attribute ipr {
|
|
"full2026"
|
|
| "noDerivativeWorks2026"
|
|
| "none"
|
|
| "full3667"
|
|
| "noModification3667"
|
|
| "noDerivatives3667"
|
|
| "full3978"
|
|
| "noModification3978"
|
|
| "noDerivatives3978"
|
|
| "trust200811"
|
|
| "noModificationTrust200811"
|
|
| "noDerivativesTrust200811"
|
|
| "trust200902"
|
|
| "noModificationTrust200902"
|
|
| "noDerivativesTrust200902"
|
|
| "pre5378Trust200902"
|
|
}?,
|
|
attribute iprExtract { xsd:IDREF }?,
|
|
[ a:defaultValue = "IETF" ]
|
|
attribute submissionType {
|
|
"IETF" | "IAB" | "IRTF" | "independent"
|
|
}?,
|
|
attribute docName { text }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute sortRefs { "true" | "false" }?,
|
|
[ a:defaultValue = "true" ]
|
|
attribute symRefs { "true" | "false" }?,
|
|
[ a:defaultValue = "true" ]
|
|
attribute tocInclude { "true" | "false" }?,
|
|
[ a:defaultValue = "3" ] attribute tocDepth { text }?,
|
|
attribute prepTime { text }?,
|
|
[ a:defaultValue = "true" ]
|
|
attribute indexInclude { "true" | "false" }?,
|
|
attribute version { text }?,
|
|
[ a:defaultValue = "Common,Latin" ] attribute scripts { text }?,
|
|
attribute expiresDate { text }?,
|
|
link*,
|
|
front,
|
|
middle,
|
|
back?
|
|
}
|
|
link =
|
|
element link {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute href { text },
|
|
attribute rel { text }?
|
|
}
|
|
front =
|
|
element front {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
title,
|
|
author+,
|
|
date?,
|
|
area*,
|
|
workgroup*,
|
|
keyword*,
|
|
abstract?,
|
|
seriesInfo*,
|
|
note*,
|
|
boilerplate?
|
|
}
|
|
title =
|
|
element title {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute abbrev { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
author =
|
|
element author {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute initials { text }?,
|
|
attribute asciiInitials { text }?,
|
|
attribute surname { text }?,
|
|
attribute asciiSurname { text }?,
|
|
attribute fullname { text }?,
|
|
attribute role { "editor" }?,
|
|
attribute asciiFullname { text }?,
|
|
organization?,
|
|
address?
|
|
}
|
|
organization =
|
|
element organization {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute abbrev { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
address =
|
|
element address {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
postal?,
|
|
phone?,
|
|
facsimile?,
|
|
email?,
|
|
uri?
|
|
}
|
|
postal =
|
|
element postal {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
((city | code | country | region | street)* | postalLine+)
|
|
}
|
|
street =
|
|
element street {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
city =
|
|
element city {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
region =
|
|
element region {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
code =
|
|
element code {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
country =
|
|
element country {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
postalLine =
|
|
element postalLine {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
phone =
|
|
element phone {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
text
|
|
}
|
|
facsimile =
|
|
element facsimile {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
text
|
|
}
|
|
email =
|
|
element email {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute ascii { text }?,
|
|
text
|
|
}
|
|
uri =
|
|
element uri {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
text
|
|
}
|
|
date =
|
|
element date {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute day { text }?,
|
|
attribute month { text }?,
|
|
attribute year { text }?,
|
|
empty
|
|
}
|
|
area =
|
|
element area {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
text
|
|
}
|
|
workgroup =
|
|
element workgroup {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
text
|
|
}
|
|
keyword =
|
|
element keyword {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
text
|
|
}
|
|
abstract =
|
|
element abstract {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
(dl | ol | t | ul)+
|
|
}
|
|
note =
|
|
element note {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute title { text }?,
|
|
attribute pn { text }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute removeInRFC { "true" | "false" }?,
|
|
name?,
|
|
(dl | ol | t | ul)+
|
|
}
|
|
boilerplate =
|
|
element boilerplate {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute pn { text }?,
|
|
section+
|
|
}
|
|
middle =
|
|
element middle {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
section+
|
|
}
|
|
section =
|
|
element section {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
attribute title { text }?,
|
|
[ a:defaultValue = "true" ]
|
|
attribute numbered { "true" | "false" }?,
|
|
[ a:defaultValue = "default" ]
|
|
attribute toc { "include" | "exclude" | "default" }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute removeInRFC { "true" | "false" }?,
|
|
name?,
|
|
(artwork
|
|
| aside
|
|
| blockquote
|
|
| dl
|
|
| figure
|
|
| iref
|
|
| ol
|
|
| sourcecode
|
|
| t
|
|
| table
|
|
| texttable
|
|
| ul)*,
|
|
section*
|
|
}
|
|
name =
|
|
element name {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute slugifiedName { text }?,
|
|
(text | cref | eref | relref | tt | xref)*
|
|
}
|
|
t =
|
|
element t {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
attribute hangText { text }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute keepWithNext { "false" | "true" }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute keepWithPrevious { "false" | "true" }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| \list
|
|
| relref
|
|
| spanx
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| vspace
|
|
| xref)*
|
|
}
|
|
aside =
|
|
element aside {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
(artwork | dl | figure | iref | \list | ol | t | table | ul)*
|
|
}
|
|
blockquote =
|
|
element blockquote {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
attribute cite { text }?,
|
|
attribute quotedFrom { text }?,
|
|
((artwork | dl | figure | ol | sourcecode | t | ul)+
|
|
| (text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| xref)+)
|
|
}
|
|
\list =
|
|
element list {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
[ a:defaultValue = "empty" ] attribute style { text }?,
|
|
attribute hangIndent { text }?,
|
|
attribute counter { text }?,
|
|
t+
|
|
}
|
|
ol =
|
|
element ol {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
[ a:defaultValue = "1" ] attribute type { text }?,
|
|
[ a:defaultValue = "1" ] attribute start { text }?,
|
|
attribute group { text }?,
|
|
[ a:defaultValue = "normal" ]
|
|
attribute spacing { "normal" | "compact" }?,
|
|
li+
|
|
}
|
|
ul =
|
|
element ul {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
[ a:defaultValue = "normal" ]
|
|
attribute spacing { "normal" | "compact" }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute empty { "false" | "true" }?,
|
|
li+
|
|
}
|
|
li =
|
|
element li {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
((artwork | dl | figure | ol | sourcecode | t | ul)+
|
|
| (text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| xref)+)
|
|
}
|
|
dl =
|
|
element dl {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
[ a:defaultValue = "normal" ]
|
|
attribute spacing { "normal" | "compact" }?,
|
|
[ a:defaultValue = "true" ]
|
|
attribute hanging { "false" | "true" }?,
|
|
(dt, dd)+
|
|
}
|
|
dt =
|
|
element dt {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| xref)*
|
|
}
|
|
dd =
|
|
element dd {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
((artwork | dl | figure | ol | sourcecode | t | ul)+
|
|
| (text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| xref)+)
|
|
}
|
|
xref =
|
|
element xref {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute target { xsd:IDREF },
|
|
[ a:defaultValue = "false" ]
|
|
attribute pageno { "true" | "false" }?,
|
|
[ a:defaultValue = "default" ]
|
|
attribute format { "default" | "title" | "counter" | "none" }?,
|
|
attribute derivedContent { text }?,
|
|
text
|
|
}
|
|
relref =
|
|
element relref {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute target { xsd:IDREF },
|
|
[ a:defaultValue = "of" ]
|
|
attribute displayFormat { "of" | "comma" | "parens" | "bare" }?,
|
|
(attribute section { text },
|
|
attribute relative { text }?)?,
|
|
attribute derivedRemoteContent { text }?,
|
|
attribute derivedLink { text }?,
|
|
text
|
|
}
|
|
eref =
|
|
element eref {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute target { text },
|
|
text
|
|
}
|
|
iref =
|
|
element iref {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute item { text },
|
|
[ a:defaultValue = "" ] attribute subitem { text }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute primary { "true" | "false" }?,
|
|
[ a:defaultValue = "" ] attribute irefid { text }?,
|
|
empty
|
|
}
|
|
cref =
|
|
element cref {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute source { text }?,
|
|
[ a:defaultValue = "true" ]
|
|
attribute display { "true" | "false" }?,
|
|
(text | em | eref | relref | strong | sub | sup | tt | xref)*
|
|
}
|
|
tt =
|
|
element tt {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| xref)*
|
|
}
|
|
strong =
|
|
element strong {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| xref)*
|
|
}
|
|
em =
|
|
element em {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| xref)*
|
|
}
|
|
sub =
|
|
element sub {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| strong
|
|
| tt
|
|
| xref)*
|
|
}
|
|
sup =
|
|
element sup {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| strong
|
|
| tt
|
|
| xref)*
|
|
}
|
|
spanx =
|
|
element spanx {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
[ a:defaultValue = "preserve" ]
|
|
attribute xml:space { "default" | "preserve" }?,
|
|
[ a:defaultValue = "emph" ] attribute style { text }?,
|
|
text
|
|
}
|
|
vspace =
|
|
element vspace {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
[ a:defaultValue = "0" ] attribute blankLines { text }?,
|
|
empty
|
|
}
|
|
figure =
|
|
element figure {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
[ a:defaultValue = "" ] attribute title { text }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute suppress-title { "true" | "false" }?,
|
|
attribute src { text }?,
|
|
[ a:defaultValue = "left" ]
|
|
attribute align { "left" | "center" | "right" }?,
|
|
[ a:defaultValue = "" ] attribute alt { text }?,
|
|
[ a:defaultValue = "" ] attribute width { text }?,
|
|
[ a:defaultValue = "" ] attribute height { text }?,
|
|
name?,
|
|
iref*,
|
|
preamble?,
|
|
(artwork | sourcecode)+,
|
|
postamble?
|
|
}
|
|
table =
|
|
element table {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
name?,
|
|
iref*,
|
|
thead?,
|
|
tbody+,
|
|
tfoot?
|
|
}
|
|
preamble =
|
|
element preamble {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| spanx
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| xref)*
|
|
}
|
|
artwork =
|
|
element artwork {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
attribute xml:space { text }?,
|
|
[ a:defaultValue = "" ] attribute name { text }?,
|
|
[ a:defaultValue = "" ] attribute type { text }?,
|
|
attribute src { text }?,
|
|
[ a:defaultValue = "left" ]
|
|
attribute align { "left" | "center" | "right" }?,
|
|
[ a:defaultValue = "" ] attribute alt { text }?,
|
|
[ a:defaultValue = "" ] attribute width { text }?,
|
|
[ a:defaultValue = "" ] attribute height { text }?,
|
|
attribute originalSrc { text }?,
|
|
(text* | svg)
|
|
}
|
|
svg =
|
|
element ns1:svg {
|
|
[ a:defaultValue = "can be found in draft-brownlee-svg-rfc" ]
|
|
attribute TheRealDefinition { text }*,
|
|
# temporary added to make my validation work.
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?
|
|
}
|
|
sourcecode =
|
|
element sourcecode {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
[ a:defaultValue = "" ] attribute name { text }?,
|
|
[ a:defaultValue = "" ] attribute type { text }?,
|
|
attribute src { text }?,
|
|
attribute originalSrc { text }?,
|
|
text
|
|
}
|
|
thead =
|
|
element thead {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
tr+
|
|
}
|
|
tbody =
|
|
element tbody {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
tr+
|
|
}
|
|
tfoot =
|
|
element tfoot {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
tr+
|
|
}
|
|
tr =
|
|
element tr {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
[ a:defaultValue = "0" ] attribute border { text }?,
|
|
(td | th)+
|
|
}
|
|
td =
|
|
element td {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
[ a:defaultValue = "0" ] attribute border { text }?,
|
|
[ a:defaultValue = "0" ] attribute colspan { text }?,
|
|
[ a:defaultValue = "0" ] attribute rowspan { text }?,
|
|
[ a:defaultValue = "left" ]
|
|
attribute align { "left" | "center" | "right" }?,
|
|
(t+
|
|
| (text
|
|
| artwork
|
|
| bcp14
|
|
| br
|
|
| cref
|
|
| dl
|
|
| em
|
|
| eref
|
|
| figure
|
|
| iref
|
|
| ol
|
|
| relref
|
|
| sourcecode
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| ul
|
|
| xref)+)
|
|
}
|
|
th =
|
|
element th {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute pn { text }?,
|
|
[ a:defaultValue = "0" ] attribute border { text }?,
|
|
[ a:defaultValue = "0" ] attribute colspan { text }?,
|
|
[ a:defaultValue = "0" ] attribute rowspan { text }?,
|
|
[ a:defaultValue = "left" ]
|
|
attribute align { "left" | "center" | "right" }?,
|
|
(t+
|
|
| (text
|
|
| artwork
|
|
| bcp14
|
|
| br
|
|
| cref
|
|
| dl
|
|
| em
|
|
| eref
|
|
| figure
|
|
| iref
|
|
| ol
|
|
| relref
|
|
| sourcecode
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| ul
|
|
| xref)+)
|
|
}
|
|
postamble =
|
|
element postamble {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text | cref | eref | iref | spanx | xref)*
|
|
}
|
|
texttable =
|
|
element texttable {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
[ a:defaultValue = "" ] attribute title { text }?,
|
|
[ a:defaultValue = "false" ]
|
|
attribute suppress-title { "true" | "false" }?,
|
|
[ a:defaultValue = "center" ]
|
|
attribute align { "left" | "center" | "right" }?,
|
|
[ a:defaultValue = "full" ]
|
|
attribute style { "all" | "none" | "headers" | "full" }?,
|
|
name?,
|
|
preamble?,
|
|
ttcol+,
|
|
c*,
|
|
postamble?
|
|
}
|
|
ttcol =
|
|
element ttcol {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute width { text }?,
|
|
[ a:defaultValue = "left" ]
|
|
attribute align { "left" | "center" | "right" }?,
|
|
(cref | eref | iref | xref | text)*
|
|
}
|
|
c =
|
|
element c {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text | cref | eref | iref | spanx | xref)*
|
|
}
|
|
bcp14 =
|
|
element bcp14 {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
text
|
|
}
|
|
br =
|
|
element br {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
empty
|
|
}
|
|
back =
|
|
element back {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
displayreference*,
|
|
references*,
|
|
section*
|
|
}
|
|
displayreference =
|
|
element displayreference {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute target { xsd:IDREF },
|
|
attribute to { text }
|
|
}
|
|
references =
|
|
element references {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID }?,
|
|
attribute title { text }?,
|
|
name?,
|
|
(reference | referencegroup)*
|
|
}
|
|
reference =
|
|
element reference {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID },
|
|
attribute target { text }?,
|
|
[ a:defaultValue = "true" ]
|
|
attribute quoteTitle { "true" | "false" }?,
|
|
front,
|
|
(annotation | format | refcontent | seriesInfo)*
|
|
}
|
|
referencegroup =
|
|
element referencegroup {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute anchor { xsd:ID },
|
|
reference+
|
|
}
|
|
seriesInfo =
|
|
element seriesInfo {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute name { text },
|
|
attribute value { text },
|
|
attribute asciiName { text }?,
|
|
attribute asciiValue { text }?,
|
|
empty
|
|
}
|
|
format =
|
|
element format {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
attribute target { text }?,
|
|
attribute type { text },
|
|
attribute octets { text }?,
|
|
empty
|
|
}
|
|
annotation =
|
|
element annotation {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text
|
|
| bcp14
|
|
| cref
|
|
| em
|
|
| eref
|
|
| iref
|
|
| relref
|
|
| spanx
|
|
| strong
|
|
| sub
|
|
| sup
|
|
| tt
|
|
| xref)*
|
|
}
|
|
refcontent =
|
|
element refcontent {
|
|
attribute xml:base { text }?,
|
|
attribute xml:lang { text }?,
|
|
(text | bcp14 | em | strong | sub | sup | tt)*
|
|
}
|
|
start = rfc
|