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-data ((node | prop)*)>
30<!ATTLIST oor:component-data
31    oor:package CDATA #REQUIRED
32    oor:name CDATA #REQUIRED
33    oor:op (modify | replace | fuse | remove) #IMPLIED
34    oor:finalized (false | true) #IMPLIED
35    xmlns:oor CDATA #FIXED "http://openoffice.org/2001/registry"
36    xmlns:xs CDATA #FIXED "http://www.w3.org/2001/XMLSchema"
37    xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance"
38    xmlns:install CDATA #FIXED "http://openoffice.org/2004/installation">
39
40<!ELEMENT node ((node | prop)*)>
41<!ATTLIST node
42    oor:name CDATA #REQUIRED
43    oor:op (modify | replace | fuse | remove) #IMPLIED
44    oor:finalized (true | false) #IMPLIED
45    oor:mandatory (true | false) #IMPLIED
46    oor:node-type CDATA #IMPLIED
47    oor:component CDATA #IMPLIED
48    install:module CDATA #IMPLIED>
49
50<!ELEMENT prop (value*)>
51<!ATTLIST prop
52    oor:name CDATA #REQUIRED
53    oor:op (modify | replace | fuse | remove) #IMPLIED
54    oor:finalized (true | false) #IMPLIED
55    oor:type
56        (oor:any | xs:boolean | xs:short | xs:int | xs:long | xs:double |
57         xs:string | xs:hexBinary | oor:boolean-list | oor:short-list |
58         oor:int-list | oor:long-list | oor:double-list | oor:string-list |
59         oor:hexBinary-list)
60        #IMPLIED
61    install:module CDATA #IMPLIED>
62
63<!ELEMENT value (#PCDATA | it | unicode)*>
64    <!-- EMPTY  if oor:op="remove", xsi:nil="true", or oor:external is used
65         #PCDATA  if the property type is a non-list type other than xs:string
66         (#PCDATA | unicode)*  if the property type is xs:string
67         #PCDATA  or  it*  if the property type is a list type other than
68             oor:string-list
69         (#PCDATA | unicode)*  or  it*  if the property type is
70             oor:string-list -->
71<!ATTLIST value
72    xml:lang CDATA #IMPLIED
73    oor:op (fuse | remove) #IMPLIED
74    xsi:nil (true | false) #IMPLIED
75    oor:type
76        (xs:boolean | xs:short | xs:int | xs:long | xs:double | xs:string |
77         xs:hexBinary | oor:boolean-list | oor:short-list | oor:int-list |
78         oor:long-list | oor:double-list | oor:string-list | oor:hexBinary-list)
79        #IMPLIED
80    oor:separator CDATA #IMPLIED
81    oor:external CDATA #IMPLIED
82    install:module CDATA #IMPLIED>
83    <!-- xml:lang  must only be used for localized properties; defaults to the
84             empty string
85         oor:op  defaults to "fuse"; "remove" must only be used for localized
86             properties
87         xsi:nil  defaults to "false"; "true" must only be used for nillable
88             properties
89         oor:type  is relevant for localized properties of type oor:any with
90             different value types for different locales
91         oor:separator  must only be used if the property type is a list type
92             and the element content is #PCDATA or (#PCDATA | unicode)* (and not
93             EMPTY or it*)
94         oor:external  must only be used for non-localized properties and must
95             not be used together with xsi:nil="true" -->
96
97<!ELEMENT it (#PCDATA | unicode)*>
98    <!-- #PCDATA  if the property type is a list type other than
99             oor:string-list
100         (#PCDATA | unicode)*  if the property type is oor:string-list -->
101<!ATTLIST it>
102
103<!ELEMENT unicode EMPTY>
104<!ATTLIST unicode
105    oor:scalar NMTOKEN #REQUIRED>
106        <!-- must syntactically match xs:integer and have a value in {0, ..., 8,
107             11, 12, 14, ..., 31, 65534, 65535} -->
108
109<!-- oor:items is an alternative root element to oor:component-data (in plain
110     .xcu files only; not when nested in an .xcd file), used for the user-layer
111     registrymodifications.xcu: -->
112
113<!ELEMENT oor:items (item*)>
114<!ATTLIST oor:items>
115
116<!ELEMENT item ((node | prop | value)*)>
117<!ATTLIST item
118    oor:path CDATA #REQUIRED>
119        <!-- the absolute path representation of a localized property or a group
120             or set node -->
121