source: rfc2629xslt/rfc2629-ext.rnc @ 729

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

Bump up document dates, update to latest versions of rfc2629.xslt and xml2rfc.tcl

File size: 7.6 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 attribute on <author>
194attlist.author &=
195  attribute anchor { xsd:ID }?
196 
197  # Extend attribute set for <iref> (see Section 10.22)
198attlist.iref &=
199  attribute x:for-anchor { ATEXT }?
200
201# Extend attribute set for <list> (see Section 10.23)
202attlist.list &=
203  attribute x:indent { ATEXT }?
204
205# Extend attribute set for <preamble>
206attlist.preamble &=
207  attribute anchor { xsd:ID }?
208
209# Extend attribute set for <rfc>
210attlist.rfc &=
211  attribute grddl:transformation { ATEXT }?,
212  attribute x:maturity-level { "proposed" | "draft" | "internet" }?
213
214# Extend attribute set for <section> (see Section 10.25)
215attlist.section &=
216  attribute x:fixed-section-number { ATEXT }?
217
218# Allow anchor attribute on <spanx>
219attlist.spanx &=
220  attribute anchor { xsd:ID }?
221
222# Extend attribute set for <xref> (see Section 10.26)
223attlist.xref &=
224  attribute x:fmt  { "()" | "," | "anchor" | "of" | "number" | "sec" |
225                     "none" }?,
226  attribute x:rel  { ATEXT }?,
227  attribute x:sec  { ATEXT }?
228
229# Conversion to ABNF char sequence (see Section 10.1)
230x_abnf-char-sequence =
231  element x:abnf-char-sequence {
232    TEXT
233  }
234
235# Aliasing of anchors (see Section 10.2)
236x_anchor-alias =
237  element x:anchor-alias {
238    attribute value { TEXT },
239    empty
240  }
241
242# Including Author information
243# (experimental)
244x_include-author =
245  element x:include-author {
246    attribute target { xsd:IDREF }
247  }
248
249# Setting section numbers for internally generated sections
250# (experimental)
251x_assign-section-number =
252  element x:assign-section-number {
253    attribute builtin-target { "authors" },
254    attribute number { TEXT },
255    empty
256  }
257
258# Bottom line of box drawing (see Section 10.4)
259x_bb =
260  element x:bb {
261    (TEXT
262      | iref
263      | xref
264      | x_bb
265      | x_bc
266      | x_bt
267      | x_ref)*
268  }
269
270# Center line of box drawing (see Section 10.5)
271x_bc =
272  element x:bc {
273    (TEXT
274      | iref
275      | xref
276      | x_bb
277      | x_bc
278      | x_bt
279      | x_ref)*
280  }
281
282# BCP14/RFC2119 keywords (see Section 10.3)
283x_bcp14 =
284  element x:bcp14 {
285    "MAY"
286    | "MUST"
287    | "MUST NOT"
288    | "NOT RECOMMENDED"
289    | "OPTIONAL"
290    | "RECOMMENDED"
291    | "REQUIRED"
292    | "SHALL"
293    | "SHALL NOT"
294    | "SHOULD"
295    | "SHOULD NOT"
296  }
297 
298# Blockquote (see Section 10.6)
299x_blockquote =
300  element x:blockquote {
301    attribute cite { URI }?,
302    t+
303  }
304
305# Boilerplate (see Section 10.6)
306x_boilerplate =
307  element x:boilerplate {
308    section+
309  }
310
311# Top line of box drawing (see Section 10.8)
312x_bt =
313  element x:bt {
314    (TEXT
315      | iref
316      | xref
317      | x_bb
318      | x_bc
319      | x_bt
320      | x_ref)*
321  }
322
323# Definition (see Section 10.9)
324x_dfn =
325  element x:dfn {
326    attribute anchor { xsd:ID }?,
327    (TEXT
328      | iref)*
329  }
330 
331# Heading (see Section 10.10)
332x_h =
333  element x:h {
334    TEXT
335  }
336
337# Heading (see Section 10.11)
338x_highlight =
339  element x:highlight {
340    TEXT
341  }
342
343# Length Measurement (see Section 10.12)
344x_length-of =
345  element x:length-of {
346    attribute indented { NUMBER }?,
347    attribute target { xsd:IDREF },
348    empty
349  }
350
351# Link (see Section 10.13)
352x_link =
353  element x:link {
354    attribute href { URI },
355    attribute title { TEXT }?,
356    attribute rel { TEXT },
357    empty
358  }
359 
360# Extended list item (see Section 10.14)
361x_lt =
362  element x:lt {
363    attribute anchor { xsd:ID }?,
364    attribute hangText { TEXT }?,
365    t+
366  }
367
368# Note (see Section 10.15)
369x_note =
370  element x:note {
371    t+
372  }
373
374# Signal XML content (see Section 10.16)
375x_parse-xml =
376  element x:parse-xml {
377    TEXT
378  }
379
380# Inline quote (see Section 10.17)
381x_q =
382  element x:q {
383    TEXT
384  }
385
386# Anchor reference (see Section 10.18) 
387x_ref =
388  element x:ref {
389    attribute anchor { xsd:ID }?,
390    TEXT
391  }
392
393# source information (see Section 10.19) 
394x_source =
395  element x:source {
396    attribute basename { ATEXT }?,
397    attribute href { URI },
398    empty
399  }
400
401# superscript (see Section 10.20)
402x_sup =
403  element x:sup {
404    TEXT
405  }
406
407# Inline Span
408x_span =
409  element x:span {
410    attribute anchor { xsd:ID }?,
411    (TEXT
412      | x_parse-xml)*
413  }
414
415# Nop (for alignment in source)
416x_x =
417  element x:x {
418    empty
419  }
420
421# Embed RDF statements
422rdf_Description =
423  element rdf:Description {
424    rdf_content
425  }
426 
427rdf_content =
428  ( TEXT | element * { rdf_content })*
Note: See TracBrowser for help on using the repository browser.