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

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

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


Subject: Proposed v7 XSD for XRI Resolution 2.0 WD 10


The proposed XRD schema has been uploaded to:

http://www.oasis-open.org/committees/download.php/17287/draft-XRD-cd02-v7.xs
d

A plain text copy follows below if you want to inspect it directly. The only
change between this and the schema in Editor's Draft 09 was to put the
priority attribute into an attribute group so it could be referenced
uniformly by all the elements that use it (even though it's the only
attribute in this group).

If anyone has any issues, please post ASAP. Otherwise this will be the XRD
schema in Working Draft 10 which will be published shortly.

=Drummond 


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="xri://$xrd*($v*2.0)"
elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:ds="http://www.w3.org/2000/09/xmldsig#";
xmlns:xrd="xri://$xrd*($v*2.0)">
	<!-- Utility patterns -->
	<xs:attributeGroup name="otherattribute">
		<xs:anyAttribute namespace="##other" processContents="lax"/>
	</xs:attributeGroup>
	<xs:group name="otherelement">
		<xs:choice>
			<xs:any namespace="##other" processContents="lax"/>
			<xs:any namespace="##local" processContents="lax"/>
		</xs:choice>
	</xs:group>
	<xs:complexType name="URIpattern">
		<xs:simpleContent>
			<xs:extension base="xs:anyURI">
				<xs:attributeGroup
ref="xrd:otherattribute"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="Stringpattern">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup
ref="xrd:otherattribute"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Patterns for elements -->
	<xs:element name="XRD">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="xrd:Query" minOccurs="0"/>
				<xs:element ref="xrd:Status" minOccurs="0"/>
				<xs:element ref="xrd:Expires"
minOccurs="0"/>
				<xs:element ref="xrd:ProviderID"
minOccurs="0"/>
				<xs:element ref="xrd:LocalID" minOccurs="0"
maxOccurs="unbounded"/>
				<xs:element ref="xrd:CanonicalID"
minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="xrd:Ref" minOccurs="0"
maxOccurs="unbounded"/>
				<xs:element ref="xrd:Service" minOccurs="0"
maxOccurs="unbounded"/>
				<xs:group ref="xrd:otherelement"
minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="idref" type="xs:IDREF"
use="optional"/>
			<xs:attribute name="version" type="xs:string"
use="optional" fixed="2.0"/>
			<xs:attributeGroup ref="xrd:otherattribute"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="Query" type="xrd:Stringpattern"/>
	<xs:element name="Status">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xrd:Stringpattern">
					<xs:attribute name="code"
type="xs:int" use="required"/>
					<xs:attributeGroup
ref="xrd:otherattribute"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Expires">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xs:dateTime">
					<xs:attributeGroup
ref="xrd:otherattribute"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="ProviderID" type="xrd:URIpattern"/>
	<xs:element name="LocalID">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xrd:URIpattern">
					<xs:attributeGroup
ref="xrd:priorityAttrGrp"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="CanonicalID">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xrd:URIpattern">
					<xs:attributeGroup
ref="xrd:priorityAttrGrp"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Ref">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xrd:URIpattern">
					<xs:attributeGroup
ref="xrd:priorityAttrGrp"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Service">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="xrd:ProviderID"
minOccurs="0"/>
				<xs:element ref="xrd:Type" minOccurs="0"
maxOccurs="unbounded"/>
				<xs:element ref="xrd:Path" minOccurs="0"
maxOccurs="unbounded"/>
				<xs:element ref="xrd:MediaType"
minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="xrd:URI" minOccurs="0"
maxOccurs="unbounded"/>
				<xs:group ref="xrd:otherelement"
minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attributeGroup ref="xrd:priorityAttrGrp"/>
			<xs:attributeGroup ref="xrd:otherattribute"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="Type">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xrd:URIpattern">
					<xs:attributeGroup
ref="xrd:selectionAttrGrp"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="MediaType">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xrd:Stringpattern">
					<xs:attributeGroup
ref="xrd:selectionAttrGrp"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="Path">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xrd:Stringpattern">
					<xs:attributeGroup
ref="xrd:selectionAttrGrp"/>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="URI">
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="xrd:URIpattern">
					<xs:attributeGroup
ref="xrd:priorityAttrGrp"/>
					<xs:attribute name="append">
						<xs:simpleType>
							<xs:restriction
base="xs:string">
	
<xs:enumeration value="none"/>
	
<xs:enumeration value="local"/>
	
<xs:enumeration value="authority"/>
	
<xs:enumeration value="path"/>
	
<xs:enumeration value="query"/>
	
<xs:enumeration value="qxri"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:attributeGroup name="priorityAttrGrp">
		<xs:attribute name="priority" type="xs:nonNegativeInteger"
use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="selectionAttrGrp">
		<xs:attribute name="match" use="optional" default="default">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="default"/>
					<xs:enumeration value="content"/>
					<xs:enumeration value="any"/>
					<xs:enumeration value="non-null"/>
					<xs:enumeration value="null"/>
					<xs:enumeration value="none"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="select" type="xs:boolean" use="optional"
default="false"/>
	</xs:attributeGroup>
</xs:schema>




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