source: rfc2629xslt/rfc2629-ext.rnc @ 446

Last change on this file since 446 was 446, checked in by julian.reschke@…, 11 years ago

Update to latest version of rfc2629.xslt, and add experimental version of xml2rfc.tcl (supporting the new IPR escape clause), use that clause in P1..P7 (but not for the method registrations).

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