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] | [Elist Home]


Subject: [regrep] Latest XML Schema



Team,

Attached is the latest XML Schema for V2.0. It has been split into 3
files:

rim.xsd    #Algorithmic mapping of RIM classes into XML schema
filterQuery.xsd    #Latest filterQuery DTD mapped to XML Schema
rs.xsd      #Mapping of Registry requests/response and supporting
elements to XML Schema includes rim.xsd and filterQuery.xsd

The filterQuery.xsd reflects Len's latest DTD converted to schema. It
does not yet reflect any changes that Nikola may propose on filter
query.

It is worth noting the relative sizes of the 3 files:

rim.xsd    #13KB
rs.xsd      #10KB
filterQuery.xsd    #21KB

The above sizes reflect my feeling that filter query schema can be made
more compact using XML Schema features of inheritence etc. without any
loss of functionality to the end-user.

Will keep you posted as these files get updated.

--
Regards,
Farrukh

<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<schema xmlns = "http://www.w3.org/2001/XMLSchema"
	 targetNamespace = "urn:oasis:names:tc:ebxml-regrep:filterquery:xsd:2.0"
	 xmlns:tns = "urn:oasis:names:tc:ebxml-regrep:filterquery:xsd:2.0"
	 xmlns:rim = "urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.0" 	 
	>

	<!-- Import the rim.xsd file with XML schema mappaing from RIM -->
	<import namespace="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.0" schemaLocation="./rim.xsd"/>

	<element name = "FilterQuery">
		<complexType>
			<choice>
				<element ref = "RegistryEntryQuery"/>
				<element ref = "AuditableEventQuery"/>
				<element ref = "ClassificationNodeQuery"/>
				<element ref = "RegistryPackageQuery"/>
				<element ref = "OrganizationQuery"/>
			</choice>
		</complexType>
	</element>
	<element name = "FilterQueryResult">
		<complexType>
			<choice>
				<element ref = "RegistryEntryQueryResult"/>
				<element ref = "AuditableEventQueryResult"/>
				<element ref = "ClassificationNodeQueryResult"/>
				<element ref = "RegistryPackageQueryResult"/>
				<element ref = "OrganizationQueryResult"/>
			</choice>
		</complexType>
	</element>
	<element name = "RegistryEntryQueryResult">
		<complexType>
			<sequence>
				<element ref = "RegistryEntryView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryEntryView">
		<complexType>
			<attribute name = "id" use = "required" type = "string"/>
			<attribute name = "name" use = "required" type = "string"/>
			<attribute name = "contentURI" use = "optional" type = "string"/>
		</complexType>
	</element>
	<element name = "AuditableEventQueryResult">
		<complexType>
			<sequence>
				<element ref = "AuditableEventView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "AuditableEventView">
		<complexType>
			<attribute name = "id" use = "required" type = "string"/>
			<attribute name = "name" use = "required" type = "string"/>
			<attribute name = "timestamp" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "ClassificationNodeQueryResult">
		<complexType>
			<sequence>
				<element ref = "ClassificationNodeView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ClassificationNodeView">
		<complexType>
			<attribute name = "id" use = "required" type = "string"/>
			<attribute name = "name" use = "required" type = "string"/>
			<attribute name = "code" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "RegistryPackageQueryResult">
		<complexType>
			<sequence>
				<element ref = "RegistryPackageView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryPackageView">
		<complexType>
			<attribute name = "id" use = "required" type = "string"/>
			<attribute name = "name" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "OrganizationQueryResult">
		<complexType>
			<sequence>
				<element ref = "OrganizationView" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "OrganizationView">
		<complexType>
			<attribute name = "id" use = "required" type = "string"/>
			<attribute name = "name" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "RegistryEntryQuery">
		<complexType>
			<sequence>
				<element ref = "RegistryEntryFilter" minOccurs = "0"/>
				<element ref = "SourceAssociationBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "TargetAssociationBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "HasClassificationBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "SubmittingOrganizationBranch" minOccurs = "0"/>
				<element ref = "ResponsibleOrganizationBranch" minOccurs = "0"/>
				<element ref = "ExternalIdentifierBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "ExternalLinkBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "HasSlotBranch" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "HasAuditableEventBranch" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "SourceAssociationBranch">
		<complexType>
			<sequence>
				<element ref = "AssociationFilter" minOccurs = "0"/>
				<choice>
					<element ref = "RegistryEntryFilter" minOccurs = "0"/>
					<element ref = "RegistryEntryQuery" minOccurs = "0"/>
				</choice>
			</sequence>
		</complexType>
	</element>
	<element name = "TargetAssociationBranch">
		<complexType>
			<sequence>
				<element ref = "AssociationFilter" minOccurs = "0"/>
				<choice>
					<element ref = "RegistryEntryFilter" minOccurs = "0"/>
					<element ref = "RegistryEntryQuery" minOccurs = "0"/>
				</choice>
			</sequence>
		</complexType>
	</element>
	<element name = "HasClassificationBranch">
		<complexType>
			<sequence>
				<element ref = "ClassificationFilter" minOccurs = "0"/>
				<element ref = "FromSchemeBranch" minOccurs = "0"/>
				<element ref = "HasPathBranch" minOccurs = "0"/>
				<element ref = "LocalNodeBranch" minOccurs = "0"/>
				<element ref = "SubmittingOrganizationBranch" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "FromSchemeBranch">
		<complexType>
			<choice>
				<element ref = "ClassificationSchemeFilter"/>
				<element ref = "RegistryEntryQuery"/>
			</choice>
		</complexType>
	</element>
	<element name = "HasPathBranch">
		<complexType>
			<choice>
				<element ref = "PathFilter"/>
				<element ref = "XpathNodeExpression"/>
				<element ref = "PathElementFilter" maxOccurs = "unbounded"/>
			</choice>
		</complexType>
	</element>

	<element name = "XpathNodeExpression">
		<complexType>
			<attribute name = "pathFilter" use = "required" type = "string"/>
		</complexType>
	</element>

	<element name = "LocalNodeBranch">
		<complexType>
			<choice>
				<element ref = "ClassificationNodeFilter" minOccurs = "0"/>
				<element ref = "ClassificationNodeQuery" minOccurs = "0"/>
			</choice>
		</complexType>
	</element>
	<element name = "SubmittingOrganizationBranch">
		<complexType>
			<choice>
				<element ref = "OrganizationFilter"/>
				<element ref = "OrganizationQuery"/>
			</choice>
		</complexType>
	</element>
	<element name = "ResponsibleOrganizationBranch">
		<complexType>
			<choice>
				<element ref = "OrganizationFilter" minOccurs = "0"/>
				<element ref = "OrganizationQuery" minOccurs = "0"/>
			</choice>
		</complexType>
	</element>
	<element name = "ExternalIdentifierBranch">
		<complexType>
			<sequence>
				<element ref = "ExternalIdentifierFilter" minOccurs = "0"/>
				<element ref = "SubmittingOrganizationBranch" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ExternalLinkBranch">
		<complexType>
			<sequence>
				<element ref = "ExternalLinkFilter"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasSlotBranch">
		<complexType>
			<sequence>
				<element ref = "SlotFilter" minOccurs = "0"/>
				<element ref = "SlotElementFilter" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasAuditableEventBranch">
		<complexType>
			<choice>
				<element ref = "AuditableEventFilter" minOccurs = "0"/>
				<element ref = "AuditableEventQuery" minOccurs = "0"/>
			</choice>
		</complexType>
	</element>
	<element name = "AuditableEventQuery">
		<complexType>
			<sequence>
				<element ref = "AuditableEventFilter" minOccurs = "0"/>
				<element ref = "RegistryEntryQuery" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "InvokedByBranch" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "InvokedByBranch">
		<complexType>
			<sequence>
				<element ref = "UserFilter" minOccurs = "0"/>
				<element ref = "OrganizationQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ClassificationNodeQuery">
		<complexType>
			<sequence>
				<element ref = "ClassificationNodeFilter" minOccurs = "0"/>
				<element ref = "FromSchemeBranch" minOccurs = "0"/>
				<element ref = "HasPathBranch" minOccurs = "0"/>
				<element ref = "HasParentNodeBranch" minOccurs = "0"/>
				<element ref = "HasSubnodeBranch" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasParentNodeBranch">
		<complexType>
			<sequence>
				<element ref = "ClassificationNodeFilter" minOccurs = "0"/>
				<element ref = "HasPathBranch" minOccurs = "0"/>
				<element ref = "HasParentNodeBranch" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasSubnodeBranch">
		<complexType>
			<sequence>
				<element ref = "ClassificationNodeFilter" minOccurs = "0"/>
				<element ref = "HasPathBranch" minOccurs = "0"/>
				<element ref = "HasSubnodeBranch" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryPackageQuery">
		<complexType>
			<sequence>
				<element ref = "PackageFilter" minOccurs = "0"/>
				<element ref = "HasMemberBranch" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasMemberBranch">
		<complexType>
			<sequence>
				<element ref = "RegistryEntryQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "OrganizationQuery">
		<complexType>
			<sequence>
				<element ref = "OrganizationFilter" minOccurs = "0"/>
				<element ref = "SubmitsRegistryEntry" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "HasParentOrganization" minOccurs = "0"/>
				<element ref = "InvokesEventBranch" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "SubmitsRegistryEntry">
		<complexType>
			<sequence>
				<element ref = "RegistryEntryQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "HasParentOrganization">
		<complexType>
			<sequence>
				<element ref = "OrganizationFilter" minOccurs = "0"/>
				<element ref = "HasParentOrganization" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "InvokesEventBranch">
		<complexType>
			<sequence>
				<element ref = "UserFilter" minOccurs = "0"/>
				<element ref = "AuditableEventFilter" minOccurs = "0"/>
				<element ref = "RegistryEntryQuery" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ReturnRegistryEntry">
		<complexType>
			<sequence>
				<element ref = "RegistryEntryQuery"/>
				<element ref = "WithClassifications" minOccurs = "0"/>
				<element ref = "WithSourceAssociations" minOccurs = "0"/>
				<element ref = "WithTargetAssociations" minOccurs = "0"/>
				<element ref = "WithAuditableEvents" minOccurs = "0"/>
				<element ref = "WithExternalLinks" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithClassifications">
		<complexType>
			<sequence>
				<element ref = "ClassificationFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithSourceAssociations">
		<complexType>
			<sequence>
				<element ref = "AssociationFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithTargetAssociations">
		<complexType>
			<sequence>
				<element ref = "AssociationFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithAuditableEvents">
		<complexType>
			<sequence>
				<element ref = "AuditableEventFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "WithExternalLinks">
		<complexType>
			<sequence>
				<element ref = "ExternalLinkFilter" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ReturnRegistryEntryResult">
		<complexType>
			<sequence>
				<element ref = "RegistryEntryMetadata" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryEntryMetadata">
		<complexType>
			<sequence>
				<element ref = "rim:RegistryEntry"/>
				<element ref = "rim:Classification" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "SourceAssociations" minOccurs = "0"/>
				<element ref = "TargetAssociations" minOccurs = "0"/>
				<element ref = "rim:AuditableEvent" minOccurs = "0" maxOccurs = "unbounded"/>
				<element ref = "rim:ExternalLink" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "SourceAssociations">
		<complexType>
			<sequence>
				<element ref = "rim:Association" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "TargetAssociations">
		<complexType>
			<sequence>
				<element ref = "rim:Association" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ReturnRepositoryItem">
		<complexType>
			<sequence>
				<element ref = "RegistryEntryQuery"/>
				<element ref = "RecursiveAssociationOption" minOccurs = "0"/>
				<element ref = "WithDescription" minOccurs = "0"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RecursiveAssociationOption">
		<complexType>
			<sequence>
				<element ref = "AssociationType" maxOccurs = "unbounded"/>
			</sequence>
			<attribute name = "depthLimit" use = "optional" type = "string"/>
		</complexType>
	</element>
	<element name = "AssociationType">
		<complexType>
			<attribute name = "role" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "WithDescription">
		<complexType/>
	</element>
	<element name = "ReturnRepositoryItemResult">
		<complexType>
			<sequence>
				<element ref = "RepositoryItem" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RepositoryItem">
		<complexType>
			<choice>
				<element ref = "ClassificationSchemeRepresentation"/>
				<element ref = "RegistryPackageElements"/>
				<element ref = "ExtrinsicObjectFile"/>
				<element ref = "WithdrawnObject"/>
				<element ref = "ExternalRegistryItem"/>
			</choice>
			<attribute name = "id" use = "required" type = "string"/>
			<attribute name = "name" use = "required" type = "string"/>
			<attribute name = "objectType" use = "required" type = "string"/>
			<attribute name = "status" use = "required" type = "string"/>
			<attribute name = "stability" use = "required" type = "string"/>
			<attribute name = "contentURI" use = "optional" type = "string"/>
			<attribute name = "description" use = "optional" type = "string"/>
		</complexType>
	</element>
	<element name = "ClassificationSchemeRepresentation">
		<complexType>
			<sequence>
				<element ref = "rim:ClassificationNode" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryPackageElements">
		<complexType>
			<sequence>
				<element ref = "rim:RegistryObject" minOccurs = "0" maxOccurs = "unbounded"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ExtrinsicObjectFile">
		<complexType>
			<attribute name = "contentURI" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "WithdrawnObject">
		<complexType/>
	</element>
	<element name = "ExternalRegistryItem">
		<complexType/>
	</element>
	<element name = "RegistryObjectFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryEntryFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ExtrinsicObjectFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "PackageFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "OrganizationFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ClassificationNodeFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "AssociationFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ClassificationFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ClassificationSchemeFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ExternalLinkFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ExternalIdentifierFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "SlotFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "AuditableEventFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "UserFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "PathFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "PathElementFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	<element name = "SlotElementFilter">
		<complexType>
			<sequence>
				<element ref = "Clause"/>
			</sequence>
		</complexType>
	</element>
	
	<element name = "Clause">
		<annotation>
			<documentation xml:lang = "en">
