| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- |
| /** |
| * <copyright> |
| * |
| * Service Data Objects |
| * Version 2.0 |
| * Licensed Materials - Property of BEA and IBM |
| * |
| * (c) Copyright BEA Systems, Inc. and International Business Machines Corp 2005. All rights reserved. |
| * |
| * </copyright> |
| * |
| */ |
| |
| --> |
| |
| <xsd:schema |
| targetNamespace="commonj.sdo" |
| xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:sdo="commonj.sdo" |
| xmlns:sdoXML="commonj.sdo/xml" |
| xmlns:sdoJava="commonj.sdo/java" |
| elementFormDefault="qualified" |
| xsi:schemaLocation="commonj.sdo/xml sdoXML.xsd |
| commonj.sdo/java sdoJava.xsd"> |
| |
| <xsd:include schemaLocation="datagraph.xsd"/> |
| |
| <!-- Root element for defining several Types in one document. |
| Is not part of the model. |
| --> |
| <xsd:element name="types" type="sdo:Types"/> |
| <xsd:complexType name="Types"> |
| <xsd:sequence> |
| <xsd:element name="type" type="sdo:Type" minOccurs="0" maxOccurs="unbounded"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| <!-- Any data object may be serialized with this element, |
| with xsi:type to declare the |
| actual type of the DataObject serialized. |
| --> |
| <xsd:element name="dataObject" type="xsd:anyType"/> |
| |
| <!-- Model Types |
| SDO Type and Property are defined in terms of themselves. |
| --> |
| <xsd:element name="type" type="sdo:Type"/> |
| <xsd:complexType name="Type"> |
| <xsd:sequence> |
| <xsd:element name="baseType" type="sdo:URI" |
| minOccurs="0" maxOccurs="unbounded" |
| sdoXML:propertyType="sdo:Type" /> |
| <xsd:element name="property" type="sdo:Property" |
| minOccurs="0" maxOccurs="unbounded" /> |
| <xsd:element name="aliasName" type="sdo:String" |
| minOccurs="0" maxOccurs="unbounded" /> |
| <xsd:any namespace="##other" processContents="lax" |
| minOccurs="0" maxOccurs="unbounded" /> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="xsd:ID" sdo:dataType="sdo:String"/> |
| <xsd:attribute name="uri" type="sdo:URI"/> |
| <xsd:attribute name="dataType" type="sdo:Boolean"/> |
| <xsd:attribute name="open" type="sdo:Boolean"/> |
| <xsd:attribute name="sequenced" type="sdo:Boolean"/> |
| <xsd:attribute name="abstract" type="sdo:Boolean"/> |
| <xsd:anyAttribute namespace="##any" processContents="lax"/> |
| </xsd:complexType> |
| |
| <xsd:complexType name="Property"> |
| <xsd:sequence> |
| <xsd:element name="aliasName" type="sdo:String" |
| minOccurs="0" maxOccurs="unbounded" /> |
| <xsd:any namespace="##other" processContents="lax" |
| minOccurs="0" maxOccurs="unbounded" /> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="sdo:String"/> |
| <xsd:attribute name="many" type="sdo:Boolean"/> |
| <xsd:attribute name="containment" type="sdo:Boolean"/> |
| <xsd:attribute name="default" type="sdo:String"/> |
| <xsd:attribute name="readOnly" type="sdo:Boolean"/> |
| <xsd:attribute name="type" type="sdo:URI" sdoXML:propertyType="sdo:Type" /> |
| <xsd:attribute name="opposite" type="sdo:URI" sdoXML:propertyType="sdo:Property" /> |
| <xsd:anyAttribute namespace="##any" processContents="lax"/> |
| </xsd:complexType> |
| |
| <!-- Special Types --> |
| <xsd:complexType name="DataObject" abstract="true"/> |
| |
| <xsd:complexType name="TextType" abstract="true"> |
| <xsd:sequence> |
| <xsd:element name="text" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| <!-- ChangeSummaryType is defined in datagraph.xsd. |
| Although declared there as a ComplexType, |
| at the model level it is treated as a SimpleType |
| with a special XML serialization. |
| --> |
| |
| |
| <!-- Data Types --> |
| <xsd:simpleType name="Boolean" sdoJava:instanceClass="boolean"> |
| <xsd:restriction base="xsd:boolean"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Byte" sdoJava:instanceClass="byte"> |
| <xsd:restriction base="xsd:byte"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Bytes" sdoJava:instanceClass="byte[]"> |
| <xsd:restriction base="xsd:hexBinary"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Character" sdoJava:instanceClass="char"> |
| <xsd:restriction base="xsd:string"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Date" sdoJava:instanceClass="java.util.Date"> |
| <xsd:restriction base="xsd:dateTime"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="DateTime" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:dateTime"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Day" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:gDay"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Decimal" sdoJava:instanceClass="java.math.BigDecimal"> |
| <xsd:restriction base="xsd:decimal"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Double" sdoJava:instanceClass="double"> |
| <xsd:restriction base="xsd:double"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Duration" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:duration"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Float" sdoJava:instanceClass="float"> |
| <xsd:restriction base="xsd:float"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Int" sdoJava:instanceClass="int"> |
| <xsd:restriction base="xsd:int"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Integer" sdoJava:instanceClass="java.math.BigInteger"> |
| <xsd:restriction base="xsd:integer"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Long" sdoJava:instanceClass="long"> |
| <xsd:restriction base="xsd:long"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Month" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:gMonth"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="MonthDay" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:gMonthDay"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Object" sdoJava:instanceClass="java.lang.Object"> |
| <!-- Only the schema for schemas is allowed to restrict anySimpleType. |
| <xsd:restriction base="xsd:anySimpleType"/> |
| The equivalent declaration is a union of the predefined XSD data types. |
| --> |
| <xsd:union memberTypes="xsd:anyURI xsd:base64Binary xsd:boolean xsd:byte |
| xsd:date xsd:dateTime xsd:decimal xsd:double xsd:duration xsd:ENTITIES xsd:ENTITY xsd:float |
| xsd:gDay xsd:gMonth xsd:gMonthDay xsd:gYear xsd:gYearMonth xsd:hexBinary xsd:ID xsd:IDREF xsd:IDREFS |
| xsd:int xsd:integer xsd:language xsd:long xsd:Name xsd:NCName xsd:negativeInteger |
| xsd:NMTOKEN xsd:NMTOKENS xsd:nonNegativeInteger xsd:nonPositiveInteger |
| xsd:normalizedString xsd:NOTATION xsd:positiveInteger xsd:QName xsd:short xsd:string |
| xsd:time xsd:token xsd:unsignedByte xsd:unsignedInt xsd:unsignedLong xsd:unsignedShort"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Short" sdoJava:instanceClass="short"> |
| <xsd:restriction base="xsd:short"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="String" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:string"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Strings" sdoJava:instanceClass="java.util.List"> |
| <xsd:restriction base="xsd:string"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Time" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:time"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="Year" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:gYear"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="YearMonth" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:gYearMonth"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="YearMonthDay" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:date"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="URI" sdoJava:instanceClass="java.lang.String"> |
| <xsd:restriction base="xsd:anyURI"/> |
| </xsd:simpleType> |
| |
| </xsd:schema> |