source: rfc2629xslt/rfc2629-ext.rnc

Last change on this file was 2754, checked in by julian.reschke@…, 4 years ago

update XSLTs, add RFC 7838

File size: 13.4 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 <annotation> to allow more markup
24  annotation =
25    element annotation {
26      attlist.annotation,
27      (TEXT
28        | xref
29        | eref
30        | iref
31        | cref
32        | spanx
33        | v3_tt
34        )*
35    }
36
37  # Redefine <artwork> to allow markup
38  artwork =
39    element artwork {
40      attlist.artwork,
41      ( v3_svg |
42        (TEXT
43          | eref
44          | iref
45          | spanx
46          | xref
47          | v3_em
48          | v3_strong
49          | x_abnf-char-sequence
50          | x_bb
51          | x_bc
52          | x_bcp14
53          | x_bt
54          | x_highlight
55          | x_length-of
56          | x_parse-xml
57          | x_ref
58          | x_span
59          | x_x)*
60        )
61    }
62
63  # Redefine <back> to allow displayreference
64  back =
65    element back {
66      attlist.back,
67      v3_displayreference*,
68      references*,
69      section*
70    }
71
72  # Redefine <c> to allow our extension elements
73  c =
74    element c {
75      attlist.c,
76      (TEXT
77        | xref
78        | eref
79        | iref
80        | cref
81        | spanx
82        | v3_em
83        | v3_strong
84        | v3_tt
85        | x_ref)*
86    }
87
88  # Redefine <cref> to allow more child elements
89  cref =
90    element cref {
91      attlist.cref,
92      (TEXT
93        | eref
94        | xref)*
95    }
96
97  # Redefine <figure> to allow more child elements
98  figure =
99    element figure {
100      attlist.cref,
101      iref*,
102      preamble?,
103      ( artwork | v3_sourcecode),
104      postamble?
105    }
106
107  # Redefine <front> to allow boilerplate
108  front =
109    element front {
110      attlist.front,
111      title,
112      author+,
113      date,
114      area*,
115      workgroup*,
116      keyword*,
117      abstract?,
118      v3_boilerplate?,
119      note*
120    }
121 
122  # Redefine <list> element to allow <x:lt> child elements
123  \list =
124    element list {
125      attlist.list,
126      (t+ | x_lt+)
127    }   
128   
129  # Redefine <preamble> to allow our extension elements
130  preamble =
131    element preamble {
132      attlist.preamble,
133      (TEXT
134        | xref
135        | eref
136        | iref
137        | cref
138        | spanx
139        | v3_em
140        | v3_strong
141        | v3_tt
142        | x_anchor-alias
143        | x_bcp14)*
144  }
145
146  # Redefine <postal> to allow <postalLine>
147  postal =
148    element postal {
149      (
150        (city
151          | code
152          | country
153          | region
154          | street)*
155        | v3_postalLine+)
156    }
157
158  # Redefine <postamble> to allow our extension elements
159  postamble =
160    element postamble {
161      attlist.postamble,
162      (TEXT
163        | xref
164        | eref
165        | iref
166        | cref
167        | spanx
168        | v3_em
169        | v3_strong
170        | v3_tt
171        | x_bcp14)*
172    }
173
174  # Redefine <reference> to allow our extension elements
175  reference =
176    element reference {
177      attlist.reference,
178      front,
179      seriesInfo*,
180      x_prose?,
181      v3_refcontent?,
182      format*,
183      annotation*,
184      x_source?
185    }
186
187  # Redefine <references> to allow our <name>
188  references =
189    element references {
190      attribute title { text }?,
191      v3_name?,
192      (reference
193       | xi_include)+
194    }
195
196  # Redefine <rfc> to allow our extension elements
197  rfc =
198    element rfc {
199      attlist.rfc,
200      x_link*,
201      x_feedback?,
202      x_assign-section-number*,
203      front,
204      middle,
205      back?
206    }
207
208  # Redefine <section> to allow our extension elements
209  section =
210    element section {
211      attlist.x_section,
212      (t
213       | figure
214       | texttable
215       | iref
216       | section
217       | v3_aside
218       | v3_blockquote
219       | v3_dl
220       | v3_name
221       | v3_ol
222       | v3_sourcecode
223       | v3_ul
224       | x_anchor-alias
225       | x_blockquote
226       | x_include-author
227       | x_note
228       | rdf_Description)*
229    }
230
231  # Redefine <spanx> to allow some markup
232  spanx =
233    element spanx {
234      attlist.spanx,
235      (TEXT
236        | iref
237        | xref
238        | x_ref)*
239    }
240
241  # Redefine <t> to allow our extension elements
242  t =
243    element t {
244      attlist.t,
245      (TEXT
246       | \list
247       | figure
248       | xref
249       | eref
250       | iref
251       | cref
252       | spanx
253       | vspace
254       | v3_bcp14
255       | v3_em
256       | v3_strong
257       | v3_sub
258       | v3_sup
259       | v3_tt
260       | x_abnf-char-sequence
261       | x_anchor-alias
262       | x_bcp14
263       | x_dfn
264       | x_h
265       | x_q
266       | x_ref
267       | x_span
268       | x_sup)*
269    }
270}
271
272# Allow extension attributes on <artwork> (Section 11.22)
273attlist.artwork &=
274  attribute x:indent-with { ATEXT }?,
275  attribute x:lang { "" }?,
276  attribute x:is-code-component { "no" | "yes" }?
277
278# Allow anchor and x:annotation attributes on <author>
279attlist.author &=
280  attribute anchor { xsd:ID }?,
281  attribute x:annotation { ATEXT }?
282 
283# Extend attribute set for <c> (see Section 11.23)
284attlist.c &=
285  attribute anchor { xsd:ID }?
286
287# Extend attribute set for <iref> (see Section 11.23)
288attlist.iref &=
289  attribute x:for-anchor { ATEXT }?
290
291# Extend attribute set for <list> (see Section 11.24)
292attlist.list &=
293  attribute x:indent { ATEXT }?
294
295# Extend attribute set for <preamble>
296attlist.preamble &=
297  attribute anchor { xsd:ID }?
298
299# Extend attribute set for <reference>
300attlist.reference &=
301  attribute quoteTitle { "false" | "true" }? # see Section 12.16.1
302
303# Extend attribute set for <rfc>
304attlist.rfc &=
305  attribute grddl:transformation { ATEXT }?,
306  attribute x:maturity-level { "proposed" | "draft" | "internet" }?
307
308# Extend/Relax attribute set for <section> (see Section 11.26)
309attlist.x_section &=
310  attribute anchor { xsd:ID }?,
311  attribute title { ATEXT }?,
312  attribute toc { "include" | "exclude" | "default" }?,
313  attribute numbered { "false" | "true" }?, # see Section 12.17.1
314  attribute removeInRFC { "false" | "true" }?, # see Section 12.17.2
315  attribute x:fixed-section-number { ATEXT }?
316
317# Allow anchor attribute on <spanx>
318attlist.spanx &=
319  attribute anchor { xsd:ID }?
320
321# Allow x:quotes attribute on <title>
322attlist.title &=
323  attribute x:quotes { "true" | "false" }?
324
325# Allow annotation attribute on <uri>
326attlist.uri &=
327  attribute x:annotation { ATEXT }?
328
329# Extend attribute set for <xref> (see Section 11.27)
330attlist.xref &=
331  attribute x:fmt  { "()" | "," | "of" | "number" | "sec" |
332                     "none" }?,
333  attribute x:rel  { ATEXT }?,
334  attribute x:sec  { ATEXT }?
335
336# Side Note (see Section 12.1)
337v3_aside =
338  element aside {
339    attribute anchor { xsd:ID }?,
340    t+
341  }
342
343# BCP14/RFC2119 keywords (see Section 12.2)
344v3_bcp14 =
345  element bcp14 {
346    "MAY"
347    | "MUST"
348    | "MUST NOT"
349    | "NOT RECOMMENDED"
350    | "OPTIONAL"
351    | "RECOMMENDED"
352    | "REQUIRED"
353    | "SHALL"
354    | "SHALL NOT"
355    | "SHOULD"
356    | "SHOULD NOT"
357  }
358
359# Blockquote (see Section 12.3)
360v3_blockquote =
361  element blockquote {
362    attribute anchor { xsd:ID }?,
363    attribute cite { URI }?,
364    t+
365  }
366
367# Boilerplate (see Section 12.3)
368v3_boilerplate =
369  element boilerplate {
370    section+
371  }
372
373# Mapping of reference names to display names (see Section 12.5)
374v3_displayreference =
375  element displayreference {
376    attribute target { xsd:IDREF },
377    attribute to { ATEXT }
378  }
379
380# Definition List Description Element (see Section 12.6)
381v3_dd =
382  element dd {
383    (t
384      | v3_dl)+ |
385    (TEXT
386      | cref
387      | eref
388      | iref
389      | xref
390      | v3_em
391      | v3_tt
392      | v3_strong)*
393  }
394
395# Definition List (see Section 12.7)
396v3_dl =
397  element dl {
398       attribute spacing { "normal" | "compact" }?,
399       attribute hanging { "false" | "true" }?,
400       (v3_dt, v3_dd)+
401  }
402
403# Definition List Description Term (see Section 12.8)
404v3_dt =
405  element dt {
406    attribute anchor { xsd:ID }?,
407    (TEXT
408      | cref
409      | eref
410      | iref
411      | xref
412      | v3_em
413      | v3_tt
414      | v3_strong)*
415  }
416
417# Emphasized Text (see Section 12.9)
418v3_em =
419  element em {
420    (TEXT
421      | xref
422      | v3_strong
423      | x_ref)*
424  }
425
426# Definition List (see Section 12.10)
427v3_li =
428  element li {
429    attribute anchor { xsd:ID }?,
430    ((v3_dl | v3_ol  | t | v3_ul )+
431      |
432    (TEXT
433      | cref
434      | eref
435      | iref
436      | xref
437      | v3_em
438      | v3_strong
439      | v3_sub
440      | v3_sup
441      | v3_tt
442      | x_ref)*
443    )
444  }
445
446# Section/Figure/Table Name (see Section 12.11)
447v3_name =
448  element name {
449    (TEXT
450      | v3_tt
451      | xref)*
452  }
453
454# Ordered List (see Section 12.12)
455v3_ol =
456  element ol {
457    attribute anchor { xsd:ID }?,
458    attribute start { TEXT }?,
459    v3_li+
460  }
461
462# Line in postal address (see Section 12.13)
463v3_postalLine =
464  element postalLine {
465    TEXT
466  }
467
468# additional content for references (see Section 12.14)
469v3_refcontent =
470  element refcontent {
471    (TEXT
472      | v3_em)*
473  }
474
475# Source Code (see Section 12.15)
476v3_sourcecode =
477  element sourcecode {
478    attribute anchor { xsd:ID }?,
479    attribute x:lang { "" }?,
480    TEXT
481  }
482
483# Emphasized Text (see Section 12.18)
484v3_strong =
485  element strong {
486    (TEXT
487      | xref
488      | v3_em
489      | x_ref)*
490  }
491
492# Subscript (see Section 12.19)
493v3_sub =
494  element sub {
495    (TEXT)*
496  }
497
498# Superscript (see Section 12.20)
499v3_sup =
500  element sup {
501    (TEXT)*
502  }
503
504# Monospaced Text (see Section 12.22)
505v3_tt =
506  element tt {
507    (TEXT
508      | xref
509      | v3_em
510      | x_ref)*
511  }
512
513# Unordered List (see Section 12.23)
514v3_ul =
515  element ul {
516    attribute anchor { xsd:ID }?,
517    attribute empty { TEXT }?,
518    v3_li+
519  }
520
521# SVG (see Section 12.21)
522v3_svg =
523  element svg:svg {
524    (attribute * { text }
525        | text
526        | anySVGElement)*
527  }
528
529 anySVGElement =
530    element svg:* {
531       (attribute * { text }
532        | text
533        | anySVGElement)*
534    }
535     
536# Conversion to ABNF char sequence (see Section 11.1)
537x_abnf-char-sequence =
538  element x:abnf-char-sequence {
539    TEXT
540  }
541
542# Aliasing of anchors (see Section 11.2)
543x_anchor-alias =
544  element x:anchor-alias {
545    attribute value { TEXT },
546    empty
547  }
548
549# Supply feedback links (see Section 11.9)
550x_feedback =
551  element x:feedback {
552    attribute template { TEXT },
553    empty
554  }
555
556# Including Author information
557# (experimental)
558x_include-author =
559  element x:include-author {
560    attribute target { xsd:IDREF }
561  }
562
563# Setting section numbers for internally generated sections
564# (experimental)
565x_assign-section-number =
566  element x:assign-section-number {
567    attribute builtin-target { "authors" },
568    attribute number { TEXT },
569    empty
570  }
571
572# Bottom line of box drawing (see Section 11.4)
573x_bb =
574  element x:bb {
575    (TEXT
576      | iref
577      | xref
578      | x_bb
579      | x_bc
580      | x_bt
581      | x_ref)*
582  }
583
584# Center line of box drawing (see Section 11.5)
585x_bc =
586  element x:bc {
587    (TEXT
588      | iref
589      | spanx
590      | xref
591      | x_bb
592      | x_bc
593      | x_bt
594      | x_ref)*
595  }
596
597# BCP14/RFC2119 keywords (see Section 11.3)
598x_bcp14 =
599  element x:bcp14 {
600    "MAY"
601    | "MUST"
602    | "MUST NOT"
603    | "NOT RECOMMENDED"
604    | "OPTIONAL"
605    | "RECOMMENDED"
606    | "REQUIRED"
607    | "SHALL"
608    | "SHALL NOT"
609    | "SHOULD"
610    | "SHOULD NOT"
611  }
612 
613# Blockquote (see Section 11.6)
614x_blockquote =
615  element x:blockquote {
616    attribute anchor { xsd:ID }?,
617    attribute cite { URI }?,
618    t+
619  }
620
621# Top line of box drawing (see Section 11.7)
622x_bt =
623  element x:bt {
624    (TEXT
625      | iref
626      | xref
627      | x_bb
628      | x_bc
629      | x_bt
630      | x_ref)*
631  }
632
633# Definition (see Section 11.8)
634x_dfn =
635  element x:dfn {
636    attribute anchor { xsd:ID }?,
637    (TEXT
638      | iref)*
639  }
640 
641# Heading (see Section 11.10)
642x_h =
643  element x:h {
644    TEXT
645  }
646
647# Heading (see Section 11.11)
648x_highlight =
649  element x:highlight {
650    TEXT
651  }
652
653# Length Measurement (see Section 11.12)
654x_length-of =
655  element x:length-of {
656    attribute indented { NUMBER }?,
657    attribute target { xsd:IDREF },
658    empty
659  }
660
661# Link (see Section 11.13)
662x_link =
663  element x:link {
664    attribute basename { URI }?,
665    attribute href { URI }?,
666    attribute title { TEXT }?,
667    attribute rel { TEXT },
668    empty
669  }
670 
671# Extended list item (see Section 11.14)
672x_lt =
673  element x:lt {
674    attribute anchor { xsd:ID }?,
675    attribute hangText { TEXT }?,
676    t+
677  }
678
679# Note (see Section 11.15)
680x_note =
681  element x:note {
682    attribute anchor { xsd:ID }?,
683    t+
684  }
685
686# Signal XML content (see Section 11.16)
687x_parse-xml =
688  element x:parse-xml {
689    (TEXT
690      | xref)*
691  }
692
693# Inline prose in a reference (see Section 11.17)
694x_prose =
695  element x:prose {
696    TEXT
697  }
698
699# Inline quote (see Section 11.18)
700x_q =
701  element x:q {
702    TEXT
703  }
704
705# Anchor reference (see Section 11.19) 
706x_ref =
707  element x:ref {
708    attribute anchor { xsd:ID }?,
709    TEXT
710  }
711
712# source information (see Section 11.20) 
713x_source =
714  element x:source {
715    attribute basename { ATEXT }?,
716    attribute href { URI },
717    empty
718  }
719
720# superscript (see Section 11.21)
721x_sup =
722  element x:sup {
723    TEXT
724  }
725
726# Inline Span
727x_span =
728  element x:span {
729    attribute anchor { xsd:ID }?,
730    attribute x:lang { "" }?,
731    (TEXT
732      | x_parse-xml)*
733  }
734
735# Nop (for alignment in source)
736x_x =
737  element x:x {
738    empty
739  }
740
741# XInclude
742xi_include =
743  element xi:include {
744    attribute href { text },
745    empty
746  }
747
748# Embed RDF statements
749rdf_Description =
750  element rdf:Description {
751    rdf_content
752  }
753 
754rdf_content =
755  ( TEXT | element * { rdf_content })*
Note: See TracBrowser for help on using the repository browser.