1<?xml version="1.0" encoding="UTF-8"?>
2<!--**********************************************************************
3*
4* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5*
6* Copyright 2000, 2010 Oracle and/or its affiliates.
7*
8* OpenOffice.org - a multi-platform office productivity suite
9*
10* This file is part of OpenOffice.org.
11*
12* OpenOffice.org is free software: you can redistribute it and/or modify
13* it under the terms of the GNU Lesser General Public License version 3
14* only, as published by the Free Software Foundation.
15*
16* OpenOffice.org is distributed in the hope that it will be useful,
17* but WITHOUT ANY WARRANTY; without even the implied warranty of
18* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19* GNU Lesser General Public License version 3 for more details
20* (a copy is included in the LICENSE file that accompanied this code).
21*
22* You should have received a copy of the GNU Lesser General Public License
23* version 3 along with OpenOffice.org.  If not, see
24* <http://www.openoffice.org/license.html>
25* for a copy of the LGPLv3 License.
26*
27**********************************************************************-->
28
29<!ELEMENT oor:component-schema (info?, import*, uses*, templates?, component)>
30<!ATTLIST oor:component-schema
31    oor:package CDATA #REQUIRED
32    oor:name CDATA #REQUIRED
33    oor:version NMTOKEN #IMPLIED
34    xml:lang CDATA #IMPLIED
35    xmlns:oor CDATA #FIXED "http://openoffice.org/2001/registry"
36    xmlns:xs CDATA #FIXED "http://www.w3.org/2001/XMLSchema">
37
38<!ELEMENT import EMPTY>
39<!ATTLIST import
40    oor:component CDATA #REQUIRED>
41
42<!ELEMENT uses EMPTY>
43<!ATTLIST uses
44    oor:component CDATA #REQUIRED>
45
46<!ELEMENT templates (info?, (set | group)*)>
47<!ATTLIST templates>
48
49<!ELEMENT info (deprecated?, author*, desc*, label*)>
50<!ATTLIST info>
51
52<!ELEMENT deprecated (#PCDATA)>
53<!ATTLIST deprecated>
54
55<!ELEMENT author (#PCDATA)>
56<!ATTLIST author>
57
58<!ELEMENT desc (#PCDATA)>
59<!ATTLIST desc
60    xml:lang CDATA #IMPLIED>
61
62<!ELEMENT label (#PCDATA)>
63<!ATTLIST label
64    xml:lang CDATA #IMPLIED>
65
66<!ELEMENT component (info?, (set | group | prop | node-ref)*)>
67<!ATTLIST component>
68
69<!ELEMENT set (info?, item*)>
70<!ATTLIST set
71    oor:name CDATA #REQUIRED
72    oor:node-type CDATA #REQUIRED
73    oor:component CDATA #IMPLIED>
74
75<!ELEMENT item EMPTY>
76<!ATTLIST item
77    oor:node-type CDATA #REQUIRED
78    oor:component CDATA #IMPLIED>
79
80<!ELEMENT group (info?, (set | group | prop | node-ref)*)>
81<!ATTLIST group
82    oor:name CDATA #REQUIRED
83    oor:extensible (false | true) #IMPLIED>
84
85<!ELEMENT prop (info?, constraints?, value?)>
86<!ATTLIST prop
87    oor:name CDATA #REQUIRED
88    oor:localized (false | true) #IMPLIED
89    oor:type
90        (oor:any | xs:boolean | xs:short | xs:int | xs:long | xs:double |
91         xs:string | xs:hexBinary | oor:boolean-list | oor:short-list |
92         oor:int-list | oor:long-list | oor:double-list | oor:string-list |
93         oor:hexBinary-list)
94        #REQUIRED
95    oor:nillable (false | true) #IMPLIED>
96
97<!ELEMENT constraints
98    (enumeration*, length?, minLength?, maxLength?, minInclusive?,
99     maxInclusive?, minExclusive?, maxExclusive?, whiteSpace?)>
100
101<!ELEMENT enumeration (info?)>
102<!ATTLIST enumeration
103    oor:value CDATA #REQUIRED>
104
105<!ELEMENT length (info?)>
106<!ATTLIST length
107    oor:value CDATA #REQUIRED>
108
109<!ELEMENT minLength (info?)>
110<!ATTLIST minLength
111    oor:value CDATA #REQUIRED>
112
113<!ELEMENT maxLength (info?)>
114<!ATTLIST maxLength
115    oor:value CDATA #REQUIRED>
116
117<!ELEMENT minInclusive (info?)>
118<!ATTLIST minInclusive
119    oor:value CDATA #REQUIRED>
120
121<!ELEMENT maxInclusive (info?)>
122<!ATTLIST maxInclusive
123    oor:value CDATA #REQUIRED>
124
125<!ELEMENT minExclusive (info?)>
126<!ATTLIST minExclusive
127    oor:value CDATA #REQUIRED>
128
129<!ELEMENT maxExclusive (info?)>
130<!ATTLIST maxExclusive
131    oor:value CDATA #REQUIRED>
132
133<!ELEMENT whiteSpace (info?)>
134<!ATTLIST whiteSpace
135    oor:value CDATA #REQUIRED>
136
137<!ELEMENT value (#PCDATA | it | unicode)*>
138<!ATTLIST value
139    oor:separator CDATA #IMPLIED>
140
141<!ELEMENT it (#PCDATA | unicode)*>
142<!ATTLIST it>
143
144<!ELEMENT unicode EMPTY>
145<!ATTLIST unicode
146    oor:scalar NMTOKEN #REQUIRED>
147
148<!ELEMENT node-ref (info?)>
149<!ATTLIST node-ref
150    oor:name CDATA #REQUIRED
151    oor:node-type CDATA #REQUIRED
152    oor:component CDATA #IMPLIED>
153