1<?xml version="1.0" encoding="UTF-8"?>
2<!--***********************************************************
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements.  See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership.  The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License.  You may obtain a copy of the License at
11 *
12 *   http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied.  See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 *
21 ***********************************************************-->
22
23
24
25<!ELEMENT oor:component-schema (info?, import*, uses*, templates?, component)>
26<!ATTLIST oor:component-schema
27    oor:package CDATA #REQUIRED
28    oor:name CDATA #REQUIRED
29    oor:version NMTOKEN #IMPLIED
30    xml:lang CDATA #IMPLIED
31    xmlns:oor CDATA #FIXED "http://openoffice.org/2001/registry"
32    xmlns:xs CDATA #FIXED "http://www.w3.org/2001/XMLSchema">
33
34<!ELEMENT import EMPTY>
35<!ATTLIST import
36    oor:component CDATA #REQUIRED>
37
38<!ELEMENT uses EMPTY>
39<!ATTLIST uses
40    oor:component CDATA #REQUIRED>
41
42<!ELEMENT templates (info?, (set | group)*)>
43<!ATTLIST templates>
44
45<!ELEMENT info (deprecated?, author*, desc*, label*)>
46<!ATTLIST info>
47
48<!ELEMENT deprecated (#PCDATA)>
49<!ATTLIST deprecated>
50
51<!ELEMENT author (#PCDATA)>
52<!ATTLIST author>
53
54<!ELEMENT desc (#PCDATA)>
55<!ATTLIST desc
56    xml:lang CDATA #IMPLIED>
57
58<!ELEMENT label (#PCDATA)>
59<!ATTLIST label
60    xml:lang CDATA #IMPLIED>
61
62<!ELEMENT component (info?, (set | group | prop | node-ref)*)>
63<!ATTLIST component>
64
65<!ELEMENT set (info?, item*)>
66<!ATTLIST set
67    oor:name CDATA #REQUIRED
68    oor:node-type CDATA #REQUIRED
69    oor:component CDATA #IMPLIED>
70
71<!ELEMENT item EMPTY>
72<!ATTLIST item
73    oor:node-type CDATA #REQUIRED
74    oor:component CDATA #IMPLIED>
75
76<!ELEMENT group (info?, (set | group | prop | node-ref)*)>
77<!ATTLIST group
78    oor:name CDATA #REQUIRED
79    oor:extensible (false | true) #IMPLIED>
80
81<!ELEMENT prop (info?, constraints?, value?)>
82<!ATTLIST prop
83    oor:name CDATA #REQUIRED
84    oor:localized (false | true) #IMPLIED
85    oor:type
86        (oor:any | xs:boolean | xs:short | xs:int | xs:long | xs:double |
87         xs:string | xs:hexBinary | oor:boolean-list | oor:short-list |
88         oor:int-list | oor:long-list | oor:double-list | oor:string-list |
89         oor:hexBinary-list)
90        #REQUIRED
91    oor:nillable (false | true) #IMPLIED>
92
93<!ELEMENT constraints
94    (enumeration*, length?, minLength?, maxLength?, minInclusive?,
95     maxInclusive?, minExclusive?, maxExclusive?, whiteSpace?)>
96
97<!ELEMENT enumeration (info?)>
98<!ATTLIST enumeration
99    oor:value CDATA #REQUIRED>
100
101<!ELEMENT length (info?)>
102<!ATTLIST length
103    oor:value CDATA #REQUIRED>
104
105<!ELEMENT minLength (info?)>
106<!ATTLIST minLength
107    oor:value CDATA #REQUIRED>
108
109<!ELEMENT maxLength (info?)>
110<!ATTLIST maxLength
111    oor:value CDATA #REQUIRED>
112
113<!ELEMENT minInclusive (info?)>
114<!ATTLIST minInclusive
115    oor:value CDATA #REQUIRED>
116
117<!ELEMENT maxInclusive (info?)>
118<!ATTLIST maxInclusive
119    oor:value CDATA #REQUIRED>
120
121<!ELEMENT minExclusive (info?)>
122<!ATTLIST minExclusive
123    oor:value CDATA #REQUIRED>
124
125<!ELEMENT maxExclusive (info?)>
126<!ATTLIST maxExclusive
127    oor:value CDATA #REQUIRED>
128
129<!ELEMENT whiteSpace (info?)>
130<!ATTLIST whiteSpace
131    oor:value CDATA #REQUIRED>
132
133<!ELEMENT value (#PCDATA | it | unicode)*>
134<!ATTLIST value
135    oor:separator CDATA #IMPLIED>
136
137<!ELEMENT it (#PCDATA | unicode)*>
138<!ATTLIST it>
139
140<!ELEMENT unicode EMPTY>
141<!ATTLIST unicode
142    oor:scalar NMTOKEN #REQUIRED>
143
144<!ELEMENT node-ref (info?)>
145<!ATTLIST node-ref
146    oor:name CDATA #REQUIRED
147    oor:node-type CDATA #REQUIRED
148    oor:component CDATA #IMPLIED>
149