The following lines define the XML syntax for Clause.

			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "tns:SimpleClause"/>
				<element ref = "tns:CompoundClause"/>
			</choice>
		</complexType>
	</element>
	<element name = "SimpleClause">
		<complexType>
			<choice>
				<element ref = "tns:BooleanClause"/>
				<element ref = "tns:RationalClause"/>
				<element ref = "tns:StringClause"/>
			</choice>
			<attribute name = "leftArgument" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "CompoundClause">
		<complexType>
			<sequence>
				<element ref = "tns:Clause"/>
				<element ref = "tns:Clause" maxOccurs = "unbounded"/>
			</sequence>
			<attribute name = "connectivePredicate" use = "required">
				<simpleType>
					<restriction base = "NMTOKEN">
						<enumeration value = "And"/>
						<enumeration value = "Or"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<element name = "BooleanClause">
		<complexType>
			<attribute name = "booleanPredicate" use = "required" type = "boolean"/>
		</complexType>
	</element>
	<element name = "RationalClause">
		<complexType>
			<choice>
				<element ref = "tns:IntClause"/>
				<element ref = "tns:FloatClause"/>
			</choice>
			<attribute name = "logicalPredicate" use = "required">
				<simpleType>
					<restriction base = "NMTOKEN">
						<enumeration value = "LE"/>
						<enumeration value = "LT"/>
						<enumeration value = "GE"/>
						<enumeration value = "GT"/>
						<enumeration value = "EQ"/>
						<enumeration value = "NE"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<element name = "IntClause" type = "integer"/>
	<element name = "FloatClause" type = "float"/>
	<element name = "StringClause">
		<complexType>
			<simpleContent>
				<extension base = "string">
					<attribute name = "stringPredicate" use = "required">
						<simpleType>
							<restriction base = "NMTOKEN">
								<enumeration value = "contains"/>
								<enumeration value = "-contains"/>
								<enumeration value = "startswith"/>
								<enumeration value = "-startswith"/>
								<enumeration value = "equal"/>
								<enumeration value = "-equal"/>
								<enumeration value = "endswith"/>
								<enumeration value = "-endswith"/>
							</restriction>
						</simpleType>
					</attribute>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	
