source: rfc2629xslt/rfc2629-ext.rnc @ 2761

Last change on this file since 2761 was 2761, checked in by julian.reschke@…, 13 months ago

update XSLTs

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