source: rfc2629xslt/rfc2629-ext.rnc @ 588

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

Update to latest version of rfc2629.xslt and bump up document dates.

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    attribute anchor { xsd:ID }?,
389    TEXT
390  }
391
392# source information (see Section 10.19) 
393x_source =
394  element x:source {
395    attribute basename { ATEXT }?,
396    attribute href { URI },
397    empty
398  }
399
400# superscript (see Section 10.20)
401x_sup =
402  element x:sup {
403    TEXT
404  }
405
406# Inline Span
407x_span =
408  element x:span {
409    attribute anchor { xsd:ID }?,
410    (TEXT
411      | x_parse-xml)*
412  }
413
414# Nop (for alignment in source)
415x_x =
416  element x:x {
417    empty
418  }
419
420# Embed RDF statements
421rdf_Description =
422  element rdf:Description {
423    rdf_content
424  }
425 
426rdf_content =
427  ( TEXT | element * { rdf_content })*
Note: See TracBrowser for help on using the repository browser.