</schema>
<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<!--$Header: /jse/ebxmlrr-spec/misc/schema/rs.xsd,v 1.2 2001/11/05 18:09:31 najmi Exp $-->

<schema xmlns = "http://www.w3.org/2001/XMLSchema"
	 targetNamespace = "urn:oasis:names:tc:ebxml-regrep:registry:xsd:2.0"
	 xmlns:tns = "urn:oasis:names:tc:ebxml-regrep:registry:xsd:2.0"
	 xmlns:rim = "urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.0" 	 
	 xmlns:fq = "urn:oasis:names:tc:ebxml-regrep:filterquery:xsd:2.0" 	 
	>
	<annotation>
		<documentation xml:lang = "en">The schema for OASIS ebXML Registry Services</documentation>
	</annotation>

	<!-- Import the rim.xsd file with XML schema mappaing from RIM -->
	<import namespace="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.0" schemaLocation="./rim.xsd"/>

	<!-- Import the filterQuery.xsd file with XML schema for filter query -->
	<import namespace="urn:oasis:names:tc:ebxml-regrep:filterquery:xsd:2.0" schemaLocation="./filterQuery.xsd"/>

	<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 = "ID"/>
	</complexType>

	<element name = "ObjectRef" type = "tns:ObjectRefType"/>
	<element name = "ObjectRefList">
		<annotation>
			<documentation xml:lang = "en">A list of ObjectRefs</documentation>
		</annotation>
		<complexType>
			<sequence minOccurs = "0" maxOccurs = "unbounded">
				<element ref = "tns:ObjectRef"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RegistryObjectList">
		<annotation>
			<documentation xml:lang = "en"> Leaf classes that reflect the concrete classes in ebRIM </documentation>
		</annotation>
		<!--Can we list base class RegistryEntry instead of all sub-types of it??-->
		<complexType>
			<choice minOccurs = "0" maxOccurs = "unbounded">
				<element ref = "rim:Association"/>
				<element ref = "rim:Classification"/>
				<element ref = "rim:ClassificationScheme"/>
				<element ref = "rim:ClassificationNode"/>
				<element ref = "rim:RegistryPackage"/>
				<element ref = "rim:ExternalLink"/>
				<element ref = "rim:ExternalIdentifier"/>
				<element ref = "rim:Organization"/>
				<element ref = "rim:ExtrinsicObject"/>
				<element ref = "tns:ObjectRef"/>
			</choice>
		</complexType>
	</element>
	
	<element name = "RequestAcceptedResponse">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRS.
			</documentation>
		</annotation>
		<complexType/>
	</element>
	<element name = "SubmitObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
