1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <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">
4 <xs:documentation>provides a list of standard attribute and element definitions, reused in most parts of the different OOR document types
</xs:documentation>
6 <xs:import namespace=
"http://www.w3.org/XML/1998/namespace"
7 schemaLocation=
"http://www.w3.org/2001/xml.xsd"/>
8 <!--List of attributes known in OOR-->
9 <xs:attribute name=
"name" type=
"xs:string" use=
"required">
11 <xs:documentation>identifies a node or an attribute within a tree, must be unique for all siblings.
</xs:documentation>
14 <xs:attribute name=
"package" type=
"xs:NMTOKEN" use=
"required">
16 <xs:documentation>contains the name of the package.
17 Package names are composed similar to java packages.
18 Packages are used to structure component configuration data.
19 An example of a package is 'org.openoffice',
20 where 'org' and 'openoffice' each define a package.
</xs:documentation>
23 <xs:attribute name=
"node-type" type=
"xs:NMTOKEN">
25 <xs:documentation>identifies the template to use for the set or a node reference.
</xs:documentation>
28 <xs:attribute name=
"component" type=
"xs:string" use=
"optional">
30 <xs:documentation>specifies the component, which contains a template definition
</xs:documentation>
33 <xs:attribute name=
"separator" type=
"xs:string" default=
" ">
35 <xs:documentation>specifies a separator for list types. The default
36 is a blank, which is sufficient for most basic types like xs:int or
37 xs:boolean. Only in certain cases, when using a sting or a binary
38 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>
41 <xs:attribute name=
"type" use=
"optional">
43 <xs:documentation>specifies the list of known basic types and their list equivalents. Is only allowed for properties.
</xs:documentation>
46 <xs:restriction base=
"xs:string">
47 <xs:enumeration value=
"xs:boolean"/>
48 <xs:enumeration value=
"xs:short"/>
49 <xs:enumeration value=
"xs:int"/>
50 <xs:enumeration value=
"xs:long"/>
51 <xs:enumeration value=
"xs:double"/>
52 <xs:enumeration value=
"xs:string"/>
53 <xs:enumeration value=
"xs:hexBinary"/>
54 <xs:enumeration value=
"oor:any"/>
55 <xs:enumeration value=
"oor:boolean-list"/>
56 <xs:enumeration value=
"oor:short-list"/>
57 <xs:enumeration value=
"oor:int-list"/>
58 <xs:enumeration value=
"oor:long-list"/>
59 <xs:enumeration value=
"oor:double-list"/>
60 <xs:enumeration value=
"oor:string-list"/>
61 <xs:enumeration value=
"oor:hexBinary-list"/>
65 <xs:attributeGroup name=
"node-info">
67 <xs:documentation>encompasses common attributes for nodes.
</xs:documentation>
69 <xs:attribute ref=
"oor:name" use=
"required"/>
71 <xs:attributeGroup name=
"node-type-info">
73 <xs:documentation>encompasses attributes for referencing a node-type.
</xs:documentation>
75 <xs:attribute ref=
"oor:node-type" use=
"required"/>
76 <xs:attribute ref=
"oor:component" use=
"optional"/>
78 <xs:attributeGroup name=
"prop-info">
80 <xs:documentation>encompasses common attributes for properties.
</xs:documentation>
82 <xs:attribute ref=
"oor:name" use=
"required"/>
84 <!--List of list data types supported by OOR-->
85 <xs:simpleType name=
"boolean-list">
86 <xs:list itemType=
"xs:boolean"/>
88 <xs:simpleType name=
"short-list">
89 <xs:list itemType=
"xs:short"/>
91 <xs:simpleType name=
"int-list">
92 <xs:list itemType=
"xs:int"/>
94 <xs:simpleType name=
"long-list">
95 <xs:list itemType=
"xs:long"/>
97 <xs:simpleType name=
"double-list">
98 <xs:list itemType=
"xs:double"/>
100 <xs:simpleType name=
"string-list">
101 <xs:restriction base=
"xs:string"/>
103 <xs:simpleType name=
"hexBinary-list">
104 <xs:restriction base=
"xs:string"/>
106 <!--List of basic type definitions for all schema and instance elements known by OOR-->
107 <xs:complexType name=
"basic-node">
109 <xs:documentation>base class for all kinds of nodes (set | group)
</xs:documentation>
111 <xs:attributeGroup ref=
"oor:node-info"/>
113 <xs:complexType name=
"basic-prop">
115 <xs:documentation>type definition for node properties
</xs:documentation>
117 <xs:attributeGroup ref=
"oor:prop-info"/>
119 <xs:complexType name=
"value">
121 <xs:documentation>type definition for value nodes.
</xs:documentation>
124 <xs:extension base=
"oor:anyValue">
125 <xs:attribute ref=
"oor:separator" use=
"optional"/>
129 <xs:simpleType name=
"anyValue">
131 <xs:documentation>defines the list of possible basic data-types for properties.
</xs:documentation>
133 <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"/>