4630570447
2003/05/16 14:38:33 jb 1.5.24.1: #109668# Rename oor:node -> oor:component-data
135 lines
6.1 KiB
XML
135 lines
6.1 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema targetNamespace="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:oor="http://openoffice.org/2001/registry" elementFormDefault="unqualified" attributeFormDefault="qualified">
|
|
<xs:annotation>
|
|
<xs:documentation>provides a list of standard attribute and element definitions, reused in most parts of the different OOR document types</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
|
|
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
|
|
<!--List of attributes known in OOR-->
|
|
<xs:attribute name="name" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>identifies a node or an attribute within a tree, must be unique for all siblings.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="package" type="xs:NMTOKEN" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>contains the name of the package.
|
|
Package names are composed similar to java packages.
|
|
Packages are used to structure component configuration data.
|
|
An example of a package is 'org.openoffice',
|
|
where 'org' and 'openoffice' each define a package.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="node-type" type="xs:NMTOKEN">
|
|
<xs:annotation>
|
|
<xs:documentation>identifies the template to use for the set or a node reference. </xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="component" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>specifies the component, which contains a template definition</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="separator" type="xs:string" default=" ">
|
|
<xs:annotation>
|
|
<xs:documentation>specifies a separator for list types. The default
|
|
is a blank, which is sufficient for most basic types like xs:int or
|
|
xs:boolean. Only in certain cases, when using a sting or a binary
|
|
list, the separator might differ. For example, a list of string values like build of the items 'europe' and 'south america' needs a different separator, as the usage of the default separator would result in a list of three items.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="type" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>specifies the list of known basic types and their list equivalents. Is only allowed for properties.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="xs:boolean"/>
|
|
<xs:enumeration value="xs:short"/>
|
|
<xs:enumeration value="xs:int"/>
|
|
<xs:enumeration value="xs:long"/>
|
|
<xs:enumeration value="xs:double"/>
|
|
<xs:enumeration value="xs:string"/>
|
|
<xs:enumeration value="xs:hexBinary"/>
|
|
<xs:enumeration value="oor:any"/>
|
|
<xs:enumeration value="oor:boolean-list"/>
|
|
<xs:enumeration value="oor:short-list"/>
|
|
<xs:enumeration value="oor:int-list"/>
|
|
<xs:enumeration value="oor:long-list"/>
|
|
<xs:enumeration value="oor:double-list"/>
|
|
<xs:enumeration value="oor:string-list"/>
|
|
<xs:enumeration value="oor:hexBinary-list"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attributeGroup name="node-info">
|
|
<xs:annotation>
|
|
<xs:documentation>encompasses common attributes for nodes.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute ref="oor:name" use="required"/>
|
|
</xs:attributeGroup>
|
|
<xs:attributeGroup name="node-type-info">
|
|
<xs:annotation>
|
|
<xs:documentation>encompasses attributes for referencing a node-type.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute ref="oor:node-type" use="required"/>
|
|
<xs:attribute ref="oor:component" use="optional"/>
|
|
</xs:attributeGroup>
|
|
<xs:attributeGroup name="prop-info">
|
|
<xs:annotation>
|
|
<xs:documentation>encompasses common attributes for properties.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute ref="oor:name" use="required"/>
|
|
</xs:attributeGroup>
|
|
<!--List of list data types supported by OOR-->
|
|
<xs:simpleType name="boolean-list">
|
|
<xs:list itemType="xs:boolean"/>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="short-list">
|
|
<xs:list itemType="xs:short"/>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="int-list">
|
|
<xs:list itemType="xs:int"/>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="long-list">
|
|
<xs:list itemType="xs:long"/>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="double-list">
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="string-list">
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="hexBinary-list">
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<!--List of basic type definitions for all schema and instance elements known by OOR-->
|
|
<xs:complexType name="basic-node">
|
|
<xs:annotation>
|
|
<xs:documentation>base class for all kinds of nodes (set | group)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attributeGroup ref="oor:node-info"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="basic-prop">
|
|
<xs:annotation>
|
|
<xs:documentation>type definition for node properties</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attributeGroup ref="oor:prop-info"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="value">
|
|
<xs:annotation>
|
|
<xs:documentation>type definition for value nodes.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleContent>
|
|
<xs:extension base="oor:anyValue">
|
|
<xs:attribute ref="oor:separator" use="optional"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:simpleType name="anyValue">
|
|
<xs:annotation>
|
|
<xs:documentation>defines the list of possible basic data-types for properties.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:union memberTypes="xs:boolean xs:short xs:int xs:long xs:double xs:string xs:hexBinary oor:boolean-list oor:short-list oor:int-list oor:long-list oor:double-list oor:string-list oor:hexBinary-list"/>
|
|
</xs:simpleType>
|
|
</xs:schema>
|