source: rfc2629xslt/rfc2629-ext.rnc @ 1426

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

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

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