summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsb <sb@openoffice.org>2009-10-12 13:55:27 +0200
committersb <sb@openoffice.org>2009-10-12 13:55:27 +0200
commit37a5c460aa383b0501f0dbd76bc9f3e0ab04527c (patch)
tree80b855c9e0d55c9b481034f37265db1c6ba0f3f7
parente35b10e4067b1c390b6a88b758bbee60aab5df43 (diff)
#i101955# updated DTDs, removed unused XSDs; cleanup
-rw-r--r--configmgr2/source/services.cxx27
-rw-r--r--configmgr2/source/xcsparser.cxx2
-rw-r--r--officecfg/registry/component-schema.dtd153
-rw-r--r--officecfg/registry/component-schema.xsd224
-rw-r--r--officecfg/registry/component-types.xsd135
-rw-r--r--officecfg/registry/component-update.dtd138
-rw-r--r--officecfg/registry/component-update.xsd113
7 files changed, 196 insertions, 596 deletions
diff --git a/configmgr2/source/services.cxx b/configmgr2/source/services.cxx
index 5bc934412e5a..d25d84290d41 100644
--- a/configmgr2/source/services.cxx
+++ b/configmgr2/source/services.cxx
@@ -114,30 +114,3 @@ extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
}
return true;
}
-
-/*TODO:
-com.sun.star.configuration.AdministrationProvider
-com.sun.star.configuration.ConfigurationRegistry
-com.sun.star.configuration.backend.Backend
-com.sun.star.configuration.backend.Backend
-com.sun.star.configuration.backend.Backend
-com.sun.star.configuration.backend.BackendAdapter
-com.sun.star.configuration.backend.CopyImporter
-com.sun.star.configuration.backend.DefaultBackend
-com.sun.star.configuration.backend.LayerUpdateMerger
-com.sun.star.configuration.backend.LocalHierarchyBrowser
-com.sun.star.configuration.backend.LocalHierarchyBrowser
-com.sun.star.configuration.backend.LocalMultiStratum
-com.sun.star.configuration.backend.LocalSchemaSupplier
-com.sun.star.configuration.backend.LocalSingleBackend
-com.sun.star.configuration.backend.LocalSingleStratum
-com.sun.star.configuration.backend.LocalSingleStratum
-com.sun.star.configuration.backend.LocalSingleStratum
-com.sun.star.configuration.backend.LocalSingleStratum
-com.sun.star.configuration.backend.MergeImporter
-com.sun.star.configuration.backend.OnlineBackend
-com.sun.star.configuration.backend.xml.LayerParser
-com.sun.star.configuration.backend.xml.LayerWriter
-com.sun.star.configuration.backend.xml.SchemaParser
-com.sun.star.configuration.bootstrap.BootstrapContext
-*/
diff --git a/configmgr2/source/xcsparser.cxx b/configmgr2/source/xcsparser.cxx
index aa280e7a4891..898853061993 100644
--- a/configmgr2/source/xcsparser.cxx
+++ b/configmgr2/source/xcsparser.cxx
@@ -386,7 +386,7 @@ void XcsParser::handleProp(XmlReader & reader) {
} else if (attrNs == XmlReader::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("type")))
{
- attrType = reader.getAttributeValue(false);
+ attrType = reader.getAttributeValue(true);
} else if (attrNs == XmlReader::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("localized")))
{
diff --git a/officecfg/registry/component-schema.dtd b/officecfg/registry/component-schema.dtd
index f2891d244e93..950e4f5088d3 100644
--- a/officecfg/registry/component-schema.dtd
+++ b/officecfg/registry/component-schema.dtd
@@ -1,127 +1,154 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2009 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* $RCSfile: code,v $
+*
+* $Revision: 1.4 $
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+**********************************************************************-->
+
<!ELEMENT oor:component-schema (info?, import*, uses*, templates?, component)>
<!ATTLIST oor:component-schema
- oor:name NMTOKEN #REQUIRED
- oor:package NMTOKEN #REQUIRED
+ oor:package CDATA #REQUIRED
+ oor:name CDATA #REQUIRED
oor:version NMTOKEN #IMPLIED
xml:lang CDATA #IMPLIED
xmlns:oor CDATA #FIXED "http://openoffice.org/2001/registry"
- xmlns:xs CDATA #FIXED "http://www.w3.org/2001/XMLSchema"
- xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance"
->
+ xmlns:xs CDATA #FIXED "http://www.w3.org/2001/XMLSchema">
<!ELEMENT import EMPTY>
<!ATTLIST import
- oor:component CDATA #REQUIRED
->
+ oor:component CDATA #REQUIRED>
<!ELEMENT uses EMPTY>
<!ATTLIST uses
- oor:component CDATA #REQUIRED
->
+ oor:component CDATA #REQUIRED>
-<!ELEMENT templates (info?, (group | set)*)>
-<!ELEMENT component (info?, (prop | node-ref | group | set)*)>
+<!ELEMENT templates (info?, (set | group)*)>
+<!ATTLIST templates>
<!ELEMENT info (deprecated?, author*, desc*, label*)>
+<!ATTLIST info>
<!ELEMENT deprecated (#PCDATA)>
+<!ATTLIST deprecated>
<!ELEMENT author (#PCDATA)>
+<!ATTLIST author>
<!ELEMENT desc (#PCDATA)>
<!ATTLIST desc
- xml:lang CDATA #IMPLIED
->
+ xml:lang CDATA #IMPLIED>
<!ELEMENT label (#PCDATA)>
<!ATTLIST label
- xml:lang CDATA #IMPLIED
->
+ xml:lang CDATA #IMPLIED>
-<!ELEMENT group (info?, (prop | node-ref | group | set)*)>
-<!ATTLIST group
- oor:name CDATA #REQUIRED
- oor:extensible (true | false) #IMPLIED
->
+<!ELEMENT component (info?, (set | group | prop | node-ref)*)>
+<!ATTLIST component>
<!ELEMENT set (info?, item*)>
<!ATTLIST set
oor:name CDATA #REQUIRED
- oor:node-type NMTOKEN #REQUIRED
- oor:component CDATA #IMPLIED
->
+ oor:node-type CDATA #REQUIRED
+ oor:component CDATA #IMPLIED>
-<!ELEMENT node-ref (info?)>
-<!ATTLIST node-ref
+<!ELEMENT item EMPTY>
+<!ATTLIST item
+ oor:node-type CDATA #REQUIRED
+ oor:component CDATA #IMPLIED>
+
+<!ELEMENT group (info?, (set | group | prop | node-ref)*)>
+<!ATTLIST group
oor:name CDATA #REQUIRED
- oor:node-type NMTOKEN #REQUIRED
- oor:component CDATA #IMPLIED
->
+ oor:extensible (false | true) #IMPLIED>
<!ELEMENT prop (info?, constraints?, value?)>
<!ATTLIST prop
oor:name CDATA #REQUIRED
- oor:type (xs:boolean | xs:short | xs:int | xs:long | xs:double | xs:string | xs:hexBinary | oor:any | oor:boolean-list | oor:short-list | oor:int-list | oor:long-list | oor:double-list | oor:string-list | oor:hexBinary-list) #REQUIRED
- oor:localized (true | false) #IMPLIED
- oor:nillable (true | false) #IMPLIED
->
-
-<!ELEMENT item EMPTY>
-<!ATTLIST item
- oor:node-type NMTOKEN #REQUIRED
- oor:component CDATA #IMPLIED
->
-
-<!ELEMENT value (#PCDATA)>
-<!ATTLIST value
- oor:separator CDATA #IMPLIED
->
-
-<!ELEMENT constraints (enumeration*, length?, minLength?, maxLength?, minInclusive?, maxInclusive?, minExclusive?, maxExclusive?, whiteSpace?)>
+ oor:localized (false | true) #IMPLIED
+ oor:type
+ (oor:any | 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)
+ #REQUIRED
+ oor:nillable (false | true) #IMPLIED>
+
+<!ELEMENT constraints
+ (enumeration*, length?, minLength?, maxLength?, minInclusive?,
+ maxInclusive?, minExclusive?, maxExclusive?, whiteSpace?)>
<!ELEMENT enumeration (info?)>
<!ATTLIST enumeration
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
<!ELEMENT length (info?)>
<!ATTLIST length
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
<!ELEMENT minLength (info?)>
<!ATTLIST minLength
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
<!ELEMENT maxLength (info?)>
<!ATTLIST maxLength
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
<!ELEMENT minInclusive (info?)>
<!ATTLIST minInclusive
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
<!ELEMENT maxInclusive (info?)>
<!ATTLIST maxInclusive
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
<!ELEMENT minExclusive (info?)>
<!ATTLIST minExclusive
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
<!ELEMENT maxExclusive (info?)>
<!ATTLIST maxExclusive
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
<!ELEMENT whiteSpace (info?)>
<!ATTLIST whiteSpace
- oor:value CDATA #REQUIRED
->
+ oor:value CDATA #REQUIRED>
+
+<!ELEMENT value (#PCDATA | it | unicode)*>
+<!ATTLIST value
+ oor:separator CDATA #IMPLIED>
+<!ELEMENT it (#PCDATA | unicode)*>
+<!ATTLIST it>
+
+<!ELEMENT unicode EMPTY>
+<!ATTLIST unicode
+ oor:scalar NMTOKEN #REQUIRED>
+
+<!ELEMENT node-ref (info?)>
+<!ATTLIST node-ref
+ oor:name CDATA #REQUIRED
+ oor:node-type CDATA #REQUIRED
+ oor:component CDATA #IMPLIED>
diff --git a/officecfg/registry/component-schema.xsd b/officecfg/registry/component-schema.xsd
deleted file mode 100644
index cc3c18a16c3d..000000000000
--- a/officecfg/registry/component-schema.xsd
+++ /dev/null
@@ -1,224 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Dirk Grobler (OpenOffice) -->
-<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>specifies the document format for OOo configuration component schemata.</xs:documentation>
- </xs:annotation>
- <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="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:complexType name="prop">
- <xs:annotation>
- <xs:documentation>redefines the property type
- by adding documentation and type constraint elements.</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="oor:basic-prop">
- <xs:sequence>
- <xs:element name="info" type="oor:info" minOccurs="0"/>
- <xs:element name="constraints" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="enumeration" type="oor:constraint" minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="length" type="oor:constraint" minOccurs="0"/>
- <xs:element name="minLength" type="oor:constraint" minOccurs="0"/>
- <xs:element name="maxLength" type="oor:constraint" minOccurs="0"/>
- <xs:element name="minInclusive" type="oor:constraint" minOccurs="0"/>
- <xs:element name="maxInclusive" type="oor:constraint" minOccurs="0"/>
- <xs:element name="minExclusive" type="oor:constraint" minOccurs="0"/>
- <xs:element name="maxExclusive" type="oor:constraint" minOccurs="0"/>
- <xs:element name="whiteSpace" type="oor:constraint" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="value" type="oor:value" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute ref="oor:localized"/>
- <xs:attribute ref="oor:nillable"/>
- <xs:attribute ref="oor:type" use="required"/>
- </xs:extension>
- </xs:complexContent>
- </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:basic-node">
- <xs:sequence>
- <xs:element name="info" type="oor:info" minOccurs="0"/>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="prop" type="oor:prop" />
- <xs:element name="group" type="oor:group"/>
- <xs:element name="set" type="oor:set"/>
- <xs:element name="node-ref" type="oor:node-ref"/>
- </xs:choice>
- </xs:sequence>
- <xs:attribute ref="oor:extensible"/>
- </xs:extension>
- </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:basic-node">
- <xs:sequence>
- <xs:element name="info" type="oor:info" minOccurs="0"/>
- <xs:element name="item" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:attributeGroup ref="oor:node-type-info" />
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute ref="oor:extensible"/>
- <xs:attributeGroup ref="oor:node-type-info" />
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="node-ref">
- <xs:annotation>
- <xs:documentation>allows to define node references. A node references points to an existing templated definition. This definition will be expanded at runtime.</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="info" type="oor:info" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute ref="oor:name" use="required"/>
- <xs:attributeGroup ref="oor:node-type-info" />
- </xs:complexType>
- <xs:complexType name="constraint">
- <xs:annotation>
- <xs:documentation>basic type for constraints, which can be applied for property elements.</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="info" type="oor:info" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="value" type="xs:anySimpleType" use="required"/>
- </xs:complexType>
- <xs:complexType name="info">
- <xs:annotation>
- <xs:documentation>type for providing human readable information. Can be attached to any kind of component schema element.</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="deprecated" type="xs:string" minOccurs="0">
- <xs:annotation>
- <xs:documentation>identifies an entry as deprecated. Can be assiciated with an explanation e.g. since when the entry is deprecated.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>author(s) of the configuration entry.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="desc" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation>provide a human
- readable documentation for a schema element.</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute ref="xml:lang"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="label" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation>describes a title or label,
- which can be reused in a console.</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute ref="xml:lang"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:element name="component-schema">
- <xs:annotation>
- <xs:documentation>Root element, which encompasses the schema specification</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="info" type="oor:info" minOccurs="0"/>
- <xs:element name="import" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:attribute ref="oor:component" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="uses" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:attribute ref="oor:component" use="required"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="templates" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="group" type="oor:group">
- <xs:unique name="groupMember">
- <xs:selector xpath="group|set|node-ref|prop"/>
- <xs:field xpath="@oor:name"/>
- </xs:unique>
- </xs:element>
- <xs:element name="set" type="oor:set"/>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- <xs:unique name="templatesMember">
- <xs:selector xpath="oor:group|oor:set"/>
- <xs:field xpath="@oor:name"/>
- </xs:unique>
- </xs:element>
- <xs:element name="component">
- <xs:complexType>
- <xs:sequence>
- <xs:choice minOccurs="1" maxOccurs="unbounded">
- <xs:element name="prop" type="oor:prop"/>
- <xs:element name="node-ref" type="oor:node-ref"/>
- <xs:element name="group" type="oor:group">
- <xs:unique name="groupMember1">
- <xs:selector xpath="oor:group|oor:set|oor:node-ref|oor:prop"/>
- <xs:field xpath="@oor:name"/>
- </xs:unique>
- </xs:element>
- <xs:element name="set" type="oor:set"/>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- <xs:unique name="schemaMember">
- <xs:selector xpath="oor:group|oor:set|oor:node-ref|oor:prop"/>
- <xs:field xpath="@oor:name"/>
- </xs:unique>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
- <xs:attribute ref="oor:package"/>
- <xs:attribute name="version" type="xs:string" use="optional">
- <xs:annotation>
- <xs:documentation>identifies the version of the component. The version number is build of major.minor.micro</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute ref="xml:lang" use="optional"/>
- </xs:complexType>
- </xs:element>
-</xs:schema>
diff --git a/officecfg/registry/component-types.xsd b/officecfg/registry/component-types.xsd
deleted file mode 100644
index 9b2f2371ce2f..000000000000
--- a/officecfg/registry/component-types.xsd
+++ /dev/null
@@ -1,135 +0,0 @@
-<?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>
diff --git a/officecfg/registry/component-update.dtd b/officecfg/registry/component-update.dtd
index 10c4632a91de..1781f06f11fa 100644
--- a/officecfg/registry/component-update.dtd
+++ b/officecfg/registry/component-update.dtd
@@ -1,41 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2009 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* $RCSfile: code,v $
+*
+* $Revision: 1.4 $
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+**********************************************************************-->
-<!ELEMENT oor:component-data ((prop|node)*)>
+<!ELEMENT oor:component-data ((node | prop)*)>
<!ATTLIST oor:component-data
- oor:name NMTOKEN #REQUIRED
- oor:package NMTOKEN #REQUIRED
- oor:finalized (true | false) #IMPLIED
- oor:op (modify | replace | fuse | remove | reset) #IMPLIED
- xmlns:oor CDATA #FIXED "http://openoffice.org/2001/registry"
- xmlns:install CDATA #FIXED "http://openoffice.org/2004/installation"
- xmlns:xs CDATA #FIXED "http://www.w3.org/2001/XMLSchema"
- xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance"
->
-
-<!ELEMENT node ((prop|node)*)>
+ oor:package CDATA #REQUIRED
+ oor:name CDATA #REQUIRED
+ oor:op (modify | replace | fuse | remove) #IMPLIED
+ oor:finalized (false | true) #IMPLIED
+ xmlns:oor CDATA #FIXED "http://openoffice.org/2001/registry"
+ xmlns:xs CDATA #FIXED "http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:install CDATA #FIXED "http://openoffice.org/2004/installation">
+
+<!ELEMENT node ((node | prop)*)>
<!ATTLIST node
- oor:name CDATA #REQUIRED
- oor:component CDATA #IMPLIED
- oor:finalized (true | false) #IMPLIED
- oor:mandatory (true | false) #IMPLIED
- oor:op (modify | replace | fuse | remove | reset) #IMPLIED
- oor:node-type NMTOKEN #IMPLIED
- install:module NMTOKEN #IMPLIED
->
+ oor:name CDATA #REQUIRED
+ oor:op (modify | replace | fuse | remove) #IMPLIED
+ oor:finalized (true | false) #IMPLIED
+ oor:mandatory (true | false) #IMPLIED
+ oor:node-type CDATA #IMPLIED
+ oor:component CDATA #IMPLIED
+ install:module CDATA #IMPLIED>
<!ELEMENT prop (value*)>
<!ATTLIST prop
- oor:name CDATA #REQUIRED
- oor:op (modify | replace | fuse | remove | reset) #IMPLIED
- oor:finalized CDATA #IMPLIED
- oor:type (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) #IMPLIED
- install:module NMTOKEN #IMPLIED
->
-
-<!ELEMENT value (#PCDATA)>
+ oor:name CDATA #REQUIRED
+ oor:op (modify | replace | fuse | remove) #IMPLIED
+ oor:finalized (true | false) #IMPLIED
+ oor:type
+ (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)
+ #IMPLIED
+ install:module CDATA #IMPLIED>
+
+<!ELEMENT value (#PCDATA | it | unicode)*>
+ <!-- EMPTY if oor:op="remove", xsi:nil="true", or oor:external is used
+ #PCDATA if the property type is a non-list type other than xs:string
+ (#PCDATA | unicode)* if the property type is xs:string
+ #PCDATA or it* if the property type is a list type other than
+ oor:string-list
+ (#PCDATA | unicode)* or it* if the property type is
+ oor:string-list -->
<!ATTLIST value
- xsi:nil (true | false) #IMPLIED
- oor:separator CDATA #IMPLIED
- xml:lang CDATA #IMPLIED
- install:module NMTOKEN #IMPLIED
->
+ xml:lang CDATA #IMPLIED
+ oor:op (modify | remove) #IMPLIED
+ xsi:nil (true | false) #IMPLIED
+ oor:separator CDATA #IMPLIED
+ oor:external CDATA #IMPLIED
+ install:module CDATA #IMPLIED>
+ <!-- xml:lang must only be used for localized properties; defaults to the
+ empty string
+ oor:op defaults to "modify"; "remove" must only be used for localized
+ properties
+ xsi:nil defaults to "false"; "true" must only be used for nillable
+ properties
+ oor:separator must only be used if the property type is a list type
+ and the element content is #PCDATA or (#PCDATA | unicode)* (and not
+ EMPTY or it*)
+ oor:external must only be used for non-localized properties and must
+ not be used together with xsi:nil="true" -->
+
+<!ELEMENT it (#PCDATA | unicode)*>
+ <!-- #PCDATA if the property type is a list type other than
+ oor:string-list
+ (#PCDATA | unicode)* if the property type is oor:string-list -->
+<!ATTLIST it>
+
+<!ELEMENT unicode EMPTY>
+<!ATTLIST unicode
+ oor:scalar NMTOKEN #REQUIRED>
+ <!-- must syntactically match xs:integer and have a value in {0, ..., 8,
+ 11, 12, 14, ..., 31, 65534, 65535} -->
+
+<!-- oor:items is an alternative root element to oor:component-data (in plain
+ .xcu files only; not when nested in an .xcd file), used for the user-layer
+ registrymodifications.xcu: -->
+
+<!ELEMENT oor:items (item*)>
+<!ATTLIST oor:items>
+
+<!ELEMENT item ((prop | node)*)>
+<!ATTLIST item
+ oor:path CDATA #REQUIRED>
+ <!-- the absolute path representation of a set or group node -->
diff --git a/officecfg/registry/component-update.xsd b/officecfg/registry/component-update.xsd
deleted file mode 100644
index 5e0d0994739d..000000000000
--- a/officecfg/registry/component-update.xsd
+++ /dev/null
@@ -1,113 +0,0 @@
-<?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>