source: rfc2629xslt/rfc2629-ext.rnc @ 1661

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

update to latest version of rfc2629.xslt

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