sync master with lastest vba changes
[ooovba.git] / officecfg / registry / component-update.xsd
blob5e0d0994739d96470b6d6825899e77e0522cd827
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">
3 <xs:annotation>
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>
7 </xs:annotation>
8 <xs:redefine schemaLocation="component-types.xsd">
9 <xs:complexType name="value">
10 <xs:annotation>
11 <xs:documentation>adds the xml:lang attribute for localized information. Only the update format is allowed to contain localized data.</xs:documentation>
12 </xs:annotation>
13 <xs:simpleContent>
14 <xs:extension base="oor:value">
15 <xs:attribute ref="xml:lang"/>
16 </xs:extension>
17 </xs:simpleContent>
18 </xs:complexType>
19 </xs:redefine>
20 <xs:complexType name="node">
21 <xs:annotation>
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>
23 </xs:annotation>
24 <xs:complexContent>
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"/>
32 </xs:unique>
33 </xs:element>
34 </xs:choice>
35 <xs:attributeGroup ref="oor:update-info"/>
36 <xs:attribute ref="oor:mandatory"/>
37 <xs:attributeGroup ref="oor:node-type-info" use="optional"/>
38 </xs:extension>
39 </xs:complexContent>
40 </xs:complexType>
41 <xs:complexType name="prop">
42 <xs:annotation>
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>
44 </xs:annotation>
45 <xs:complexContent>
46 <xs:extension base="oor:basic-prop">
47 <xs:sequence minOccurs="0" maxOccurs="unbounded">
48 <xs:element name="value" type="oor:value" nillable="true"/>
49 </xs:sequence>
50 <xs:attributeGroup ref="oor:update-info"/>
51 <xs:attribute ref="oor:type" use="optional"/>
52 </xs:extension>
53 </xs:complexContent>
54 </xs:complexType>
55 <xs:attributeGroup name="update-info">
56 <xs:attribute ref="oor:finalized"/>
57 <xs:attribute ref="oor:readonly"/>
58 <xs:attribute ref="oor:op"/>
59 </xs:attributeGroup>
60 <xs:attribute name="op" use="optional" default="modify">
61 <xs:annotation>
62 <xs:documentation>defines a list of possible operations, which are applied during merging of node fragments.</xs:documentation>
63 </xs:annotation>
64 <xs:simpleType>
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"/>
71 </xs:restriction>
72 </xs:simpleType>
73 </xs:attribute>
74 <xs:attribute name="finalized" type="xs:boolean" use="optional" default="false">
75 <xs:annotation>
76 <xs:documentation>indicates that the content of a node and its descendant nodes are not allowed to be overwritten.</xs:documentation>
77 </xs:annotation>
78 </xs:attribute>
79 <xs:attribute name="mandatory" type="xs:boolean" default="false">
80 <xs:annotation>
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>
82 </xs:annotation>
83 </xs:attribute>
84 <xs:attribute name="readonly" type="xs:boolean" use="optional" default="false">
85 <xs:annotation>
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>
87 </xs:annotation>
88 </xs:attribute>
89 <xs:element name="component-data">
90 <xs:annotation>
91 <xs:documentation>root element of the update document.</xs:documentation>
92 </xs:annotation>
93 <xs:complexType>
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"/>
101 </xs:unique>
102 </xs:element>
103 </xs:choice>
104 <xs:attributeGroup ref="oor:update-info"/>
105 <xs:attribute ref="oor:package"/>
106 </xs:extension>
107 </xs:complexType>
108 <xs:unique name="member">
109 <xs:selector xpath="oor:node|oor:prop"/>
110 <xs:field xpath="@oor:name"/>
111 </xs:unique>
112 </xs:element>
113 </xs:schema>