Changes between Initial Version and Version 1 of ebXMLRIMXSD


Ignore:
Timestamp:
Jul 21, 2008, 9:02:23 AM (16 years ago)
Author:
heikki
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ebXMLRIMXSD

    v1 v1  
     1 {{{
     2
     3<?xml version="1.0" encoding="UTF-8"?>
     4<!-- $Header: /cvsroot/ebxmlrr/ebxmlrr-spec/misc/3.0/schema/rim.xsd,v 1.20 2005/02/03 19:28:15 farrukh_najmi Exp $ -->
     5<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
     6        <annotation>
     7                <documentation xml:lang="en">The schema for OASIS ebXML Registry Information Model</documentation>
     8        </annotation>
     9        <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
     10        <!-- Begin information model mapping from ebRIM. -->
     11        <!-- Define Data Types -->
     12        <simpleType name="referenceURI">
     13                <annotation>
     14                        <documentation xml:lang="en">
     15        referenceURI is used by reference attributes within RIM.
     16        Each attribute of type referenceURI references a RegistryObject with
     17        specified URI as id.
     18      </documentation>
     19                </annotation>
     20                <restriction base="anyURI"/>
     21        </simpleType>
     22        <simpleType name="String4">
     23                <restriction base="string">
     24                        <maxLength value="4"/>
     25                </restriction>
     26        </simpleType>
     27        <simpleType name="String8">
     28                <restriction base="string">
     29                        <maxLength value="8"/>
     30                </restriction>
     31        </simpleType>
     32        <simpleType name="String16">
     33                <restriction base="string">
     34                        <maxLength value="16"/>
     35                </restriction>
     36        </simpleType>
     37        <simpleType name="String32">
     38                <restriction base="string">
     39                        <maxLength value="32"/>
     40                </restriction>
     41        </simpleType>
     42        <simpleType name="ShortName">
     43                <restriction base="string">
     44                        <maxLength value="64"/>
     45                </restriction>
     46        </simpleType>
     47        <simpleType name="LongName">
     48                <restriction base="string">
     49                        <maxLength value="256"/>
     50                </restriction>
     51        </simpleType>
     52        <simpleType name="FreeFormText">
     53                <restriction base="string">
     54                        <maxLength value="1024"/>
     55                </restriction>
     56        </simpleType>
     57        <complexType name="InternationalStringType">
     58                <sequence minOccurs="0" maxOccurs="unbounded">
     59                        <element ref="tns:LocalizedString"/>
     60                </sequence>
     61        </complexType>
     62        <element name="InternationalString" type="tns:InternationalStringType"/>
     63        <element name="Name" type="tns:InternationalStringType"/>
     64        <element name="Description" type="tns:InternationalStringType"/>
     65        <complexType name="LocalizedStringType">
     66                <attribute ref="xml:lang" default="en-US"/>
     67                <attribute name="charset" default="UTF-8"/>
     68                <attribute name="value" type="tns:FreeFormText" use="required"/>
     69        </complexType>
     70        <element name="LocalizedString" type="tns:LocalizedStringType"/>
     71        <complexType name="SlotType1">
     72                <sequence>
     73                        <element ref="tns:ValueList"/>
     74                </sequence>
     75                <attribute name="name" type="tns:LongName" use="required"/>
     76                <attribute name="slotType" type="tns:referenceURI" use="optional"/>
     77                <!--slotType value MUST reference a ClassificationNode in the canonical DataType scheme-->
     78        </complexType>
     79        <element name="Slot" type="tns:SlotType1"/>
     80        <complexType name="ValueListType">
     81                <sequence minOccurs="0" maxOccurs="unbounded">
     82                        <element ref="tns:Value"/>
     83                </sequence>
     84        </complexType>
     85        <element name="ValueList" type="tns:ValueListType"/>
     86        <element name="Value" type="tns:LongName"/>
     87        <complexType name="SlotListType">
     88                <sequence>
     89                        <element ref="tns:Slot" minOccurs="0" maxOccurs="unbounded"/>
     90                </sequence>
     91        </complexType>
     92        <element name="SlotList" type="tns:SlotListType"/>
     93        <complexType name="IdentifiableType">
     94                <annotation>
     95                        <documentation xml:lang="en">
     96        Common base type for all types that have unique identity.     
     97        If id is provided and is not in proper URN syntax then it is used for
     98        linkage within document and is ignored by the registry. In this case the
     99        registry generates a UUID URN for id attribute.
     100        id must not be null when object is retrieved from the registry.
     101      </documentation>
     102                </annotation>
     103                <sequence>
     104                        <element ref="tns:Slot" minOccurs="0" maxOccurs="unbounded"/>
     105                </sequence>
     106                <attribute name="id" type="anyURI" use="required"/>
     107                <attribute name="home" type="anyURI" use="optional"/>
     108                <!-- home attribute is required only for remote ObjectRef -->
     109        </complexType>
     110        <element name="Identifiable" type="tns:IdentifiableType"/>
     111        <complexType name="ObjectRefType">
     112                <annotation>
     113                        <documentation xml:lang="en">
     114        Use to reference an Object by its id.
     115        Specifies the id attribute of the object as its id attribute.
     116        id attribute in ObjectAttributes is exactly the same syntax and semantics as
     117        id attribute in RegistryObject.
     118      </documentation>
     119                </annotation>
     120                <complexContent>
     121                        <extension base="tns:IdentifiableType">
     122                                <attribute name="createReplica" type="boolean" default="false"/>
     123                        </extension>
     124                        <!-- When true and is a remote ObjectRef then the registry must create a replica for this ObjectRef -->
     125                </complexContent>
     126        </complexType>
     127        <complexType name="ObjectRefListType">
     128                <sequence minOccurs="0" maxOccurs="unbounded">
     129                        <element ref="tns:ObjectRef"/>
     130                </sequence>
     131        </complexType>
     132        <element name="ObjectRefList" type="tns:ObjectRefListType"/>
     133        <element name="ObjectRef" type="tns:ObjectRefType" substitutionGroup="tns:Identifiable"/>
     134        <complexType name="RegistryObjectType">
     135                <complexContent>
     136                        <extension base="tns:IdentifiableType">
     137                                <sequence minOccurs="0">
     138                                        <element ref="tns:Name" minOccurs="0"/>
     139                                        <element ref="tns:Description" minOccurs="0"/>
     140                                        <element name="VersionInfo" type="tns:VersionInfoType" minOccurs="0"/>
     141                                        <element ref="tns:Classification" minOccurs="0" maxOccurs="unbounded"/>
     142                                        <element ref="tns:ExternalIdentifier" minOccurs="0" maxOccurs="unbounded"/>
     143                                </sequence>
     144                                <attribute name="lid" type="anyURI" use="optional"/>
     145                                <attribute name="objectType" type="tns:referenceURI" use="optional"/>
     146                                <attribute name="status" type="tns:referenceURI" use="optional"/>
     147                        </extension>
     148                </complexContent>
     149        </complexType>
     150        <element name="RegistryObject" type="tns:RegistryObjectType" substitutionGroup="tns:Identifiable"/>
     151        <complexType name="RegistryObjectListType">
     152                <sequence>
     153                        <element ref="tns:Identifiable" minOccurs="0" maxOccurs="unbounded"/>
     154                </sequence>
     155        </complexType>
     156        <element name="RegistryObjectList" type="tns:RegistryObjectListType"/>
     157        <complexType name="AssociationType1">
     158                <annotation>
     159                        <documentation xml:lang="en">
     160        Association is the mapping of the same named interface in ebRIM.
     161        It extends RegistryObject.
     162        An Association specifies references to two previously submitted
     163        registry entrys.
     164        The sourceObject is id of the sourceObject in association
     165        The targetObject is id of the targetObject in association
     166      </documentation>
     167                </annotation>
     168                <complexContent>
     169                        <extension base="tns:RegistryObjectType">
     170                                <attribute name="associationType" type="tns:referenceURI" use="required"/>
     171                                <attribute name="sourceObject" type="tns:referenceURI" use="required"/>
     172                                <attribute name="targetObject" type="tns:referenceURI" use="required"/>
     173                        </extension>
     174                </complexContent>
     175        </complexType>
     176        <element name="Association" type="tns:AssociationType1" substitutionGroup="tns:Identifiable"/>
     177        <complexType name="AuditableEventType">
     178                <annotation>
     179                        <documentation xml:lang="en">An Event that forms an audit trail in ebXML Registry.</documentation>
     180                </annotation>
     181                <complexContent>
     182                        <extension base="tns:RegistryObjectType">
     183                                <sequence>
     184                                        <!-- List of all objects that have been effected by this event -->
     185                                        <element name="affectedObjects" type="tns:ObjectRefListType"/>
     186                                </sequence>
     187                                <attribute name="eventType" type="tns:referenceURI" use="required"/>
     188                                <attribute name="timestamp" type="dateTime" use="required"/>
     189                                <attribute name="user" type="tns:referenceURI" use="required"/>
     190                                <attribute name="requestId" type="tns:referenceURI" use="required"/>
     191                        </extension>
     192                </complexContent>
     193        </complexType>
     194        <element name="AuditableEvent" type="tns:AuditableEventType" substitutionGroup="tns:Identifiable"/>
     195        <complexType name="ClassificationType">
     196                <annotation>
     197                        <documentation xml:lang="en">
     198        Classification is the mapping of the same named interface in ebRIM.
     199        It extends RegistryObject.
     200        A Classification specifies references to two registry entrys.
     201        The classifiedObject is id of the Object being classified.
     202        The classificationNode is id of the ClassificationNode classying the object
     203      </documentation>
     204                </annotation>
     205                <complexContent>
     206                        <extension base="tns:RegistryObjectType">
     207                                <attribute name="classificationScheme" type="tns:referenceURI" use="optional"/>
     208                                <attribute name="classifiedObject" type="tns:referenceURI" use="required"/>
     209                                <attribute name="classificationNode" type="tns:referenceURI" use="optional"/>
     210                                <attribute name="nodeRepresentation" type="tns:LongName" use="optional"/>
     211                        </extension>
     212                </complexContent>
     213        </complexType>
     214        <element name="Classification" type="tns:ClassificationType" substitutionGroup="tns:Identifiable"/>
     215        <complexType name="ClassificationNodeType">
     216                <annotation>
     217                        <documentation xml:lang="en">
     218        ClassificationNode is the mapping of the same named interface in ebRIM.
     219        It extends RegistryObject.
     220        ClassificationNode is used to submit a Classification tree to the Registry.
     221        The parent attribute is the id to the parent node. code is an optional code value for a ClassificationNode
     222        often defined by an external taxonomy (e.g. NAICS)
     223      </documentation>
     224                </annotation>
     225                <complexContent>
     226                        <extension base="tns:RegistryObjectType">
     227                                <sequence>
     228                                        <element ref="tns:ClassificationNode" minOccurs="0" maxOccurs="unbounded"/>
     229                                </sequence>
     230                                <attribute name="parent" type="tns:referenceURI" use="optional"/>
     231                                <attribute name="code" type="tns:LongName" use="optional"/>
     232                                <attribute name="path" type="string" use="optional"/>
     233                        </extension>
     234                </complexContent>
     235        </complexType>
     236        <element name="ClassificationNode" type="tns:ClassificationNodeType" substitutionGroup="tns:Identifiable"/>
     237        <complexType name="ClassificationSchemeType">
     238                <annotation>
     239                        <documentation xml:lang="en">
     240        ClassificationScheme is the mapping of the same named interface in ebRIM.
     241        It extends RegistryObject.
     242      </documentation>
     243                </annotation>
     244                <complexContent>
     245                        <extension base="tns:RegistryObjectType">
     246                                <sequence>
     247                                        <element ref="tns:ClassificationNode" minOccurs="0" maxOccurs="unbounded"/>
     248                                </sequence>
     249                                <attribute name="isInternal" type="boolean" use="required"/>
     250                                <attribute name="nodeType" type="tns:referenceURI" use="required"/>
     251                        </extension>
     252                </complexContent>
     253        </complexType>
     254        <element name="ClassificationScheme" type="tns:ClassificationSchemeType" substitutionGroup="tns:Identifiable"/>
     255        <complexType name="ExternalIdentifierType">
     256                <annotation>
     257                        <documentation xml:lang="en">
     258        ExternalIdentifier is the mapping of the same named interface in ebRIM.
     259        It extends RegistryObject.
     260      </documentation>
     261                </annotation>
     262                <complexContent>
     263                        <extension base="tns:RegistryObjectType">
     264                                <attribute name="registryObject" type="tns:referenceURI" use="required"/>
     265                                <attribute name="identificationScheme" type="tns:referenceURI" use="required"/>
     266                                <attribute name="value" type="tns:LongName" use="required"/>
     267                        </extension>
     268                </complexContent>
     269        </complexType>
     270        <element name="ExternalIdentifier" type="tns:ExternalIdentifierType" substitutionGroup="tns:Identifiable"/>
     271        <complexType name="ExternalLinkType">
     272                <annotation>
     273                        <documentation xml:lang="en">
     274        ExternalLink is the mapping of the same named interface in ebRIM.
     275        It extends RegistryObject.
     276      </documentation>
     277                </annotation>
     278                <complexContent>
     279                        <extension base="tns:RegistryObjectType">
     280                                <attribute name="externalURI" type="anyURI" use="required"/>
     281                        </extension>
     282                </complexContent>
     283        </complexType>
     284        <element name="ExternalLink" type="tns:ExternalLinkType" substitutionGroup="tns:Identifiable"/>
     285        <complexType name="ExtrinsicObjectType">
     286                <annotation>
     287                        <documentation xml:lang="en">
     288        ExtrinsicObject is the mapping of the same named interface in ebRIM.
     289        It extends RegistryObject.
     290      </documentation>
     291                </annotation>
     292                <complexContent>
     293                        <extension base="tns:RegistryObjectType">
     294                                <sequence>
     295                                        <element name="ContentVersionInfo" type="tns:VersionInfoType" minOccurs="0"/>
     296                                </sequence>
     297                                <attribute name="mimeType" type="tns:LongName" default="application/octet-stream"/>
     298                                <attribute name="isOpaque" type="boolean" default="false"/>
     299                        </extension>
     300                </complexContent>
     301        </complexType>
     302        <!-- Following element decl nneds to be lower case but using upper camel case for backward compatibility -->
     303        <element name="ExtrinsicObject" type="tns:ExtrinsicObjectType" substitutionGroup="tns:Identifiable"/>
     304        <element name="Address" type="tns:PostalAddressType"/>
     305        <complexType name="OrganizationType">
     306                <annotation>
     307                        <documentation xml:lang="en">Mapping of the same named interface in ebRIM.</documentation>
     308                </annotation>
     309                <complexContent>
     310                        <extension base="tns:RegistryObjectType">
     311                                <sequence>
     312                                        <element ref="tns:Address" minOccurs="0" maxOccurs="unbounded"/>
     313                                        <element ref="tns:TelephoneNumber" minOccurs="0" maxOccurs="unbounded"/>
     314                                        <element ref="tns:EmailAddress" minOccurs="0" maxOccurs="unbounded"/>
     315                                </sequence>
     316                                <attribute name="parent" type="tns:referenceURI"/>
     317                                <attribute name="primaryContact" type="tns:referenceURI" use="optional"/>
     318                        </extension>
     319                </complexContent>
     320        </complexType>
     321        <element name="Organization" type="tns:OrganizationType" substitutionGroup="tns:Identifiable"/>
     322        <complexType name="PersonNameType">
     323                <annotation>
     324                        <documentation xml:lang="en">Mapping of the same named interface in ebRIM.</documentation>
     325                </annotation>
     326                <attribute name="firstName" type="tns:ShortName" use="optional"/>
     327                <attribute name="middleName" type="tns:ShortName" use="optional"/>
     328                <attribute name="lastName" type="tns:ShortName" use="optional"/>
     329        </complexType>
     330        <element name="PersonName" type="tns:PersonNameType"/>
     331        <complexType name="EmailAddressType">
     332                <annotation>
     333                        <documentation xml:lang="en">Mapping of the same named interface in ebRIM.</documentation>
     334                </annotation>
     335                <attribute name="address" type="tns:ShortName" use="required"/>
     336                <attribute name="type" type="tns:String32" use="optional"/>
     337        </complexType>
     338        <element name="EmailAddress" type="tns:EmailAddressType"/>
     339        <complexType name="PostalAddressType">
     340                <annotation>
     341                        <documentation xml:lang="en">Mapping of the same named interface in ebRIM.</documentation>
     342                </annotation>
     343                <attribute name="city" type="tns:ShortName" use="optional"/>
     344                <attribute name="country" type="tns:ShortName" use="optional"/>
     345                <attribute name="postalCode" type="tns:ShortName" use="optional"/>
     346                <attribute name="stateOrProvince" type="tns:ShortName" use="optional"/>
     347                <attribute name="street" type="tns:ShortName" use="optional"/>
     348                <attribute name="streetNumber" type="tns:String32" use="optional"/>
     349        </complexType>
     350        <element name="PostalAddress" type="tns:PostalAddressType"/>
     351        <complexType name="VersionInfoType">
     352                <attribute name="versionName" type="tns:String16" use="optional" default="1.1"/>
     353                <attribute name="comment" type="string" use="optional"/>
     354        </complexType>
     355        <complexType name="RegistryPackageType">
     356                <annotation>
     357                        <documentation xml:lang="en">
     358        RegistryPackage is the mapping of the same named interface in ebRIM.
     359        It extends RegistryObject.
     360        A RegistryPackage is a named collection of objects.
     361      </documentation>
     362                </annotation>
     363                <complexContent>
     364                        <extension base="tns:RegistryObjectType">
     365                                <sequence>
     366                                        <element ref="tns:RegistryObjectList" minOccurs="0"/>
     367                                </sequence>
     368                        </extension>
     369                </complexContent>
     370        </complexType>
     371        <element name="RegistryPackage" type="tns:RegistryPackageType" substitutionGroup="tns:Identifiable"/>
     372        <complexType name="ServiceType">
     373                <complexContent>
     374                        <extension base="tns:RegistryObjectType">
     375                                <sequence>
     376                                        <element ref="tns:ServiceBinding" minOccurs="0" maxOccurs="unbounded"/>
     377                                </sequence>
     378                        </extension>
     379                </complexContent>
     380        </complexType>
     381        <element name="Service" type="tns:ServiceType" substitutionGroup="tns:Identifiable"/>
     382        <complexType name="ServiceBindingType">
     383                <complexContent>
     384                        <extension base="tns:RegistryObjectType">
     385                                <sequence>
     386                                        <element ref="tns:SpecificationLink" minOccurs="0" maxOccurs="unbounded"/>
     387                                </sequence>
     388                                <attribute name="service" type="tns:referenceURI" use="required"/>
     389                                <attribute name="accessURI" type="anyURI" use="optional"/>
     390                                <attribute name="targetBinding" type="tns:referenceURI" use="optional"/>
     391                        </extension>
     392                </complexContent>
     393        </complexType>
     394        <element name="ServiceBinding" type="tns:ServiceBindingType" substitutionGroup="tns:Identifiable"/>
     395        <complexType name="SpecificationLinkType">
     396                <complexContent>
     397                        <extension base="tns:RegistryObjectType">
     398                                <sequence>
     399                                        <element ref="tns:UsageDescription" minOccurs="0"/>
     400                                        <element ref="tns:UsageParameter" minOccurs="0" maxOccurs="unbounded"/>
     401                                </sequence>
     402                                <attribute name="serviceBinding" type="tns:referenceURI" use="required"/>
     403                                <attribute name="specificationObject" type="tns:referenceURI" use="required"/>
     404                        </extension>
     405                </complexContent>
     406        </complexType>
     407        <element name="SpecificationLink" type="tns:SpecificationLinkType" substitutionGroup="tns:Identifiable"/>
     408        <element name="UsageDescription" type="tns:InternationalStringType"/>
     409        <element name="UsageParameter" type="tns:FreeFormText"/>
     410        <complexType name="TelephoneNumberType">
     411                <annotation>
     412                        <documentation xml:lang="en">TelephoneNumber is the mapping of the same named interface in ebRIM.</documentation>
     413                </annotation>
     414                <attribute name="areaCode" type="tns:String8" use="optional"/>
     415                <attribute name="countryCode" type="tns:String8" use="optional"/>
     416                <attribute name="extension" type="tns:String8" use="optional"/>
     417                <attribute name="number" type="tns:String16" use="optional"/>
     418                <attribute name="phoneType" type="tns:String32" use="optional"/>
     419        </complexType>
     420        <element name="TelephoneNumber" type="tns:TelephoneNumberType"/>
     421        <complexType name="TelephoneNumberListType">
     422                <sequence>
     423                        <element ref="tns:TelephoneNumber" minOccurs="0" maxOccurs="unbounded"/>
     424                </sequence>
     425        </complexType>
     426        <complexType name="PersonType">
     427                <annotation>
     428                        <documentation xml:lang="en">Mapping of the same named interface in ebRIM.</documentation>
     429                </annotation>
     430                <complexContent>
     431                        <extension base="tns:RegistryObjectType">
     432                                <sequence>
     433                                        <element ref="tns:Address" minOccurs="0" maxOccurs="unbounded"/>
     434                                        <!--
     435          PersonName is optional because it is not needed in SAML Profile
     436          when an external IdentityProvider is used.
     437          -->
     438                                        <element ref="tns:PersonName" minOccurs="0"/>
     439                                        <element ref="tns:TelephoneNumber" minOccurs="0" maxOccurs="unbounded"/>
     440                                        <element ref="tns:EmailAddress" minOccurs="0" maxOccurs="unbounded"/>
     441                                </sequence>
     442                        </extension>
     443                </complexContent>
     444        </complexType>
     445        <element name="Person" type="tns:PersonType" substitutionGroup="tns:Identifiable"/>
     446        <complexType name="UserType">
     447                <annotation>
     448                        <documentation xml:lang="en">Mapping of the same named interface in ebRIM.</documentation>
     449                </annotation>
     450                <complexContent>
     451                        <extension base="tns:PersonType"/>
     452                </complexContent>
     453        </complexType>
     454        <element name="User" type="tns:UserType" substitutionGroup="tns:Identifiable"/>
     455        <complexType name="RegistryType">
     456                <annotation>
     457                        <documentation xml:lang="en">Mapping of the same named interface in ebRIM.</documentation>
     458                </annotation>
     459                <complexContent>
     460                        <extension base="tns:RegistryObjectType">
     461                                <attribute name="operator" type="tns:referenceURI" use="required"/>
     462                                <attribute name="specificationVersion" type="string" use="required"/>
     463                                <attribute name="replicationSyncLatency" type="duration" use="optional" default="P1D"/>
     464                                <attribute name="catalogingLatency" type="duration" use="optional" default="P1D"/>
     465                                <attribute name="conformanceProfile" use="optional" default="registryLite">
     466                                        <simpleType>
     467                                                <restriction base="NCName">
     468                                                        <enumeration value="registryFull"/>
     469                                                        <enumeration value="registryLite"/>
     470                                                </restriction>
     471                                        </simpleType>
     472                                </attribute>
     473                        </extension>
     474                </complexContent>
     475        </complexType>
     476        <element name="Registry" type="tns:RegistryType" substitutionGroup="tns:Identifiable"/>
     477        <complexType name="FederationType">
     478                <annotation>
     479                        <documentation xml:lang="en">Mapping of the same named interface in ebRIM.</documentation>
     480                </annotation>
     481                <complexContent>
     482                        <extension base="tns:RegistryObjectType">
     483                                <attribute name="replicationSyncLatency" type="duration" use="optional" default="P1D"/>
     484                        </extension>
     485                </complexContent>
     486        </complexType>
     487        <element name="Federation" type="tns:FederationType" substitutionGroup="tns:Identifiable"/>
     488        <complexType name="AdhocQueryType">
     489                <annotation>
     490                        <documentation xml:lang="en">
     491      A registry query.
     492      A QueryExpression child element is not required when invoking a stored query.
     493      </documentation>
     494                </annotation>
     495                <complexContent>
     496                        <extension base="tns:RegistryObjectType">
     497                                <sequence>
     498                                        <element ref="tns:QueryExpression" minOccurs="0"/>
     499                                </sequence>
     500                        </extension>
     501                </complexContent>
     502        </complexType>
     503        <element name="AdhocQuery" type="tns:AdhocQueryType" substitutionGroup="tns:RegistryObject"/>
     504        <complexType name="QueryExpressionType" mixed="true">
     505                <sequence>
     506                        <!--
     507      MAY be any query language syntax supported.
     508      MUST support FilterQuery. SHOULD support SQLQuery
     509      -->
     510                        <any namespace="##other" processContents="lax" minOccurs="0"/>
     511                </sequence>
     512                <attribute name="queryLanguage" type="tns:referenceURI" use="required"/>
     513        </complexType>
     514        <element name="QueryExpression" type="tns:QueryExpressionType"/>
     515        <complexType name="NotificationType">
     516                <annotation>
     517                        <documentation>Notification of registry events.</documentation>
     518                </annotation>
     519                <complexContent>
     520                        <extension base="tns:RegistryObjectType">
     521                                <sequence>
     522                                        <!--May contain ObjectRefs and RegistryObjects -->
     523                                        <element ref="tns:RegistryObjectList"/>
     524                                </sequence>
     525                                <attribute name="subscription" type="tns:referenceURI" use="required"/>
     526                        </extension>
     527                </complexContent>
     528        </complexType>
     529        <element name="Notification" type="tns:NotificationType"/>
     530        <element name="Action" type="tns:ActionType"/>
     531        <complexType name="SubscriptionType">
     532                <annotation>
     533                        <documentation xml:lang="en">A Subscription for specified Events in an ebXML V3+ registry.</documentation>
     534                </annotation>
     535                <complexContent>
     536                        <extension base="tns:RegistryObjectType">
     537                                <sequence>
     538                                        <element ref="tns:Action" minOccurs="0" maxOccurs="unbounded"/>
     539                                </sequence>
     540                                <attribute name="selector" type="tns:referenceURI" use="required"/>
     541                                <attribute name="startTime" type="dateTime" use="optional"/>
     542                                <attribute name="endTime" type="dateTime" use="optional"/>
     543                                <attribute name="notificationInterval" type="duration" use="optional" default="P1D"/>
     544                        </extension>
     545                        <!-- Ref to a AdhocQueryType instance -->
     546                </complexContent>
     547        </complexType>
     548        <element name="Subscription" type="tns:SubscriptionType" substitutionGroup="tns:Identifiable"/>
     549        <complexType name="ActionType" abstract="true">
     550                <annotation>
     551                        <documentation>Abstract Base type for all types of Actions.</documentation>
     552                </annotation>
     553        </complexType>
     554        <complexType name="NotifyActionType">
     555                <annotation>
     556                        <documentation xml:lang="en">Abstract Base type for all types of Notify Actions</documentation>
     557                </annotation>
     558                <complexContent>
     559                        <extension base="tns:ActionType">
     560                                <attribute name="notificationOption" type="tns:referenceURI" default="urn:oasis:names:tc:ebxml-regrep:NotificationOptionType:ObjectRefs"/>
     561                                <attribute name="endPoint" type="anyURI" use="required"/>
     562                        </extension>
     563                </complexContent>
     564        </complexType>
     565        <element name="NotifyAction" type="tns:NotifyActionType" substitutionGroup="tns:Action"/>
     566</schema>
     567
     568
     569
     570 }}}