source: rfc2629xslt/rfc2629-ext.rnc @ 832

Last change on this file since 832 was 799, checked in by julian.reschke@…, 10 years ago

latest versions of rfc2629.xslt and xml2rfc.tcl, bump up document dates

File size: 7.7 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# Include rfc2629bis RNC grammar
15include "rfc2629.rnc" {
16 
17  # Redefine <artwork> to allow markup
18  artwork =
19    element artwork {
20      attlist.artwork,
21      (TEXT
22        | eref
23        | iref
24        | spanx
25        | xref
26        | x_abnf-char-sequence
27        | x_bb
28        | x_bc
29        | x_bt
30        | x_highlight
31        | x_length-of
32        | x_parse-xml
33        | x_ref
34        | x_span
35        | x_x)*
36    }
37
38  # Redefine <back> to allow boilerplate
39  back =
40    element back {
41      attlist.back,
42      references*,
43      section*,
44      x_boilerplate?
45    }
46
47  # Redefine <c> to allow our extension elements
48  c =
49    element c {
50      attlist.c,
51      (TEXT
52        | xref
53        | eref
54        | iref
55        | cref
56        | spanx
57        | x_ref)*
58    }
59
60  # Redefine <cref> to allow more child elements
61  cref =
62    element cref {
63      attlist.cref,
64      (TEXT
65        | eref
66        | xref)*
67    }
68
69  # Redefine <front> to allow boilerplate
70  front =
71    element front {
72      attlist.front,
73      title,
74      author+,
75      date,
76      area*,
77      workgroup*,
78      keyword*,
79      x_boilerplate?,
80      abstract?,
81      note*
82    }
83 
84  # Redefine <list> element to allow <x:lt> child elements
85  \list =
86    element list {
87      attlist.list,
88      (t+ | x_lt+)
89    }   
90   
91  # Redefine <preamble> to allow our extension elements
92  preamble =
93    element preamble {
94      attlist.preamble,
95      (TEXT
96        | xref
97        | eref
98        | iref
99        | cref
100        | spanx
101        | x_anchor-alias)*
102    }
103
104  # Redefine <postamble> to allow our extension elements
105  postamble =
106    element postamble {
107      attlist.postamble,
108      (TEXT
109        | xref
110        | eref
111        | iref
112        | cref
113        | spanx
114        | x_bcp14)*
115    }
116
117  # Redefine <reference> to allow our extension elements
118  reference =
119    element reference {
120      attlist.reference,
121      front,
122      seriesInfo*,
123      format*,
124      annotation*,
125      x_source?
126    }
127
128  # Redefine <rfc> to allow our extension elements
129  rfc =
130    element rfc {
131      attlist.rfc,
132      x_link*,
133      x_assign-section-number*,
134      front,
135      middle,
136      back?
137    }
138
139  # Redefine <section> to allow our extension elements
140  section =
141    element section {
142      attlist.section,
143      (t
144       | figure
145       | texttable
146       | iref
147       | section
148       | x_anchor-alias
149       | x_blockquote
150       | x_include-author
151       | x_note
152       | rdf_Description)*
153    }
154
155  # Redefine <spanx> to allow some markup
156  spanx =
157    element spanx {
158      attlist.spanx,
159      (TEXT
160        | iref
161        | xref
162        | x_ref)*
163    }
164
165  # Redefine <t> to allow our extension elements
166  t =
167    element t {
168      attlist.t,
169      (TEXT
170       | \list
171       | figure
172       | xref
173       | eref
174       | iref
175       | cref
176       | spanx
177       | vspace
178       | x_abnf-char-sequence
179       | x_anchor-alias
180       | x_bcp14
181       | x_dfn
182       | x_h
183       | x_q
184       | x_ref
185       | x_sup)*
186    }
187}
188
189# Allow x:indent-with attribute on <artwork>
190attlist.artwork &=
191  attribute x:indent-with { ATEXT }?
192
193# Allow anchor and x:annotation attributes on <author>
194attlist.author &=
195  attribute anchor { xsd:ID }?,
196  attribute x:annotation { ATEXT }?
197 
198  # Extend attribute set for <iref> (see Section 10.22)
199attlist.iref &=
200  attribute x:for-anchor { ATEXT }?
201
202# Extend attribute set for <list> (see Section 10.23)
203attlist.list &=
204  attribute x:indent { ATEXT }?
205
206# Extend attribute set for <preamble>
207attlist.preamble &=
208  attribute anchor { xsd:ID }?
209
210# Extend attribute set for <rfc>
211attlist.rfc &=
212  attribute grddl:transformation { ATEXT }?,
213  attribute x:maturity-level { "proposed" | "draft" | "internet" }?
214
215# Extend attribute set for <section> (see Section 10.25)
216attlist.section &=
217  attribute x:fixed-section-number { ATEXT }?
218
219# Allow anchor attribute on <spanx>
220attlist.spanx &=
221  attribute anchor { xsd:ID }?
222
223# Allow annotation attribute on <uri>
224attlist.uri &=
225  attribute x:annotation { ATEXT }?
226
227# Extend attribute set for <xref> (see Section 10.26)
228attlist.xref &=
229  attribute x:fmt  { "()" | "," | "anchor" | "of" | "number" | "sec" |
230                     "none" }?,
231  attribute x:rel  { ATEXT }?,
232  attribute x:sec  { ATEXT }?
233
234# Conversion to ABNF char sequence (see Section 10.1)
235x_abnf-char-sequence =
236  element x:abnf-char-sequence {
237    TEXT
238  }
239
240# Aliasing of anchors (see Section 10.2)
241x_anchor-alias =
242  element x:anchor-alias {
243    attribute value { TEXT },
244    empty
245  }
246
247# Including Author information
248# (experimental)
249x_include-author =
250  element x:include-author {
251    attribute target { xsd:IDREF }
252  }
253
254# Setting section numbers for internally generated sections
255# (experimental)
256x_assign-section-number =
257  element x:assign-section-number {
258    attribute builtin-target { "authors" },
259    attribute number { TEXT },
260    empty
261  }
262
263# Bottom line of box drawing (see Section 10.4)
264x_bb =
265  element x:bb {
266    (TEXT
267      | iref
268      | xref
269      | x_bb
270      | x_bc
271      | x_bt
272      | x_ref)*
273  }
274
275# Center line of box drawing (see Section 10.5)
276x_bc =
277  element x:bc {
278    (TEXT
279      | iref
280      | xref
281      | x_bb
282      | x_bc
283      | x_bt
284      | x_ref)*
285  }
286
287# BCP14/RFC2119 keywords (see Section 10.3)
288x_bcp14 =
289  element x:bcp14 {
290    "MAY"
291    | "MUST"
292    | "MUST NOT"
293    | "NOT RECOMMENDED"
294    | "OPTIONAL"
295    | "RECOMMENDED"
296    | "REQUIRED"
297    | "SHALL"
298    | "SHALL NOT"
299    | "SHOULD"
300    | "SHOULD NOT"
301  }
302 
303# Blockquote (see Section 10.6)
304x_blockquote =
305  element x:blockquote {
306    attribute cite { URI }?,
307    t+
308  }
309
310# Boilerplate (see Section 10.6)
311x_boilerplate =
312  element x:boilerplate {
313    section+
314  }
315
316# Top line of box drawing (see Section 10.8)
317x_bt =
318  element x:bt {
319    (TEXT
320      | iref
321      | xref
322      | x_bb
323      | x_bc
324      | x_bt
325      | x_ref)*
326  }
327
328# Definition (see Section 10.9)
329x_dfn =
330  element x:dfn {
331    attribute anchor { xsd:ID }?,
332    (TEXT
333      | iref)*
334  }
335 
336# Heading (see Section 10.10)
337x_h =
338  element x:h {
339    TEXT
340  }
341
342# Heading (see Section 10.11)
343x_highlight =
344  element x:highlight {
345    TEXT
346  }
347
348# Length Measurement (see Section 10.12)
349x_length-of =
350  element x:length-of {
351    attribute indented { NUMBER }?,
352    attribute target { xsd:IDREF },
353    empty
354  }
355
356# Link (see Section 10.13)
357x_link =
358  element x:link {
359    attribute href { URI },
360    attribute title { TEXT }?,
361    attribute rel { TEXT },
362    empty
363  }
364 
365# Extended list item (see Section 10.14)
366x_lt =
367  element x:lt {
368    attribute anchor { xsd:ID }?,
369    attribute hangText { TEXT }?,
370    t+
371  }
372
373# Note (see Section 10.15)
374x_note =
375  element x:note {
376    t+
377  }
378
379# Signal XML content (see Section 10.16)
380x_parse-xml =
381  element x:parse-xml {
382    TEXT
383  }
384
385# Inline quote (see Section 10.17)
386x_q =
387  element x:q {
388    TEXT
389  }
390
391# Anchor reference (see Section 10.18) 
392x_ref =
393  element x:ref {
394    attribute anchor { xsd:ID }?,
395    TEXT
396  }
397
398# source information (see Section 10.19) 
399x_source =
400  element x:source {
401    attribute basename { ATEXT }?,
402    attribute href { URI },
403    empty
404  }
405
406# superscript (see Section 10.20)
407x_sup =
408  element x:sup {
409    TEXT
410  }
411
412# Inline Span
413x_span =
414  element x:span {
415    attribute anchor { xsd:ID }?,
416    (TEXT
417      | x_parse-xml)*
418  }
419
420# Nop (for alignment in source)
421x_x =
422  element x:x {
423    empty
424  }
425
426# Embed RDF statements
427rdf_Description =
428  element rdf:Description {
429    rdf_content
430  }
431 
432rdf_content =
433  ( TEXT | element * { rdf_content })*
Note: See TracBrowser for help on using the repository browser.