8d5467ba21
2006/04/05 14:15:23 sb 1.5.824.1: #i63706# Implemented oor:op=fuse.
113 lines
4.8 KiB
XML
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>
|