OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [regrep] rim.xsd has duplicate definition of element RegistryObject


No objections from us...

Duane Nickull
-- 
Yellow Dragon Software Corp. - http://www.yellowdragonsoft.com
Service Oriented Architectures - ebXML, Web Services, Registry, SOAP
Project Team lead - United Nations CEFACT eBusiness Architecture
+1 (604) 738-1051
***********************************

Farrukh Najmi wrote:
> 
> As Mike Kass and were working through the XSLT style sheet we found one 
> more bug in rim.xsd.
> 
> 
> There are two definitions for RegistryObject element (a global and a 
> local one within RegistryObjectListType). The result is an ambiguity 
> which causes instance documents to fail validation. The fix is fairly 
> simple and shown below in universal diff format. Entire updated rim.xsd 
> is also attached.
> 
> @@ -661,7 +662,7 @@
> 
>      <complexType name = "RegistryObjectListType">
>      <sequence>
> -      <element name="RegistryObject" type="tns:RegistryObjectType" 
> minOccurs="0" maxOccurs="unbounded"/>
> +      <element ref="tns:RegistryObject" minOccurs="0" 
> maxOccurs="unbounded"/>
>        <element ref="tns:ObjectRef" minOccurs="0" maxOccurs="unbounded"/>
>      </sequence>
>      </complexType>
> 
> 
> Unless we fix this, we cannot have valid requests and responses from the 
> registry. Thus this falls in the must fix category.
> 
> 
> Any objections to making this fix before publishing the final 2.5 schema?
> 
> 
> ------------------------------------------------------------------------
> 
> <?xml version = "1.0" encoding = "UTF-8"?>
> 
> <!--$Revision: 1.25 $-->
> <schema xmlns = "http://www.w3.org/2001/XMLSchema"
>         xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
>         targetNamespace = "urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.5"
>         xmlns:tns = "urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.5"
> 	>
> 	<annotation>
> 		<documentation xml:lang = "en">The schema for OASIS ebXML Registry Information Model</documentation>
> 	</annotation>	
> 	
>         <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" />
> 
>   	<!--Begin information model mapping from ebRIM.-->
> 	
> 	<!--Define Data Types -->
> 	<simpleType name = "String4">
> 		<restriction base = "string">
> 			<maxLength value = "4" />
> 		</restriction>
> 	</simpleType>	
> 	
> 	<simpleType name = "String8">
> 		<restriction base = "string">
> 			<maxLength value = "8" />
> 		</restriction>
> 	</simpleType>	
> 
> 	<simpleType name = "String16">
> 		<restriction base = "string">
> 			<maxLength value = "16" />
> 		</restriction>
> 	</simpleType>	
> 
> 	<simpleType name = "String32">
> 		<restriction base = "string">
> 			<maxLength value = "32" />
> 		</restriction>
> 	</simpleType>	
> 
> 	<simpleType name = "ShortName">
> 		<restriction base = "string">
> 			<maxLength value = "64" />
> 		</restriction>
> 	</simpleType>	
> 
> 	<simpleType name = "LongName">
> 		<restriction base = "string">
> 			<maxLength value = "128" />
> 		</restriction>
> 	</simpleType>	
> 
> 	<simpleType name = "FreeFormText">
> 		<restriction base = "string">
> 			<maxLength value = "256" />
> 		</restriction>
> 	</simpleType>	
> 
>         <complexType name="SignatureListType">
>             <sequence>
>                 <element ref="dsig:Signature" minOccurs="1" maxOccurs="unbounded" />
>             </sequence>
>         </complexType>
>         <element name="SignatureList" type="tns:SignatureListType" />
>         
>         
> 	<complexType name = "AssociationType1">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Association is the mapping of the same named interface in ebRIM.
> It extends RegistryObject.
> 
> An Association specifies references to two previously submitted
> registry entrys.
> 
> The sourceObject is id of the sourceObject in association
> The targetObject is id of the targetObject in association
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<attribute name = "associationType" use = "required" type = "anyURI"/>
> 				<attribute name = "sourceObject" use = "required" type = "anyURI"/>
> 				<attribute name = "targetObject" use = "required" type = "anyURI"/>
> 				<attribute name = "isConfirmedBySourceOwner" use = "optional" type = "boolean"/>
> 				<attribute name = "isConfirmedByTargetOwner" use = "optional" type = "boolean"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "Association" type = "tns:AssociationType1"/>
> 
> 	<complexType name = "AuditableEventType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> An Event that forms an audit trail in ebXML Registry.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<sequence>
> 					<!--List of all objects that have been effected by this event-->
> 					<element name="affectedObject" type="tns:ObjectRefListType" minOccurs="1" maxOccurs="1"/>
> 				</sequence>
> 
> 				<!--Was an enumeration in V2. Now is extensible-->
> 				<attribute name = "eventType" use = "required" type = "tns:LongName"/>
> 
> 				<attribute name = "timestamp" use = "required" type = "dateTime"/>
> 				<attribute name = "user" use = "required" type = "anyURI"/>
> 
> 				<attribute name = "requestId" use = "required" type = "anyURI"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 
> 	<element name = "AuditableEvent" type = "tns:AuditableEventType"/>
> 
> 	<complexType name = "ClassificationType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Classification is the mapping of the same named interface in ebRIM.
> It extends RegistryObject.
> 
> A Classification specifies references to two registry entrys.
> 
> The classifiedObject is id of the Object being classified.
> The classificationNode is id of the ClassificationNode classying the object
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<attribute name = "classificationScheme" use = "optional" type = "anyURI"/>
> 				<attribute name = "classifiedObject" use = "required" type = "anyURI"/>
> 				<attribute name = "classificationNode" use = "optional" type = "anyURI"/>
> 				<attribute name = "nodeRepresentation" use = "optional" type = "tns:LongName"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "Classification" type = "tns:ClassificationType"/>
> 
> 	<complexType name = "ClassificationNodeType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> ClassificationNode is the mapping of the same named interface in ebRIM.
> It extends RegistryObject.
> 
> ClassificationNode is used to submit a Classification tree to the Registry.
> 
> The parent attribute is the id to the parent node. code is an optional code value for a ClassificationNode
> often defined by an external taxonomy (e.g. NAICS)
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 
> 				<sequence>
> 					<element ref="tns:ClassificationNode" minOccurs="0" maxOccurs="unbounded" />
> 				</sequence>
> 				<attribute name = "parent" use="optional" type = "anyURI"/>
>         <!--Why is this optional?? Needs to be discussed as an issue and fixed-->
> 				<attribute name = "code" use="optional" type = "tns:LongName"/>
> 				<attribute name = "path" use = "optional" type = "string"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "ClassificationNode" type = "tns:ClassificationNodeType"/>
> 
> 	<complexType name = "ClassificationSchemeType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> ClassificationScheme is the mapping of the same named interface in ebRIM.
> It extends RegistryEntry.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryEntryType">
> 				<sequence>
> 					<element ref = "tns:ClassificationNode" minOccurs = "0" maxOccurs = "unbounded"/>
> 				</sequence>
> 				<attribute name = "isInternal" use = "required" type = "boolean"/>
> 				<attribute name = "nodeType" use = "required">
> 					<simpleType>
> 						<restriction base = "NCName">
> 							<enumeration value = "UniqueCode"/>
> 							<enumeration value = "EmbeddedPath"/>
> 							<enumeration value = "NonUniqueCode"/>
> 						</restriction>
> 					</simpleType>
> 				</attribute>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "ClassificationScheme" type = "tns:ClassificationSchemeType"/>
> 
> 	<complexType name = "ExternalIdentifierType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> ExternalIdentifier is the mapping of the same named interface in ebRIM.
> It extends RegistryObject.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<attribute name = "registryObject" use = "optional" type = "anyURI"/>
> 				<attribute name = "identificationScheme" use = "required" type = "anyURI"/>
> 				<attribute name = "value" use = "required" type = "tns:LongName"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "ExternalIdentifier" type = "tns:ExternalIdentifierType"/>
> 
> 	<complexType name = "ExternalLinkType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> ExternalLink is the mapping of the same named interface in ebRIM.
> It extends RegistryObject.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<attribute name = "externalURI" use="required" type = "anyURI"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "ExternalLink" type = "tns:ExternalLinkType"/>
> 
> 	<complexType name = "ExtrinsicObjectType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> ExtrinsicObject are attributes from the ExtrinsicObject interface in ebRIM.
> It inherits RegistryEntryAttributes
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryEntryType">
> 				<attribute name = "mimeType" default="application/octet-stream" type = "tns:LongName"/>
> 				<attribute name = "isOpaque" default = "false" type = "boolean"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	
> 	<!--Following element decl nneds to be lower case but using upper camel case for backward compatibility-->
> 	
> 	<element name = "ExtrinsicObject" type = "tns:ExtrinsicObjectType"/>
> 	<element name = "Address" type = "tns:PostalAddressType"/>
> 
> 	<complexType name = "OrganizationType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Mapping of the same named interface in ebRIM.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<sequence minOccurs = "1" maxOccurs = "1">
> 					<element ref = "tns:Address" minOccurs = "1" maxOccurs = "1"/>
> 					<element ref = "tns:TelephoneNumber" minOccurs = "1" maxOccurs = "unbounded"/>
> 					<element ref = "tns:EmailAddress" minOccurs="0" maxOccurs="unbounded"/>
> 				</sequence>
> 				<attribute name = "parent" type = "anyURI"/>
> 				<attribute name = "primaryContact" use = "required" type = "anyURI"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "Organization" type = "tns:OrganizationType"/>
> 
> 	<complexType name = "SlotType1">
> 		<sequence>
> 			<element ref = "tns:ValueList" minOccurs = "1" maxOccurs="1"/>
> 		</sequence>
> 		<attribute name = "name" use = "required" type = "tns:LongName"/>
> 		<attribute name = "slotType" use = "optional" type = "tns:LongName"/>
> 	</complexType>
> 	<element name = "Slot" type = "tns:SlotType1"/>
> 
> 	<complexType name = "ValueListType">
> 		<sequence minOccurs = "0" maxOccurs = "unbounded">
> 			<element ref = "tns:Value" />
> 		</sequence>
> 	</complexType>
> 	<element name = "ValueList" type = "tns:ValueListType"/>
> 	<element name = "Value" type = "tns:LongName"/>
> 
> 	<complexType name = "SlotListType">
> 		<sequence>
> 			<element ref = "tns:Slot" minOccurs = "0" maxOccurs="unbounded"/>
> 		</sequence>
> 	</complexType>
> 	<element name = "SlotList" type = "tns:SlotListType"/>
> 
> 
> 	<complexType name = "PersonNameType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Mapping of the same named interface in ebRIM.
> 			</documentation>
> 		</annotation>
> 		<sequence minOccurs = "0" maxOccurs = "unbounded">
> 			<element ref = "tns:Slot"/>
> 		</sequence>
> 		<attribute name = "firstName" use = "optional"  type = "tns:ShortName"/>
> 		<attribute name = "middleName" use = "optional" type = "tns:ShortName"/>
> 		<attribute name = "lastName" use = "optional" type = "tns:ShortName"/>
> 	</complexType>
> 	<element name = "PersonName" type = "tns:PersonNameType"/>
> 
> 	<complexType name = "EmailAddressType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Mapping of the same named interface in ebRIM.
> 			</documentation>
> 		</annotation>
> 		<sequence minOccurs = "0" maxOccurs = "unbounded">
> 			<element ref = "tns:Slot"/>
> 		</sequence>
> 		<attribute name = "address" use = "required" type = "tns:ShortName"/>
> 		<attribute name = "type" use = "optional" type = "tns:String32"/>
> 	</complexType>
> 	<element name = "EmailAddress" type = "tns:EmailAddressType"/>
> 
> 
> 	<complexType name = "PostalAddressType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Mapping of the same named interface in ebRIM.
> 			</documentation>
> 		</annotation>
> 		<sequence minOccurs = "0" maxOccurs = "unbounded">
> 			<element ref = "tns:Slot"/>
> 		</sequence>
> 		<attribute name = "city" use = "optional" type = "tns:ShortName"/>
> 		<attribute name = "country" use = "optional" type = "tns:ShortName"/>
> 		<attribute name = "postalCode" use = "optional" type = "tns:ShortName"/>
> 		<attribute name = "stateOrProvince" use = "optional" type = "tns:ShortName"/>
> 		<attribute name = "street" use = "optional" type = "tns:ShortName"/>
> 		<attribute name = "streetNumber" use = "optional" type = "tns:String32"/>
> 	</complexType>
> 	<element name = "PostalAddress" type = "tns:PostalAddressType"/>
> 
> 	<complexType name = "RegistryEntryType">
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<attribute name = "expiration" use = "optional" type = "dateTime"/>
> 				<attribute name = "majorVersion" default = "1" type = "integer"/>
> 				<attribute name = "minorVersion" default = "0" type = "integer"/>
> 				<attribute name = "stability" use = "optional">
> 					<simpleType>
> 						<restriction base = "NCName">
> 							<enumeration value = "Dynamic"/>
> 							<enumeration value = "DynamicCompatible"/>
> 							<enumeration value = "Static"/>
> 						</restriction>
> 					</simpleType>
> 				</attribute>
> 
> 				<attribute name = "userVersion" use = "optional" type = "tns:ShortName"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "RegistryEntry" type = "tns:RegistryEntryType"/>
> 	
> 	<complexType name = "InternationalStringType">
> 		<sequence minOccurs = "0" maxOccurs = "unbounded">
> 			<element ref = "tns:LocalizedString" />
> 		</sequence>
> 	</complexType>
> 	<element name = "InternationalString" type = "tns:InternationalStringType"/>
> 
> 	<complexType name = "LocalizedStringType">
> 		<attribute name = "lang" default = "en-US" form = "qualified" type = "language"/>
> 		<attribute name = "charset" default = "UTF-8" />
> 		<attribute name = "value" use = "required" type = "tns:FreeFormText"/>
> 	</complexType>
> 	<element name = "LocalizedString" type = "tns:LocalizedStringType"/>
> 
> 	<complexType name = "RegistryObjectType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> id may be empty. If specified it may be in urn:uuid format or be in some
> arbitrary format. If id is empty registry must generate globally unique id.
> 
> If id is provided and in proper UUID syntax (starts with urn:uuid:) 
> registry will honour it.
> 
> If id is provided and is not in proper UUID syntax then it is used for
> linkage within document and is ignored by the registry. In this case the
> registry generates a UUID for id attribute.
> 
> id must not be null when object is being retrieved from the registry.
> 
> 			</documentation>
> 		</annotation>
> 		<sequence minOccurs = "0" maxOccurs = "1">
> 			<element ref = "tns:Name" minOccurs = "0" maxOccurs = "1"/>
> 			<element ref = "tns:Description" minOccurs = "0" maxOccurs = "1"/>
> 			<element ref = "tns:Slot" minOccurs = "0" maxOccurs = "unbounded"/>
> 			<element ref = "tns:Classification" minOccurs = "0" maxOccurs = "unbounded"/>
> 			<element ref = "tns:ExternalIdentifier" minOccurs = "0" maxOccurs = "unbounded"/>
> 		</sequence>
> 		<attribute name = "id" type = "anyURI"/>
> 
> 		<!--home attribute is required only for replicas of remote Objects-->
> 		<attribute name = "home" type = "anyURI" use="optional"/>
> 
> 		<attribute name = "objectType" use = "optional" type = "anyURI"/>
>     <attribute name = "status">
>       <simpleType>
>         <restriction base = "NCName">
>           <enumeration value = "Submitted"/>
>           <enumeration value = "Approved"/>
>           <enumeration value = "Deprecated"/>
>           <enumeration value = "Withdrawn"/>
>         </restriction>
>       </simpleType>
>     </attribute>
> 	</complexType>
> 	<element name = "RegistryObject" type = "tns:RegistryObjectType"/>
> 	<element name = "Name" type = "tns:InternationalStringType" />
> 	<element name = "Description" type = "tns:InternationalStringType" />
> 
> 	<complexType name = "RegistryPackageType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> RegistryPackage is the mapping of the same named interface in ebRIM.
> It extends RegistryEntry.
> 
> A RegistryPackage is a named collection of objects.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryEntryType">
> 				<sequence>
> 					<element ref = "tns:RegistryObjectList" minOccurs="0" maxOccurs="1"/>
> 				</sequence>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "RegistryPackage" type = "tns:RegistryPackageType"/>
> 
> 	<complexType name = "ServiceType">
> 		<complexContent>
> 			<extension base = "tns:RegistryEntryType">
> 				<sequence>
> 					<element ref = "tns:ServiceBinding" minOccurs = "0" maxOccurs = "unbounded"/>
> 				</sequence>				
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "Service" type = "tns:ServiceType"/>
> 
> 	<complexType name = "ServiceBindingType">
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<sequence>
> 					<element ref = "tns:SpecificationLink" minOccurs = "0" maxOccurs = "unbounded"/>
> 				</sequence>
> 				
> 				<attribute name = "service" use = "optional" type = "anyURI"/>
> 				<attribute name = "accessURI" use="optional" type = "anyURI"/>
> 				<attribute name = "targetBinding" use="optional" type = "anyURI"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "ServiceBinding" type = "tns:ServiceBindingType"/>
> 
> 	<complexType name = "SpecificationLinkType">
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<sequence minOccurs = "0" maxOccurs = "1">
> 					<element ref = "tns:UsageDescription" minOccurs = "0" maxOccurs="1" />
> 					<element ref = "tns:UsageParameter" minOccurs = "0" maxOccurs="unbounded" />
> 				</sequence>
> 				<attribute name = "serviceBinding" use = "optional" type = "anyURI"/>
> 				<attribute name = "specificationObject" use="required" type = "anyURI"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "SpecificationLink" type = "tns:SpecificationLinkType"/>
> 	<element name = "UsageDescription" type = "tns:InternationalStringType"  />
> 	<element name = "UsageParameter" type = "tns:FreeFormText" />
> 	
> 	<complexType name = "TelephoneNumberType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> TelephoneNumber is the mapping of the same named interface in ebRIM.
> 			</documentation>
> 		</annotation>
> 		<attribute name = "areaCode" use = "optional" type = "tns:String8"/>
> 		<attribute name = "countryCode" use = "optional" type = "tns:String8"/>
> 		<attribute name = "extension" use = "optional" type = "tns:String8"/>
> 		<attribute name = "number" use = "optional" type = "tns:String16"/>
> 		<attribute name = "phoneType" use = "optional" type = "tns:String32"/>
> 		<attribute name = "url" use = "optional" type = "anyURI"/>
> 	</complexType>
> 	<element name = "TelephoneNumber" type = "tns:TelephoneNumberType"/>
> 	<element name = "FaxNumber" type = "tns:TelephoneNumberType"/>
> 	<element name = "MobileTelephoneNumber" type = "tns:TelephoneNumberType"/>
> 	<element name = "PagerNumber" type = "tns:TelephoneNumberType"/>
> 
> 	<complexType name = "TelephoneNumberListType">
> 		<sequence>
> 			<element ref = "tns:TelephoneNumber" minOccurs = "0" maxOccurs = "unbounded"/>
> 		</sequence>
> 	</complexType>
> 
> 	<complexType name = "UserType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Mapping of the same named interface in ebRIM.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryObjectType">
> 				<sequence minOccurs="1" maxOccurs = "1">
> 					<element ref = "tns:Address" minOccurs="1" maxOccurs="unbounded"/>
> 					<element ref = "tns:PersonName" minOccurs="1" maxOccurs="1"/>
> 					<element ref = "tns:TelephoneNumber" minOccurs="1" maxOccurs="unbounded"/>
> 					<element ref = "tns:EmailAddress" minOccurs="1" maxOccurs="unbounded"/>
> 				</sequence>
> 				<attribute name = "url" use = "optional" type = "anyURI"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "User" type = "tns:UserType"/>
> 
> 	<complexType name = "RegistryType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Mapping of the same named interface in ebRIM.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryEntryType">
> 			    <attribute name = "operator" use = "required" type = "anyURI"/>
>                             <attribute name = "specificationVersion" use = "required" type = "string"/>
>                             <attribute name = "replicationSyncLatency"  default= "P1D" type = "duration"/>
>                             <attribute name = "catalogingLatency" default= "P1D" type = "duration"/>
> 
>                             <!--Optional features supported -->
>                             <attribute name = "sqlQuerySupported" default = "false" type = "boolean"/>
>                             <attribute name = "eventNotificationSupported" default = "false" type = "boolean"/>
>                             <attribute name = "objectReplicationSupported" default = "false" type = "boolean"/>
>                             <attribute name = "objectRelocationSupported" default = "false" type = "boolean"/>
>                                 
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "Registry" type = "tns:RegistryType"/>
>         
> 	<complexType name = "FederationType">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Mapping of the same named interface in ebRIM.
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:RegistryEntryType">
> 				<sequence>
> 					<element name = "Members" type = "tns:ObjectRefListType"/>
> 				</sequence>
> 
> 				<attribute name = "replicationSyncLatency" use = "required" type = "duration"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>
> 	<element name = "Federation" type = "tns:FederationType"/>
>   
>   
> 	<complexType name = "AdhocQueryType" abstract="true">
> 		<annotation>
> 			<documentation xml:lang = "en">
> The common base type for all types of Adh hoc queries.
> 			</documentation>
> 		</annotation>
>         
>     <complexContent>
>     <extension base = "tns:RegistryObjectType">
>     </extension>
>     </complexContent>
> 	</complexType>
>        
> 	<element name = "Subscription">
> 		<annotation>
> 			<documentation xml:lang = "en">
> A Subscription for specified Events in an ebXML V3+ registry.
> 			</documentation>
> 		</annotation>
> 		<complexType>
> 			<complexContent>
> 				<extension base = "tns:RegistryObjectType">
> 					<sequence>
> 						<element name = "Action" type="tns:ActionType" maxOccurs="unbounded"/>
> 					</sequence>
>           
>           <!--Ref to a AdhocQueryType instance -->
>           <attribute name = "selector" type = "anyURI" use="required"/>	
> 					<attribute name = "startDate" use = "optional" type = "dateTime"/>
> 					<attribute name = "endDate" use = "optional" type = "dateTime"/>
> 					<attribute name = "notificationInterval" use = "optional" type="duration" /> 
> 				</extension>
> 			</complexContent>
> 		</complexType>
> 	</element>
> 
> 	<complexType name = "ActionType" abstract="true">
> 		<annotation>
> 			<documentation>
> Abstract Base type for all types of Actions.
> 			</documentation>
> 		</annotation>
> 	</complexType>
> 
> 	<complexType name = "NotifyActionType" abstract="true">
> 		<annotation>
> 			<documentation xml:lang = "en">
> Abstract Base type for all types of Notify Actions
> 			</documentation>
> 		</annotation>
> 		<complexContent>
> 			<extension base = "tns:ActionType">
> 				<attribute name = "notificationOption" default="ObjectRefs">
> 					<simpleType>
> 						<restriction base = "NCName">
> 							<enumeration value = "ObjectRefs"/>
> 							<enumeration value = "Objects"/>
> 						</restriction>
> 					</simpleType>
> 				</attribute>
>         <attribute name = "endPoint" type = "anyURI" use="required"/>
> 			</extension>
> 		</complexContent>
> 	</complexType>  
>   
> 	<complexType name = "ObjectRefType">
> 		<annotation>
> 			<documentation xml:lang = "en"> 
> Use to reference an Object by its id.
> Specifies the id attribute of the object as its id attribute.
> id attribute in ObjectAttributes is exactly the same syntax and semantics as
> id attribute in RegistryObject.
> 			</documentation>
> 		</annotation>
> 		<attribute name = "id" type = "anyURI" use="required"/>
> 
> 		<!--home attribute is required only for remote ObjectRef-->
> 		<attribute name = "home" type = "anyURI" use="optional"/>
> 
> 		<!--When true and is a remote ObjectRef then the registry must create a replica for this ObjectRef -->
> 		<attribute name = "createReplica" type = "boolean" default="false"/>
> 	</complexType>
> 	<element name = "ObjectRef" type = "tns:ObjectRefType"/>
> 
> 
> 	<complexType name = "ObjectRefListType">
> 		<sequence minOccurs = "0" maxOccurs = "unbounded">
> 			<element ref = "tns:ObjectRef"/>
> 		</sequence>
> 	</complexType>
> 	<element name = "ObjectRefList" type="tns:ObjectRefListType"/>
> 
> 
> 	<complexType name = "RegistryObjectListType">  
>     <sequence>
>       <element ref="tns:RegistryObject" minOccurs="0" maxOccurs="unbounded"/>
>       <element ref="tns:ObjectRef" minOccurs="0" maxOccurs="unbounded"/>
>     </sequence>
> 	</complexType>
> 	<element name = "RegistryObjectList" type = "tns:RegistryObjectListType"/>  	
> 	
> </schema>
> 
> 
> ------------------------------------------------------------------------
> 
> You may leave a Technical Committee at any time by visiting http://www.oasis-open.org/apps/org/workgroup/regrep/members/leave_workgroup.php


-- 
Yellow Dragon Software - http://www.yellowdragonsoft.com
Service Oriented Architecture Components - ebXML, Web Services, SOAP
Project Team lead - United Nations CEFACT eBusiness Architecture
+1 (604) 726-3329
***********************************




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]