source: rfc2629xslt/rfc2629-ext.rnc @ 2082

Last change on this file since 2082 was 2027, checked in by julian.reschke@…, 7 years ago

bump up document dates, update to latest version of rfc2629.xslt

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