diff options
author | Dirk Grobler <dg@openoffice.org> | 2002-05-06 18:44:52 +0000 |
---|---|---|
committer | Dirk Grobler <dg@openoffice.org> | 2002-05-06 18:44:52 +0000 |
commit | 8a1aa6657c6aa6ea699468313b963b1f88705fa9 (patch) | |
tree | 5ce7958d66ec44926051c86f60d456a1aa070359 /officecfg/registry/component-types.xsd | |
parent | 57843217579280c86a6a73ee8619e01de3ca61aa (diff) |
#99152# transition to new cfg format
Diffstat (limited to 'officecfg/registry/component-types.xsd')
-rw-r--r-- | officecfg/registry/component-types.xsd | 179 |
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> |