The SubmitObjectsRequest allows one to submit a list of RegistryEntry elements. Each RegistryEntry element provides metadata for a single submitted object.  Note that the repository item being submitted is in a separate document that is not in this DTD. The ebXML Messaging Services Specfication defines packaging, for submission, of the metadata of a repository item with the repository item itself. The value of the contentURI attribute of the ExtrinsicObject element must be the same as the xlink:href attribute within the Reference element within the Manifest element of the MessageHeader.
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:RegistryObjectList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "AddSlotsRequest">
		<complexType>
			<sequence maxOccurs = "unbounded">
				<element ref = "tns:ObjectRef"/>
				<element ref = "rim:SlotList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RemoveSlotsRequest">
		<annotation>
			<documentation xml:lang = "en"> Only need name in Slot within SlotList </documentation>
		</annotation>
		<complexType>
			<sequence maxOccurs = "unbounded">
				<element ref = "tns:ObjectRef"/>
				<element ref = "rim:SlotList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "ApproveObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
The ObjectRefList is the list of
refs to the registry entrys being approved.
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ObjectRefList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "DeprecateObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
The ObjectRefList is the list of
refs to the registry entrys being deprecated.

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ObjectRefList"/>
			</sequence>
		</complexType>
	</element>
	<element name = "RemoveObjectsRequest">
		<annotation>
			<documentation xml:lang = "en">
