summaryrefslogtreecommitdiff
path: root/officecfg/registry/component-types.xsd
diff options
context:
space:
mode:
authorDirk Grobler <dg@openoffice.org>2002-05-06 18:44:52 +0000
committerDirk Grobler <dg@openoffice.org>2002-05-06 18:44:52 +0000
commit8a1aa6657c6aa6ea699468313b963b1f88705fa9 (patch)
tree5ce7958d66ec44926051c86f60d456a1aa070359 /officecfg/registry/component-types.xsd
parent57843217579280c86a6a73ee8619e01de3ca61aa (diff)
#99152# transition to new cfg format
Diffstat (limited to 'officecfg/registry/component-types.xsd')
-rw-r--r--officecfg/registry/component-types.xsd179
1 files changed, 179 insertions, 0 deletions
diff --git a/officecfg/registry/component-types.xsd b/officecfg/registry/component-types.xsd
new file mode 100644
index 0000000000..ca4236ec2f
--- /dev/null
+++ b/officecfg/registry/component-types.xsd
@@ -0,0 +1,179 @@
+<?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>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="context" type="xs:string" use="optional">
+ <xs:annotation>
+ <xs:documentation>specifies the environment of a node fragment, typically contains a component path and optionally a node path</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="extensible" type="xs:boolean" use="optional" default="false">
+ <xs:annotation>
+ <xs:documentation>determines, whether a node has an extensible list of attributes or fixed list of attributes.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="localized" type="xs:boolean" use="optional" default="false">
+ <xs:annotation>
+ <xs:documentation>specifies, whether an attribute has or might have different values for different locales. </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="nillable" type="xs:boolean" use="optional" default="true">
+ <xs:annotation>
+ <xs:documentation>specifies, whether it is permissible to have a 'nil' i.e., missing, node content. The default for 'nillable' is 'true'.
+ If a non-optional (nillable = 'false') has no default value (given in the component schema) it must be
+ explicitly specified for each user.</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"/>
+ <xs:attribute ref="oor:extensible"/>
+ <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:attribute ref="oor:localized"/>
+ </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:group name="subNodes">
+ <xs:annotation>
+ <xs:documentation>specifies possible sub-elements of groups</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="group" type="oor:group"/>
+ <xs:element name="set" type="oor:set"/>
+ </xs:choice>
+ </xs:group>
+ <xs:complexType name="node">
+ <xs:annotation>
+ <xs:documentation>base class for all kinds of nodes (set | group)</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="prop" type="oor:prop" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:unique name="uniqueLang">
+ <xs:selector xpath="oor:value"/>
+ <xs:field xpath="@xml:lang"/>
+ </xs:unique>
+ </xs:element>
+ </xs:sequence>
+ <xs:attributeGroup ref="oor:node-info"/>
+ </xs:complexType>
+ <xs:complexType name="group">
+ <xs:annotation>
+ <xs:documentation>type definition for group nodes</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="oor:node"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="set">
+ <xs:annotation>
+ <xs:documentation>type definition for set nodes</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="oor:node"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="prop">
+ <xs:annotation>
+ <xs:documentation>type definition for node properties</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="value" type="oor:value" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <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>