source: rfc2629xslt/rfc2629-ext.rnc

Last change on this file was 2762, checked in by julian.reschke@…, 10 months ago

update specs and rfc2629.xslt

File size: 25.5 KB
Line 
1# Automatically extracted from rfc2629xslt.xml. DO NOT EDIT!
2
3# WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.
4
5# Define our extension namespace
6namespace x = "http://purl.org/net/xml2rfc/ext"
7
8# Define GRDDL namespace
9namespace grddl = "http://www.w3.org/2003/g/data-view#"
10
11# Define RDF namespace
12namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
13
14# Define SVG namespace
15namespace svg = "http://www.w3.org/2000/svg"
16
17# Define XInclude namespace
18namespace xi = "http://www.w3.org/2001/XInclude"
19
20# Include rfc2629bis RNC grammar
21include "rfc2629.rnc" {
22 
23  # Redefine <address> to allow multiple email addresses
24  address =
25    element address {
26      attlist.address,
27      postal?,
28      phone?,
29      facsimile?,
30      email*,
31      uri?
32  }
33
34  # Redefine <annotation> to allow more markup
35  annotation =
36    element annotation {
37      attlist.annotation,
38      (TEXT
39        | xref
40        | eref
41        | iref
42        | cref
43        | spanx
44        | v3_tt
45        )*
46    }
47
48  # Redefine <artwork> to allow markup
49  artwork =
50    element artwork {
51      attlist.artwork,
52      attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
53      ( v3_svg |
54        (TEXT
55          | eref
56          | iref
57          | spanx
58          | xref
59          | v3_em
60          | v3_strong
61          | x_abnf-char-sequence
62          | x_bb
63          | x_bc
64          | x_bcp14
65          | x_bt
66          | x_highlight
67          | x_length-of
68          | x_parse-xml
69          | x_ref
70          | x_span
71          | x_x)*
72        )
73    }
74
75  # Redefine <back> to allow displayreference
76  back =
77    element back {
78      attlist.back,
79      v3_displayreference*,
80      references*,
81      section*
82    }
83
84  # Redefine <c> to allow our extension elements
85  c =
86    element c {
87      attlist.c,
88      (TEXT
89        | xref
90        | eref
91        | iref
92        | cref
93        | spanx
94        | v3_em
95        | v3_strong
96        | v3_tt
97        | x_ref)*
98    }
99
100  # Redefine <cref> to allow more child elements
101  cref =
102    element cref {
103      attlist.cref,
104      (TEXT
105        | eref
106        | xref
107        | x_ref)*
108    }
109
110  # Redefine <date> to allow text content (see Section 11.26)
111  date =
112    element date {
113      attlist.date,
114      TEXT?
115    }
116
117  # Redefine <figure> to allow more child elements
118  figure =
119    element figure {
120      attlist.figure,
121      attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
122      v3_name?,
123      iref*,
124      preamble?,
125      (artwork
126        | v3_sourcecode
127        | v3_artset
128      ),
129      postamble?
130    }
131
132  # Redefine <front> to allow boilerplate
133  front =
134    element front {
135      attlist.front,
136      title,
137      seriesInfo*,
138      author+,
139      date?,
140      area*,
141      workgroup*,
142      keyword*,
143      abstract?,
144      note*,
145      v3_boilerplate?
146    }
147 
148  # Redefine <list> element to allow <x:lt> child elements
149  \list =
150    element list {
151      attlist.list,
152      (t+ | x_lt+)
153    }   
154   
155  # Redefine <note> to allow <name> and not require title attribute
156  note =
157    element note {
158      attlist.x_note,
159      v3_name?,
160      (v3_dl
161        | v3_ol
162        | t
163        | v3_ul)+     
164    }
165
166  # Redefine <preamble> to allow our extension elements
167  preamble =
168    element preamble {
169      attlist.preamble,
170      (TEXT
171        | xref
172        | eref
173        | iref
174        | cref
175        | spanx
176        | v3_em
177        | v3_strong
178        | v3_tt
179        | x_anchor-alias
180        | x_bcp14)*
181  }
182
183  # Redefine <postal> to allow <postalLine> and new detail elements
184  postal =
185    element postal {
186      (
187        (city
188          | code
189          | country
190          | v3_cityarea
191          | v3_extaddr
192          | v3_pobox
193          | v3_sortingcode
194          | region
195          | street)*
196          | (v3_postalLine+,
197          country?
198          ))
199    }
200
201  # Redefine <postamble> to allow our extension elements
202  postamble =
203    element postamble {
204      attlist.postamble,
205      (TEXT
206        | xref
207        | eref
208        | iref
209        | cref
210        | spanx
211        | v3_em
212        | v3_strong
213        | v3_tt
214        | x_bcp14)*
215    }
216
217  # Redefine <reference> to allow our extension elements
218  reference =
219    element reference {
220      attlist.reference,
221      (
222        (
223          front,
224          v3_refcontent?,
225          seriesInfo*,
226          x_prose?,
227          v3_refcontent?,
228          format*,
229          annotation*,
230          x_source?
231        ) | (
232          v3_refcontent?,
233          seriesInfo*,
234          x_prose?,
235          v3_refcontent?,
236          format*,
237          annotation*,
238          x_source
239        )
240      )
241    }
242
243  # Redefine <references> to allow extension elements and attributes
244  references =
245    element references {
246      attribute title { text }?,
247      attribute anchor { xsd:ID }?,
248      attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
249      v3_name?,
250      (references+ # (see [V3IMPNOTES], Section 3.1.16)
251       |
252        (reference
253         | v3_referencegroup
254         | xi_include)+
255       )
256    }
257
258  # Redefine <rfc> to allow our extension elements
259  rfc =
260    element rfc {
261      attribute xml:lang { text }?,
262      attribute grddl:transformation { ATEXT }?,
263      attribute x:maturity-level { "proposed" | "draft" | "internet" }?,
264      attribute category { "std" | "bcp" | "info" | "exp" | "historic" }?,
265      attribute consensus { "false" | "true" | "no" | "yes" }?,
266      attribute docName { text }?,
267      attribute indexInclude { "true" | "false" }?, # (see [RFC7991bis], Section 2.48.4)
268      attribute ipr {
269        "full2026"
270        | "noDerivativeWorks2026"
271        | "none"
272        | "full3667"
273        | "noModification3667"
274        | "noDerivatives3667"
275        | "full3978"
276        | "noModification3978"
277        | "noDerivatives3978"
278        | "trust200811"
279        | "noModificationTrust200811"
280        | "noDerivativesTrust200811"
281        | "trust200902"
282        | "noModificationTrust200902"
283        | "noDerivativesTrust200902"
284        | "pre5378Trust200902"
285      }?,
286      attribute iprExtract { xsd:IDREF }?,
287      attribute number { text }?,
288      attribute obsoletes { text }?,
289      attribute tocDepth { text }?, # (see [RFC7991bis], Section 2.48.14)
290      attribute tocInclude { "true" | "false" }?, # (see [RFC7991bis], Section 2.48.15)
291      attribute scripts { text }?, # (see [RFC7991bis], Appendix B.3)
292      attribute seriesNo { text }?,
293      attribute sortRefs { "true" | "false" }?, # (see [RFC7991bis], Section 2.48.11)
294      attribute submissionType { "IETF" | "IAB" | "IRTF" | "independent" }?,
295      attribute symRefs { "true" | "false" }?, # (see [RFC7991bis], Section 2.48.13)
296      attribute updates { text }?,
297      attribute version { text }?, # (see [RFC7991bis], Section 2.48.13)
298      v3_link*,
299      x_link*,
300      x_feedback?,
301      x_assign-section-number*,
302      front,
303      middle,
304      back?
305    }
306
307  # Redefine <section> to allow new elements
308  section =
309    element section {
310      attlist.x_section,
311      (t
312       | artwork
313       | figure
314       | texttable
315       | iref
316       | section
317       | v3_artset
318       | v3_aside
319       | v3_blockquote
320       | v3_contact
321       | v3_dl
322       | v3_name
323       | v3_ol
324       | v3_sourcecode
325       | v3_table
326       | v3_ul
327       | x_anchor-alias
328       | x_blockquote
329       | x_contributor
330       | x_include-author
331       | x_note
332       | x_u-map
333       | rdf_Description)*
334    }
335
336  # Redefine <spanx> to allow some markup
337  spanx =
338    element spanx {
339      attlist.spanx,
340      (TEXT
341        | iref
342        | xref
343        | x_ref)*
344    }
345
346  # Redefine <t> to allow our extension elements
347  t =
348    element t {
349      attlist.t,
350      (TEXT
351       | \list
352       | figure
353       | xref
354       | eref
355       | iref
356       | cref
357       | spanx
358       | vspace
359       | v3_bcp14
360       | v3_br
361       | v3_contact
362       | v3_em
363       | v3_relref
364       | v3_strong
365       | v3_sub
366       | v3_sup
367       | v3_tt
368       | v3_u
369       | x_abnf-char-sequence
370       | x_anchor-alias
371       | x_bcp14
372       | x_dfn
373       | x_h
374       | x_q
375       | x_ref
376       | x_span
377       | x_sup)*
378    }
379
380  # Redefine <title> to allow <br>
381  title =
382    element title {
383      attlist.title,
384      (TEXT
385        | v3_br)*
386    }
387
388  # Redefine <xref> to allow some markup
389  xref =
390    element xref {
391      attlist.xref,
392      (TEXT
393        | v3_em
394        | v3_strong
395        | v3_sub
396        | v3_sup
397        | v3_tt)*
398    }
399}
400
401# Extend attribute set for <abstract>
402attlist.abstract &=
403  attribute anchor { xsd:ID }?, # (see [RFC7991bis], Section 2.1.1)
404  attribute pn { text }? # (see [RFC7991bis], Appendix B.2)
405
406# Allow extension attributes on <artwork> (Section 11.25)
407attlist.artwork &=
408  attribute anchor { xsd:ID }?,
409  attribute originalSrc { text }?, # (see [RFC7991bis], Appendix B.3)
410  attribute x:indent-with { ATEXT }?,
411  attribute x:lang { "" }?,
412  attribute x:is-code-component { "no" | "yes" }?
413
414# Allow anchor and x:annotation attributes on <author>
415attlist.author &=
416  attribute asciiFullname { ATEXT }?,
417  attribute asciiInitials { ATEXT }?,
418  attribute asciiSurname { ATEXT }?,
419  attribute anchor { xsd:ID }?,
420  attribute x:annotation { ATEXT }?
421 
422# Extend attribute set for <c>
423attlist.c &=
424  attribute anchor { xsd:ID }?
425
426# Extend attribute set for <city>
427attlist.city &=
428  attribute ascii { ATEXT }?
429
430# Extend attribute set for <code>
431attlist.code &=
432  attribute ascii { ATEXT }?
433
434# Extend attribute set for <country>
435attlist.country &=
436  attribute ascii { ATEXT }?
437
438# Extend attribute set for <cref> (see Section 2.17.2 of [RFC7991bis])
439attlist.cref &=
440  attribute display { "false" | "true" }?
441
442# Extend attribute set for <date> (see Section 11.26)
443attlist.date &=
444  attribute x:include-day { "false" | "true" }?
445
446# Extend attribute set for <eref> (see Section 11.27)
447attlist.eref &=
448  attribute brackets { "none" | "angle" }?
449
450# Extend attribute set for <iref> (see Section 11.28)
451attlist.iref &=
452  attribute x:for-anchor { ATEXT }?
453
454# Extend attribute set for <list> (see Section 11.29)
455attlist.list &=
456  attribute x:indent { ATEXT }?
457
458# Extend/Relax attribute set for <note>
459attlist.x_note &=
460  attribute anchor { xsd:ID }?,
461  attribute title { ATEXT }?,
462  attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
463  attribute removeInRFC { "false" | "true" }? # see Section 12.25.2
464
465# Extend attribute set for <preamble>
466attlist.preamble &=
467  attribute anchor { xsd:ID }?
468
469# Extend attribute set for <organization>
470attlist.organization &=
471  attribute ascii { ATEXT }?,
472  attribute showOnFrontPage { "false" | "true" }?
473
474# Extend attribute set for <reference>
475attlist.reference &=
476  attribute quoteTitle { "false" | "true" }?, # (see Section 12.22.1)
477  attribute xml:base { text }? # (see [RFC7991bis], Section 2)
478
479# Extend attribute set for <references>
480attlist.references &=
481  attribute pn { text }? # (see [RFC7991bis], Appendix B.2)
482
483# Extend attribute set for <region>
484attlist.region &=
485  attribute ascii { ATEXT }?
486
487# Extend/Relax attribute set for <section> (see Section 11.31)
488attlist.x_section &=
489  attribute anchor { xsd:ID }?,
490  attribute title { ATEXT }?,
491  attribute toc { "include" | "exclude" | "default" }?,
492  attribute numbered { "false" | "true" }?, # see Section 12.25.1
493  attribute removeInRFC { "false" | "true" }?, # see Section 12.25.2
494  attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
495  attribute x:fixed-section-number { ATEXT }?
496
497# Allow anchor attribute on <spanx>
498attlist.spanx &=
499  attribute anchor { xsd:ID }?
500
501# Extend attribute set for <street>
502attlist.street &=
503  attribute ascii { ATEXT }?
504
505# Extend attribute set for <c> (see Section 11.28)
506attlist.t &=
507  attribute indent { text }?,
508  attribute keepWithNext { text }?,
509  attribute keepWithPrevious { text }?,
510  attribute pn { text }? # (see [RFC7991bis], Appendix B.2)
511
512# Extend attribute set for <texttable>
513attlist.texttable &=
514  attribute x:caption-side { ATEXT }?
515
516# Extend attribute set for <title>
517attlist.title &=
518  attribute ascii { ATEXT }?,
519  attribute x:quotes { "true" | "false" }? # (deprecated, see Section 12.22.1)
520
521# Allow annotation attribute on <uri>
522attlist.uri &=
523  attribute x:annotation { ATEXT }?
524
525# Extend attribute set for <xref> (see Section 11.32)
526attlist.xref &=
527  attribute derivedContent { text }?, # (see [RFC7991bis], Appendix B.3)
528  attribute x:fmt  { "()" | "," | "of" | "number" | "sec" |
529                     "none" }?,
530  attribute x:rel  { ATEXT }?,
531  attribute x:sec  { ATEXT }?,
532  attribute relative  { ATEXT }?,
533  attribute section  { ATEXT }?,
534  attribute sectionFormat  { "bare" | "comma" | "of" | "parens" }?
535 
536
537# Set of artwork (see Section 12.1)
538v3_artset =
539  element artset {
540    attribute anchor { xsd:ID }?,
541    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
542    artwork+
543  }
544
545# Side Note (see Section 12.2)
546v3_aside =
547  element aside {
548    attribute anchor { xsd:ID }?,
549    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
550    (artwork
551      | figure
552      | iref
553      | t
554      | v3_blockquote
555      | v3_dl
556      | v3_ol
557      | v3_table
558      | v3_ul)*
559  }
560
561# BCP14/RFC2119 keywords (see Section 12.3)
562v3_bcp14 =
563  element bcp14 {
564    TEXT
565  }
566
567# Blockquote (see Section 12.4)
568v3_blockquote =
569  element blockquote {
570    attribute anchor { xsd:ID }?,
571    attribute cite { URI }?,
572    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
573    attribute quotedFrom { ATEXT }?,
574    (
575      (artwork
576        | v3_dl
577        | figure
578        | v3_ol
579        | v3_sourcecode
580        | t
581        | v3_ul)+
582    |
583      (TEXT
584        | v3_bcp14
585        | cref
586        | v3_em
587        | eref
588        | iref
589        | v3_strong
590        | v3_sub
591        | v3_sup
592        | v3_tt
593        | xref)+
594    )
595  }
596
597# Boilerplate (see Section 12.4)
598v3_boilerplate =
599  element boilerplate {
600    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
601    section+
602  }
603
604# Forced Line Break (see Section 12.6)
605v3_br =
606  element br {
607    empty
608  }
609
610# (see Section 12.7)
611v3_cityarea =
612  element cityarea {
613    attribute ascii { ATEXT }?,
614    TEXT
615  }
616
617# (see Section 12.8)
618v3_contact =
619  element contact {
620    attribute initials { text }?,
621    attribute asciiInitials { text }?,
622    attribute surname { text }?,
623    attribute asciiSurname { text }?,
624    attribute fullname { text }?,
625    attribute asciiFullname { text }?,
626    organization?,
627    address?
628  }
629
630# Mapping of reference names to display names (see Section 12.9)
631v3_displayreference =
632  element displayreference {
633    attribute target { xsd:IDREF },
634    attribute to { ATEXT }
635  }
636
637# Definition List Description Element (see Section 12.10)
638v3_dd =
639  element dd {
640    attribute anchor { xsd:ID }?,
641    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
642    ((v3_artset
643      | artwork
644      | figure
645      | t
646      | v3_aside
647      | v3_dl
648      | v3_ol
649      | v3_table
650      | v3_sourcecode
651      | v3_ul)+ |
652    (TEXT
653      | cref
654      | eref
655      | iref
656      | xref
657      | v3_bcp14
658      | v3_br
659      | v3_em
660      | v3_sub
661      | v3_sup
662      | v3_tt
663      | v3_strong
664      | v3_u
665      | x_ref)*
666    )
667  }
668
669# Definition List (see Section 12.11)
670v3_dl =
671  element dl {
672    attribute anchor { xsd:ID }?, # (see [RFC7991bis], Section 2.21.1)
673    attribute indent { text }?,
674    attribute newline { "false" | "true" }?,
675    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
676    attribute spacing { "normal" | "compact" }?,
677    (v3_dt, v3_dd)+
678  }
679
680# Definition List Description Term (see Section 12.12)
681v3_dt =
682  element dt {
683    attribute anchor { xsd:ID }?,
684    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
685    (TEXT
686      | cref
687      | eref
688      | iref
689      | xref
690      | v3_em
691      | v3_tt
692      | v3_strong)*
693  }
694
695# Emphasized Text (see Section 12.13)
696v3_em =
697  element em {
698    attribute anchor { xsd:ID }?,
699    (TEXT
700      | eref
701      | iref
702      | xref
703      | v3_strong
704      | x_ref)*
705  }
706
707# Extended Postal Address (see Section 12.14)
708v3_extaddr =
709  element extaddr {
710    attribute ascii { ATEXT }?,
711    TEXT
712  }
713
714# Definition List (see Section 12.15)
715v3_li =
716  element li {
717    attribute anchor { xsd:ID }?,
718    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
719    ((v3_artset
720      | artwork
721      | figure
722      | v3_blockquote
723      | v3_dl
724      | v3_ol
725      | t
726      | v3_table
727      | v3_sourcecode
728      | v3_ul
729    )+
730      |
731    (TEXT
732      | cref
733      | eref
734      | iref
735      | xref
736      | v3_bcp14
737      | v3_em
738      | v3_strong
739      | v3_sub
740      | v3_sup
741      | v3_tt
742      | v3_u
743      | x_dfn
744      | x_ref)*
745    )
746  }
747
748# Container for additional links (see Section 12.16)
749v3_link =
750  element link {
751    attribute href { text },
752    attribute rel { text }?
753  }
754
755# Section/Figure/Table Name (see Section 12.17)
756v3_name =
757  element name {
758    attribute slugifiedName { text }?, # (see [RFC7991bis], Appendix B.2)
759    (TEXT
760      | cref
761      | v3_br
762      | v3_em
763      | v3_sup
764      | v3_tt
765      | xref)*
766  }
767
768# Ordered List (see Section 12.18)
769v3_ol =
770  element ol {
771    attribute anchor { xsd:ID }?,
772    attribute indent { text }?,
773    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
774    attribute start { TEXT }?,
775    attribute group { TEXT }?,
776    attribute type { TEXT }?,
777    v3_li+
778  }
779
780# Extended Postal Address (see Section 12.19)
781v3_pobox =
782  element pobox {
783    attribute ascii { ATEXT }?,
784    TEXT
785  }
786
787# Line in postal address (see Section 12.20)
788v3_postalLine =
789  element postalLine {
790    attribute ascii { TEXT }?,
791    TEXT
792  }
793
794# EXPERIMENTAL DO NOT USE YET (see Section 12.24)
795v3_relref =
796  element relref {
797    attribute derivedLink { text }?, # (see [RFC7991bis], Appendix B.3)
798    attribute displayFormat { "of" | "comma" | "parens" | "bare" }?,
799    attribute relative { text }?,
800    attribute section { text },
801    attribute target { xsd:IDREF },
802    TEXT
803  }
804
805# additional content for references (see Section 12.21)
806v3_refcontent =
807  element refcontent {
808    (TEXT
809      | v3_em)*
810  }
811
812# reference group (see Section 12.23)
813v3_referencegroup =
814  element referencegroup {
815    attribute anchor { xsd:ID },
816    attribute target { URI }?,
817    (reference
818      | xi_include)+
819  }
820
821# (see Section 12.26)
822v3_sortingcode =
823  element sortingcode {
824    attribute ascii { ATEXT }?,
825    TEXT
826  }
827
828# Source Code (see Section 12.27)
829v3_sourcecode =
830  element sourcecode {
831    attribute anchor { xsd:ID }?,
832    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
833    attribute markers { text }?, #(see [V3IMPNOTES], Section 3.1.22)
834    attribute name { text }?,
835    attribute type { text }?,
836    attribute x:lang { "" }?,
837    (TEXT
838      | iref
839      | xref
840      | x_ref)*
841  }
842
843# Emphasized Text (see Section 12.28)
844v3_strong =
845  element strong {
846    attribute anchor { xsd:ID }?,
847    (TEXT
848      | xref
849      | v3_em
850      | x_ref)*
851  }
852
853# Subscript (see Section 12.29)
854v3_sub =
855  element sub {
856    (TEXT
857      | v3_sup)*
858  }
859
860# Superscript (see Section 12.30)
861v3_sup =
862  element sup {
863    (TEXT
864      | v3_sub)*
865  }
866
867# Table (see Section 12.32)
868v3_table =
869  element table {
870    attribute anchor { xsd:ID }?,
871    attribute align { "left" | "center" | "right" }?,
872    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
873    v3_name?,
874    iref*,
875    v3_thead?,
876    v3_tbody+,
877    v3_tfoot?
878  }
879
880# Table Body (see Section 12.33)
881v3_tbody =
882  element tbody {
883    attribute anchor { xsd:ID }?,
884    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
885    v3_tr+
886  }
887
888# Table Contents Cell (see Section 12.34)
889v3_td =
890  element td {
891    attribute anchor { xsd:ID }?,
892    attribute align { "left" | "center" | "right" }?,
893    attribute colspan { text }?,
894    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
895    attribute rowspan { text }?,
896    ( (t
897       | v3_dl
898       | v3_ol
899       | v3_sourcecode
900       | v3_ul
901      )+
902      | (TEXT
903         | v3_bcp14
904         | v3_br
905         | cref
906         | v3_em
907         | eref
908         | v3_strong
909         | v3_sub
910         | v3_sup
911         | v3_tt
912         | xref)*
913    )
914  }
915
916# Table Footer (see Section 12.35)
917v3_tfoot =
918  element tfoot {
919    attribute anchor { xsd:ID }?,
920    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
921    v3_tr
922  }
923
924# Table Header Cell (see Section 12.36)
925v3_th =
926  element th {
927    attribute anchor { xsd:ID }?,
928    attribute align { "left" | "center" | "right" }?,
929    attribute colspan { text }?,
930    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
931    attribute rowspan { text }?,
932    ( (t
933       | v3_dl
934       | v3_ol
935       | v3_sourcecode
936       | v3_ul
937      )+
938      | (TEXT
939         | v3_bcp14
940         | cref
941         | v3_em
942         | eref
943         | v3_strong
944         | v3_sub
945         | v3_sup
946         | v3_tt
947         | xref)*
948    )
949  }
950
951# Table Head (see Section 12.37)
952v3_thead =
953  element thead {
954    attribute anchor { xsd:ID }?,
955    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
956    v3_tr+
957  }
958
959# Table Row (see Section 12.38)
960v3_tr =
961  element tr {
962    attribute anchor { xsd:ID }?,
963    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
964    (
965      v3_td
966      | v3_th
967    )+
968  }
969
970# Monospaced Text (see Section 12.39)
971v3_tt =
972  element tt {
973    (TEXT
974      | xref
975      | v3_em
976      | x_ref)*
977  }
978
979# Non-ASCII characters (see Section 12.40)
980v3_u =
981  element u {
982    attribute ascii { text }?,
983    attribute format { text }?,
984    TEXT
985  }
986
987# Unordered List (see Section 12.41)
988v3_ul =
989  element ul {
990    attribute anchor { xsd:ID }?,
991    attribute bare { "false" | "true" }?, # but see <https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/547>
992    attribute indent { text }?,
993    attribute empty { "false" | "true" }?,
994    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
995    v3_li+
996  }
997
998# SVG (see Section 12.31)
999v3_svg =
1000  element svg:svg {
1001    (attribute * { text }
1002        | text
1003        | anySVGElement)*
1004  }
1005
1006 anySVGElement =
1007    element svg:* {
1008       (attribute * { text }
1009        | text
1010        | anySVGElement)*
1011    }
1012     
1013# Conversion to ABNF char sequence (see Section 11.1)
1014x_abnf-char-sequence =
1015  element x:abnf-char-sequence {
1016    TEXT
1017  }
1018
1019# Aliasing of anchors (see Section 11.2)
1020x_anchor-alias =
1021  element x:anchor-alias {
1022    attribute value { TEXT },
1023    empty
1024  }
1025
1026# Contributor information (see Section 11.9)
1027# (experimental)
1028x_contributor =
1029  element x:contributor {
1030    attlist.author,
1031    organization?,
1032    address?
1033  }
1034
1035# Supply feedback links (see Section 11.11)
1036x_feedback =
1037  element x:feedback {
1038    attribute template { TEXT },
1039    empty
1040  }
1041
1042# Including Author information
1043# (experimental)
1044x_include-author =
1045  element x:include-author {
1046    attribute target { xsd:IDREF }
1047  }
1048
1049# Setting section numbers for internally generated sections
1050# (experimental)
1051x_assign-section-number =
1052  element x:assign-section-number {
1053    attribute builtin-target { "authors" },
1054    attribute number { TEXT },
1055    empty
1056  }
1057
1058# Bottom line of box drawing (see Section 11.3)
1059x_bb =
1060  element x:bb {
1061    (TEXT
1062      | iref
1063      | xref
1064      | x_bb
1065      | x_bc
1066      | x_bt
1067      | x_ref)*
1068  }
1069
1070# Center line of box drawing (see Section 11.4)
1071x_bc =
1072  element x:bc {
1073    (TEXT
1074      | iref
1075      | spanx
1076      | xref
1077      | x_bb
1078      | x_bc
1079      | x_bt
1080      | x_ref)*
1081  }
1082
1083# BCP14/RFC2119 keywords (see Section 11.5)
1084x_bcp14 =
1085  element x:bcp14 {
1086    TEXT
1087  }
1088 
1089# Blockquote (see Section 11.6)
1090x_blockquote =
1091  element x:blockquote {
1092    attribute anchor { xsd:ID }?,
1093    attribute cite { URI }?,
1094    t+
1095  }
1096
1097# Top line of box drawing (see Section 11.7)
1098x_bt =
1099  element x:bt {
1100    (TEXT
1101      | iref
1102      | xref
1103      | x_bb
1104      | x_bc
1105      | x_bt
1106      | x_ref)*
1107  }
1108
1109# Unicode character map entry (see Section 11.8)
1110x_c =
1111  element x:c {
1112    attribute c { TEXT },
1113    attribute d { TEXT }?,
1114    attribute n { TEXT }
1115  }
1116
1117# declaration of definition in external reference
1118x_defines =
1119  element x:defines {
1120    TEXT
1121  }
1122
1123# Definition (see Section 11.10)
1124x_dfn =
1125  element x:dfn {
1126    attribute anchor { xsd:ID }?,
1127    (TEXT
1128      | iref)*
1129  }
1130 
1131# Heading (see Section 11.12)
1132x_h =
1133  element x:h {
1134    TEXT
1135  }
1136
1137# declaration of anchor in external reference
1138x_has =
1139  element x:has {
1140    attribute anchor { xsd:ID }?
1141  }
1142
1143# Heading (see Section 11.13)
1144x_highlight =
1145  element x:highlight {
1146    TEXT
1147  }
1148
1149# Length Measurement (see Section 11.14)
1150x_length-of =
1151  element x:length-of {
1152    attribute indented { NUMBER }?,
1153    attribute target { xsd:IDREF },
1154    empty
1155  }
1156
1157# Link (see Section 11.15)
1158x_link =
1159  element x:link {
1160    attribute basename { URI }?,
1161    attribute href { URI }?,
1162    attribute title { TEXT }?,
1163    attribute rel { TEXT },
1164    empty
1165  }
1166 
1167# Extended list item (see Section 11.16)
1168x_lt =
1169  element x:lt {
1170    attribute anchor { xsd:ID }?,
1171    attribute hangText { TEXT }?,
1172    t+
1173  }
1174
1175# Note (see Section 11.17)
1176x_note =
1177  element x:note {
1178    attribute anchor { xsd:ID }?,
1179    t+
1180  }
1181
1182# Signal XML content (see Section 11.18)
1183x_parse-xml =
1184  element x:parse-xml {
1185    (TEXT
1186      | xref)*
1187  }
1188
1189# Inline prose in a reference (see Section 11.19)
1190x_prose =
1191  element x:prose {
1192    TEXT
1193  }
1194
1195# Inline quote (see Section 11.20)
1196x_q =
1197  element x:q {
1198    TEXT
1199  }
1200
1201# Anchor reference (see Section 11.21) 
1202x_ref =
1203  element x:ref {
1204    attribute anchor { xsd:ID }?,
1205    TEXT
1206  }
1207
1208# source information (see Section 11.22) 
1209x_source =
1210  element x:source {
1211    attribute basename { ATEXT }?,
1212    attribute href { URI },
1213    x_defines*,
1214    x_has*
1215  }
1216
1217# superscript (see Section 11.23)
1218x_sup =
1219  element x:sup {
1220    TEXT
1221  }
1222
1223# Inline Span
1224x_span =
1225  element x:span {
1226    attribute anchor { xsd:ID }?,
1227    attribute x:lang { "" }?,
1228    (TEXT
1229      | x_parse-xml)*
1230  }
1231
1232# Unicode character map (see Section 11.24)
1233x_u-map =
1234  element x:u-map {
1235    x_c*
1236  }
1237
1238# Nop (for alignment in source)
1239x_x =
1240  element x:x {
1241    empty
1242  }
1243
1244# XInclude (see Section 12.43)
1245xi_include =
1246  element xi:include {
1247    attribute href { text },
1248    empty
1249  }
1250
1251# Embed RDF statements
1252rdf_Description =
1253  element rdf:Description {
1254    rdf_content
1255  }
1256 
1257rdf_content =
1258  ( TEXT | element * { rdf_content })*
Note: See TracBrowser for help on using the repository browser.