The ObjectRefList is the list of
refs to the registry entrys being removed

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:ObjectRefList"/>
			</sequence>
			<attribute name = "deletionScope" use = "optional">
				<simpleType>
					<restriction base = "NMTOKEN">
						<enumeration value = "DeleteAll"/>
						<enumeration value = "DeleteRepositoryItemOnly"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>

	<element name = "AdhocQueryRequest">
		<annotation>
			<documentation xml:lang = "en">
An Ad hoc query request specifies a query string as defined by [RS] in the queryString attribute

			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "fq:FilterQuery"/>
				<element ref = "fq:ReturnRegistryEntry"/>
				<element ref = "fq:ReturnRepositoryItem"/>
				<element ref = "tns:SQLQuery"/>
			</choice>
		</complexType>
	</element>
	<element name = "SQLQuery" type = "string"/>
	<element name = "AdhocQueryResponse">
		<annotation>
			<documentation xml:lang = "en">
The response includes a RegistryObjectList which has zero or more
RegistryObjects that match the query specified in AdhocQueryRequest.

			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "tns:RegistryObjectList"/>
				<element ref = "fq:FilterQueryResult"/>
				<element ref = "fq:ReturnRegistryEntryResult"/>
				<element ref = "fq:ReturnRepositoryItemResult"/>
			</choice>
		</complexType>
	</element>

	<element name = "RegistryProfile">
		<annotation>
			<documentation xml:lang = "en">
