source: rfc2629xslt/rfc2629-ext.rnc @ 430

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

add RNC for rfc2629.xslt's extensions

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