office-gobmx/officecfg/registry/component-update.xsd
Jens-Heiner Rechtien 8d5467ba21 INTEGRATION: CWS sb50 (1.5.824); FILE MERGED
2006/04/05 14:15:23 sb 1.5.824.1: #i63706# Implemented oor:op=fuse.
2006-04-19 12:59:40 +00:00

113 lines
4.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<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">
<xs:annotation>
<xs:documentation>defines the document format for configuration update documents.
Updates are increments to default documents like a component schema and contain
additional information for merging and access control</xs:documentation>
</xs:annotation>
<xs:redefine schemaLocation="component-types.xsd">
<xs:complexType name="value">
<xs:annotation>
<xs:documentation>adds the xml:lang attribute for localized information. Only the update format is allowed to contain localized data.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="oor:value">
<xs:attribute ref="xml:lang"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:redefine>
<xs:complexType name="node">
<xs:annotation>
<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>
</xs:annotation>
<xs:complexContent>
<xs:extension base="oor:basic-node">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="node" type="oor:node"/>
<xs:element name="prop" type="oor:prop">
<xs:unique name="uniqueLang">
<xs:selector xpath="oor:value"/>
<xs:field xpath="@xml:lang"/>
</xs:unique>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="oor:update-info"/>
<xs:attribute ref="oor:mandatory"/>
<xs:attributeGroup ref="oor:node-type-info" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="prop">
<xs:annotation>
<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>
</xs:annotation>
<xs:complexContent>
<xs:extension base="oor:basic-prop">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="value" type="oor:value" nillable="true"/>
</xs:sequence>
<xs:attributeGroup ref="oor:update-info"/>
<xs:attribute ref="oor:type" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:attributeGroup name="update-info">
<xs:attribute ref="oor:finalized"/>
<xs:attribute ref="oor:readonly"/>
<xs:attribute ref="oor:op"/>
</xs:attributeGroup>
<xs:attribute name="op" use="optional" default="modify">
<xs:annotation>
<xs:documentation>defines a list of possible operations, which are applied during merging of node fragments.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="modify"/>
<xs:enumeration value="replace"/>
<xs:enumeration value="fuse"/>
<xs:enumeration value="remove"/>
<xs:enumeration value="reset"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="finalized" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>indicates that the content of a node and its descendant nodes are not allowed to be overwritten.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="mandatory" type="xs:boolean" default="false">
<xs:annotation>
<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>
</xs:annotation>
</xs:attribute>
<xs:attribute name="readonly" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<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>
</xs:annotation>
</xs:attribute>
<xs:element name="component-data">
<xs:annotation>
<xs:documentation>root element of the update document.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:extension base="oor:basic-node">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="node" type="oor:node"/>
<xs:element name="prop" type="oor:prop">
<xs:unique name="uniqueLang">
<xs:selector xpath="oor:value"/>
<xs:field xpath="@xml:lang"/>
</xs:unique>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="oor:update-info"/>
<xs:attribute ref="oor:package"/>
</xs:extension>
</xs:complexType>
<xs:unique name="member">
<xs:selector xpath="oor:node|oor:prop"/>
<xs:field xpath="@oor:name"/>
</xs:unique>
</xs:element>
</xs:schema>