Describes the capability profile for the registry and what optional features
are supported

			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:OptionalFeaturesSupported"/>
			</sequence>
			<attribute name = "version" use = "required" type = "string"/>
		</complexType>
	</element>
	<element name = "OptionalFeaturesSupported">
		<complexType>
			<attribute name = "sqlQuery" default = "false" type = "boolean"/>
			<attribute name = "xQuery" default = "false" type = "boolean"/>
		</complexType>
	</element>

	<!-- Import the filterQuery.xsd file with XML schema for filter query -->

	<simpleType name = "ErrorType">
		<restriction base = "NMTOKEN">
			<enumeration value = "Warning"/>
			<enumeration value = "Error"/>
		</restriction>
	</simpleType>
	<element name = "RegistryErrorList">
		<annotation>
			<documentation xml:lang = "en"> End FilterQuery DTD </documentation>
			<documentation xml:lang = "en"> Begin RegistryError definition </documentation>
			<documentation xml:lang = "en"> The RegistryErrorList is derived from the ErrorList element from the ebXML Message Service Specification </documentation>
		</annotation>
		<complexType>
			<sequence>
				<element ref = "tns:RegistryError" maxOccurs = "unbounded"/>
			</sequence>
			<attribute name = "highestSeverity" use = "optional" type = "tns:ErrorType"/>
		</complexType>
	</element>
	<element name = "RegistryError">
		<complexType>
			<simpleContent>
				<extension base = "string">
					<attribute name = "codeContext" use = "required" type = "string"/>
					<attribute name = "errorCode" use = "required" type = "string"/>
					<attribute name = "severity" use = "optional" type = "tns:ErrorType"/>
					<attribute name = "location" type = "string"/>
				</extension>
			</simpleContent>
		</complexType>
	</element>
	<element name = "RegistryResponse">
		<complexType>
			<sequence>
				<choice minOccurs = "0">
					<element ref = "tns:AdhocQueryResponse"/>
				</choice>
				<element ref = "tns:RegistryErrorList" minOccurs = "0"/>
			</sequence>
			<attribute name = "status" use = "required">
				<simpleType>
					<restriction base = "NMTOKEN">
						<enumeration value = "success"/>
						<enumeration value = "failure"/>
					</restriction>
				</simpleType>
			</attribute>
		</complexType>
	</element>
	<element name = "RootElement">
		<annotation>
			<documentation xml:lang = "en"> The contrived root node </documentation>
		</annotation>
		<complexType>
			<choice>
				<element ref = "tns:SubmitObjectsRequest"/>
				<element ref = "tns:ApproveObjectsRequest"/>
				<element ref = "tns:DeprecateObjectsRequest"/>
				<element ref = "tns:RemoveObjectsRequest"/>
				<element ref = "tns:AdhocQueryRequest"/>
				<element ref = "tns:AddSlotsRequest"/>
				<element ref = "tns:RemoveSlotsRequest"/>
				<element ref = "tns:RegistryResponse"/>
				<element ref = "tns:RegistryProfile"/>
			</choice>
		</complexType>
	</element>
	<element name = "Href" type = "string"/>
	<element name = "XMLDocumentErrorLocn">
		<complexType>
			<sequence>
				<element ref = "tns:DocumentId"/>
				<element ref = "tns:Xpath"/>
			</sequence>
		</complexType>
	</element>
	<element name = "DocumentId" type = "string"/>
	<element name = "Xpath" type = "string"/>
	<element name = "PackageType">
		<complexType/>
	</element>
