1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <xs:schema targetNamespace=
"http://openoffice.org/2001/registry" xmlns:
oor=
"http://openoffice.org/2001/registry" xmlns:
xs=
"http://www.w3.org/2001/XMLSchema" elementFormDefault=
"unqualified" attributeFormDefault=
"qualified">
4 <xs:documentation>defines the document format for configuration update documents.
5 Updates are increments to default documents like a component schema and contain
6 additional information for merging and access control
</xs:documentation>
8 <xs:redefine schemaLocation=
"component-types.xsd">
9 <xs:complexType name=
"value">
11 <xs:documentation>adds the xml:lang attribute for localized information. Only the update format is allowed to contain localized data.
</xs:documentation>
14 <xs:extension base=
"oor:value">
15 <xs:attribute ref=
"xml:lang"/>
20 <xs:complexType name=
"node">
22 <xs:documentation>Identifies a node in the schema by it's name and position within the hierarchy. Overrides or adds information from the base layer. A node can be of type set or group.
</xs:documentation>
25 <xs:extension base=
"oor:basic-node">
26 <xs:choice minOccurs=
"0" maxOccurs=
"unbounded">
27 <xs:element name=
"node" type=
"oor:node"/>
28 <xs:element name=
"prop" type=
"oor:prop">
29 <xs:unique name=
"uniqueLang">
30 <xs:selector xpath=
"oor:value"/>
31 <xs:field xpath=
"@xml:lang"/>
35 <xs:attributeGroup ref=
"oor:update-info"/>
36 <xs:attribute ref=
"oor:mandatory"/>
37 <xs:attributeGroup ref=
"oor:node-type-info" use=
"optional"/>
41 <xs:complexType name=
"prop">
43 <xs:documentation>adds operational info to a property, should only be applied for dynamic properties. Dynamic properties are not available in the component schema and are added or removed during runtime.
</xs:documentation>
46 <xs:extension base=
"oor:basic-prop">
47 <xs:sequence minOccurs=
"0" maxOccurs=
"unbounded">
48 <xs:element name=
"value" type=
"oor:value" nillable=
"true"/>
50 <xs:attributeGroup ref=
"oor:update-info"/>
51 <xs:attribute ref=
"oor:type" use=
"optional"/>
55 <xs:attributeGroup name=
"update-info">
56 <xs:attribute ref=
"oor:finalized"/>
57 <xs:attribute ref=
"oor:readonly"/>
58 <xs:attribute ref=
"oor:op"/>
60 <xs:attribute name=
"op" use=
"optional" default=
"modify">
62 <xs:documentation>defines a list of possible operations, which are applied during merging of node fragments.
</xs:documentation>
65 <xs:restriction base=
"xs:string">
66 <xs:enumeration value=
"modify"/>
67 <xs:enumeration value=
"replace"/>
68 <xs:enumeration value=
"fuse"/>
69 <xs:enumeration value=
"remove"/>
70 <xs:enumeration value=
"reset"/>
74 <xs:attribute name=
"finalized" type=
"xs:boolean" use=
"optional" default=
"false">
76 <xs:documentation>indicates that the content of a node and its descendant nodes are not allowed to be overwritten.
</xs:documentation>
79 <xs:attribute name=
"mandatory" type=
"xs:boolean" default=
"false">
81 <xs:documentation>specifies that a node MUST be present and can not be removed or replaced by a node during the merging process.
</xs:documentation>
84 <xs:attribute name=
"readonly" type=
"xs:boolean" use=
"optional" default=
"false">
86 <xs:documentation>determines, whether a node and its descendants are readonly or not. This is a computed attribute and can not be set by an application.
</xs:documentation>
89 <xs:element name=
"component-data">
91 <xs:documentation>root element of the update document.
</xs:documentation>
94 <xs:extension base=
"oor:basic-node">
95 <xs:choice minOccurs=
"0" maxOccurs=
"unbounded">
96 <xs:element name=
"node" type=
"oor:node"/>
97 <xs:element name=
"prop" type=
"oor:prop">
98 <xs:unique name=
"uniqueLang">
99 <xs:selector xpath=
"oor:value"/>
100 <xs:field xpath=
"@xml:lang"/>
104 <xs:attributeGroup ref=
"oor:update-info"/>
105 <xs:attribute ref=
"oor:package"/>
108 <xs:unique name=
"member">
109 <xs:selector xpath=
"oor:node|oor:prop"/>
110 <xs:field xpath=
"@oor:name"/>