summaryrefslogtreecommitdiffstats
path: root/emacs.d/nxhtml/etc/schema/qtmstr-xhtml.rnc
blob: ff5d0a9aad0a37c8ce2b771ed6987d4defa821b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
default namespace = "http://www.w3.org/1999/xhtml"

include "genshi.rnc"
include "xhtml-loader.rnc" {
   start = html | head | head.content | body | frameset | frame | noframes |
      Block.class | Inline.class | Table.class | Form.extra.class | genshi.class
   html = element html { html.attlist, (genshi.model | (head, (body | frameset | genshi.model))) }
   frameset =
      element frameset {
         frameset.attlist,
         (((frameset | frame)+ & noframes?) | genshi.model)
      }
   noframes = element noframes { noframes.attlist, (body | genshi.model) }
   title = element title { title.attlist, (text | genshi.model)* }
   script = element script { script.attlist, (text | genshi.model)* }
   style = element style { style.attlist, (text | genshi.model)* }
   dl = element dl { dl.attlist, ((dt | dd)+ | genshi.model) }
   ol = element ol { ol.attlist, (li+ | genshi.model) }
   ul = element ul { ul.attlist, (li+ | genshi.model) }
   dir = element dir { dir.attlist, (li.noblock+ | genshi.model) }
   menu = element menu { menu.attlist, (li.noblock+ | genshi.model) }
   select = element select { select.attlist, ((option | optgroup)+ | genshi.model) }
   option =
      element option {
         Common.attrib,
         attribute selected { "selected" }?,
         attribute value { text }?,
         (text | genshi.model)*
      }
   textarea = element textarea { textarea.attlist, (text & genshi.model)* }
   optgroup = element optgroup { optgroup.attlist, (option+ | genshi.model) }
   table =
      element table {
         table.attlist,
         (caption? | genshi.model),
         (col* | colgroup* | genshi.model),
         (((thead? | genshi.model),
            (tfoot? | genshi.model),
            (tbody+ | genshi.model)) | (tr+ | genshi.model))
      }
   colgroup = element colgroup { colgroup.attlist, (col* | genshi.model) }
   tr = element tr { tr.attlist, ((th | td)+ | genshi.model) }
   tbody = element tbody { tbody.attlist, (tr+ | genshi.model) }
   thead = element thead { thead.attlist, (tr+ | genshi.model) }
   tfoot = element tfoot { tfoot.attlist, (tr+ | genshi.model) }
}

Table.class = caption | colgroup | col | tbody | thead | tfoot | th | tr | td
Form.extra.class = option | optgroup | legend

Block.class |= genshi.class
Inline.class |= genshi.class
head.content &= genshi.class

Core.attrib &= genshi.attrib
html.attlist  &= genshi.attrib
head.attlist  &= genshi.attrib
title.attlist &= genshi.attrib
base.attlist &= genshi.attrib
meta.attlist &= genshi.attrib
script.attlist &= genshi.attrib
param.attlist &= genshi.attrib
Edit.attrib &= genshi.attrib

genshi.allowed.children |= html | head | head.content | body | frameset | frame
 | noframes | Inline.class | Block.class | Table.class | Form.extra.class