aboutsummaryrefslogtreecommitdiffhomepage
path: root/data/doc/sisu/model/xml/input/rnc/dom.rnc
blob: 7391eca4324d5362395dded996237cef34103b7e (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
67
68
69
#% dom input model, part of SiSU and under the same license
default namespace = ""
start =
  element document {
    element head {
      element header {
        attribute class { xsd:NCName },
        (element creator { text }
         | element date { xsd:NMTOKEN }
         | element date.available { xsd:NMTOKEN }
         | element date.created { xsd:NMTOKEN }
         | element date.issued { xsd:NMTOKEN }
         | element date.modified { xsd:NMTOKEN }
         | element date.valid { xsd:NMTOKEN }
         | element italicize { text }
         | element language { xsd:NCName }
         | element links { text }
         | element markup { text }
         | element rights { text }
         | element skin { xsd:NCName }
         | element subject { text }
         | element title { text }
         | element type { xsd:NCName }
         | element vocabulary { xsd:NCName })
      }+
    },
    element body {
      element heading1 {
        heading,
        element heading2 {
          heading,
          contents1+,
          element heading3 { heading, contents1+ }+
        }
      }
    }
  }
heading = element heading { object }
contents1 =
  element contents1 {
    heading,
    content,
    element contents2 {
      heading,
      content,
      element contents3 { heading, content }*
    }*
  }
object =
  element object {
    element text {
      (text
       | italic
       | element bold { xsd:NMTOKEN }
       | element endnote {
           element symbol { text }?,
           element note {
             (text
              | italic
              | element br { empty })+
           }
         }
       | element underscore { italic }
       | element image.path { text }
       | element italic { text })+
    }
  }
italic = element italic { text }
content = element content { object+ }