</schema>
<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<!--$Header: /jse/ebxmlrr-spec/misc/schema/rim.xsd,v 1.2 2001/11/05 18:09:31 najmi Exp $-->

<schema xmlns = "http://www.w3.org/2001/XMLSchema"
	 targetNamespace = "urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.0"
	 xmlns:tns = "urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.0"
	>
	<annotation>
		<documentation xml:lang = "en">The schema for OASIS ebXML Registry Information Model</documentation>
	</annotation>
	<!--Begin information model mapping from ebRIM.-->
	
	<element name = "Value" type = "string"/>
	<complexType name = "ValueListType">
		<sequence>
			<element ref = "tns:Value" minOccurs = "0" maxOccurs = "unbounded"/>
		</sequence>
	</complexType>
	<element name = "Slot">
		<complexType>
			<sequence maxOccurs = "unbounded">
				<element name = "values" type = "tns:ValueListType"/>
			</sequence>
			<attribute name = "name" use = "required" type = "string"/>
			<attribute name = "slotType" use = "optional" type = "string"/>
		</complexType>
	</element>
	<complexType name = "SlotListType">
		<sequence minOccurs = "0" maxOccurs = "unbounded">
			<element ref = "tns:Slot"/>
		</sequence>
	</complexType>
	<element name = "SlotList" type = "tns:SlotListType"/>

	<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 = "unbounded">
			<element name = "slots" type = "tns:SlotListType"/>
		</sequence>
		<attribute name = "accessControlPolicy" use = "optional" type = "IDREF"/>
		<attribute name = "description" use = "optional" type = "string"/>
		<attribute name = "id" type = "ID"/>
		<attribute name = "name" use = "optional" type = "string"/>
		<attribute name = "objectType" use = "required" type = "string"/>
	</complexType>
	<element name = "RegistryObject" type = "tns:RegistryObjectType"/>

	<complexType name = "RegistryEntryType">
		<complexContent>
			<extension base = "tns:RegistryObjectType">
				<attribute name = "expiration" use = "optional" type = "date"/>
				<attribute name = "majorVersion" default = "1" type = "integer"/>
				<attribute name = "minorVersion" default = "0" type = "integer"/>
				<attribute name = "stability" use = "optional" type = "string"/>
				<attribute name = "status" type = "string"/>
				<attribute name = "userVersion" use = "optional" type = "string"/>
			</extension>
		</complexContent>
	</complexType>
	
	<!--Following element decl nneds to be lower case but using upper camel case for backward compatibility-->
	
	<element name = "RegistryEntry" type = "tns:RegistryEntryType"/>
	<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:RegistryEntry">
				<!-- Need clarity on use of contentURI in both directions -->
				<attribute name = "contentURI" use = "required" type = "anyURI"/>
				<attribute name = "mimeType" type = "string"/>
				<attribute name = "opaque" use = "optional" 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"/>

	<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" type = "anyURI"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "ExternalLink" type = "tns:ExternalLinkType"/>

	<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 = "value" use = "required" type = "string"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "ExternalIdentifier" type = "tns:ExternalIdentifierType"/>

	<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 = "string"/>
				<attribute name = "sourceObject" use = "required" type = "IDREF"/>
				<attribute name = "targetObject" use = "required" type = "IDREF"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "Association" type = "tns:AssociationType1"/>

	<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 = "classifiedObject" use = "required" type = "IDREF"/>
				<attribute name = "classificationNode" use = "required" type = "IDREF"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "Classification" type = "tns:ClassificationType"/>

	<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"/>
		</complexContent>
	</complexType>
	<element name = "ClassificationScheme" type = "tns:ClassificationSchemeType"/>

	<complexType name = "RegistryPackageType">
		<annotation>
			<documentation xml:lang = "en">
RegistryPackage is the mapping of the same named interface in ebRIM.
It extends RegistryObject.

A RegistryPackage is a named collection of objects.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:RegistryEntryType"/>
		</complexContent>
	</complexType>
	<element name = "RegistryPackage" type = "tns:RegistryPackageType"/>
	
	<!--??Need to fix TelephoneNumbers at the cost of backward compatibility-->
	
	<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 = "required" type = "string"/>
		<attribute name = "contryCode" use = "required" type = "string"/>
		<attribute name = "extension" type = "string"/>
		<attribute name = "number" use = "required" type = "string"/>
		<attribute name = "url" 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 = "PostalAddressType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<sequence minOccurs = "0" maxOccurs = "unbounded">
			<element name = "slots" type = "tns:SlotListType"/>
		</sequence>
		<attribute name = "city" use = "optional" type = "string"/>
		<attribute name = "country" use = "optional" type = "string"/>
		<attribute name = "postalCode" use = "optional" type = "string"/>
		<attribute name = "state" use = "optional" type = "string"/>
		<attribute name = "street" use = "optional" type = "string"/>
		<attribute name = "streetNumber" use = "optional" type = "string"/>
	</complexType>
	<element name = "PostalAddress" type = "tns:PostalAddressType"/>

	<complexType name = "PersonNameType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<sequence minOccurs = "0" maxOccurs = "unbounded">
			<element name = "slots" type = "tns:SlotListType"/>
		</sequence>
		<attribute name = "firstName" use = "required" type = "string"/>
		<attribute name = "middleName" type = "string"/>
		<attribute name = "lastName" use = "required" type = "string"/>
	</complexType>
	<element name = "PersonName" type = "tns:PersonNameType"/>

	<complexType name = "OrganizationType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:RegistryEntryType">
				<sequence minOccurs = "1" maxOccurs = "1">
					<element name = "address" type = "tns:PostalAddressType"/>
				</sequence>
				<attribute name = "parent" type = "IDREF"/>
				<attribute name = "primaryContact" use = "required" type = "IDREF"/>
				<sequence minOccurs = "1" maxOccurs = "unbounded">
					<element name = "telephoneNumber" type = "tns:TelephoneNumberType"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name = "Organization" type = "tns:OrganizationType"/>
	<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 name = "address" type = "tns:PostalAddressType"/>
				</sequence>
				<attribute name = "organization" type = "IDREF"/>
				<sequence minOccurs = "0" maxOccurs = "unbounded">
					<element name = "personName" type = "tns:PersonNameType"/>
				</sequence>
				<attribute name = "email" type = "string"/>
				<sequence minOccurs = "1" maxOccurs = "unbounded">
					<element name = "telephoneNumber" type = "tns:TelephoneNumberType"/>
				</sequence>
				<attribute name = "url" type = "anyURI"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "User" type = "tns:UserType"/>
	<complexType name = "AuditableEventType">
		<annotation>
			<documentation xml:lang = "en">
Mapping of the same named interface in ebRIM.
			</documentation>
		</annotation>
		<complexContent>
			<extension base = "tns:RegistryObjectType">
				<attribute name = "eventType" use = "required" type = "string"/>
				<attribute name = "registryObject" use = "required" type = "IDREF"/>
				<attribute name = "timestamp" use = "required" type = "string"/>
				<attribute name = "user" use = "required" type = "IDREF"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "AuditableEvent" type = "tns:AuditableEventType"/>
	<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">
				<attribute name = "parent" type = "IDREF"/>
				<attribute name = "code" type = "string"/>
			</extension>
		</complexContent>
	</complexType>
	<element name = "ClassificationNode" type = "tns:ClassificationNodeType"/>
	
</schema>
begin:vcard 
n:Najmi;Farrukh
tel;work:781-442-0703
x-mozilla-html:FALSE
url:www.sun.com
org:Sun Microsystems;Java Software
adr:;;1 Network Dr. MS BUR02-302;Burlington;MA;01803-0902;USA
version:2.1
email;internet:najmi@east.sun.com
fn:Farrukh Najmi
end:vcard


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


Powered by eList eXpress LLC