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

 


Help: OASIS Mailing Lists Help | MarkMail Help

xdi message

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


Subject: Sample XDI doc file for today's F2F


Note: this is still preliminary based on the emerging "normalized" schema.

=Drummond 
<?xml version="1.0" encoding="UTF-8"?>
<!--This is v1 of an example XDI document based on the XDI normalized schema proposal.-->
<!--It is not a typical XDI document in that it is a compilation of many XDI documents that could be produced from the branch of the XDI graph maintained by one XDI Service Provider (XSP).-->
<!--NOTE: v1 of this document contains only one "back-reference" - finishing the rest of the back-references is still TO DO.-->
<!--The root of this document represents the root of this XDI tree maintained by the XSP that registered the independent i-number "!!1002" with the "!" registry.-->
<physical xmlns:ph="http://xdi.dict.org/(+phone)" xmlns:xrid="xri:$r.s/XRIDescriptor" xmlns="http://xdi.oasis-open.org"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://xdi.oasis-open.org
D:\2-XDI-TC\Normalized-Schema\draft-xdi-normalized-schema-v1.xsd">
	<xri>!!1002</xri>
	<!--The first logical resource is !!1002's own XRI Descriptor (per the XRI 1.0 spec).-->
	<logical>
		<xri>!!1002</xri>
		<type>
			<xri>$xrid</xri>
			<instance>
				<xri>$default</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T09:13:56Z)</xri>
					<data>
						<xrid:XRIDescriptor>
							<xrid:Resolved>!!1002</xrid:Resolved>
							<xrid:XRIAuthority>
								<xrid:URI>http://xri.example-xsp.com</xrid:URI>
								<xrid:URI>https://xri.example-xsp.com</xrid:URI>
							</xrid:XRIAuthority>
							<xrid:LocalAccess>
								<xrid:Service> xri:$r.a/X2R</xrid:Service>
								<xrid:Type>application/rddl+xml</xrid:Type>
								<xrid:URI>http://xri.example-xsp.com</xrid:URI>
							</xrid:LocalAccess>
						</xrid:XRIDescriptor>
					</data>
				</version>
			</instance>
		</type>
	</logical>
	<!--This resource represents the XDI account of a customer of this XSP, Mary Jones.-->
	<!--Mary is a logical XDI data authority. All resources in this branch of the XDI graph are controlled by Mary.-->
	<!--There are five XRI synonyms assigned to this resource.-->
	<!--The first XRI below is the relative independent i-number assigned to this account by XSP !!1002.-->
	<!--The second XRI is the absolute i-number assigned to this node so that it can be cross-referenced globally.-->
	<!--The third is the same absolute i-number registered in the "=" registry so it is globally portable even if Mary moves to another XSP.-->
	<!--The fourth is the global i-name Mary registered in the "=" registry.-->
	<!--The fifth is a community i-name Mary registered in her school registry.-->
	<logical>
		<xri>!1001.1001.1001</xri>
		<xri>!!1002/!1001.1001.1001</xri>
		<xri>=!(!!1002/!1001.1001.1001)</xri>
		<xri>=Mary.Jones</xri>
		<xri>@Example.School*Mary</xri>
		<!--Mary's first collection of resources in her account is personal names. The first XRI is the i-number for this type of resource from an XDI dictionary service called "@dictionary", and the second is the corresponding i-name in English (not necessary but included for human readability).-->
		<type>
			<xri>!!1111/(+!(!8))</xri>
			<xri>@dictionary/(+personal.name)</xri>
			<!--This resource is the first instance in this collection. It has an i-number but no i-name is needed because the data it describes is itself a real-world name.-->
			<instance>
				<xri>!1</xri>
				<!--The following two XRIs are "back-references" - cross-references from other XDI resources maintained by this same authority. These can be traversed when the data value is updated in order to trigger sychronization contracts.-->
				<!--The first cross-reference is from the "$default" resource in this same collection.-->
				<xri>../($default)/($v1)</xri>
				<!--The first cross-reference is from Mary's work business card.-->
				<xri>../../(!1111/(!88)/(!!1111/(+!24))/!1/($v1)</xri>
				<!--This resource represents the first version of this instance. The version number and version date are XRI synonyms. This data element contains the actual data value.-->
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:13:14Z)</xri>
					<data>Mary Jones</data>
				</version>
			</instance>
			<instance>
				<xri>!2</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:14:15Z)</xri>
					<data>Mary Trent Jones</data>
				</version>
			</instance>
			<instance>
				<xri>!3</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:15:54Z)</xri>
					<data>Mary Jane</data>
				</version>
			</instance>
			<!--This resource establishes Mary's default choice among her three personal name instances.-->
			<instance>
				<xri>$default</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:15:54Z)</xri>
					<!--This version is a reference to Mary's first personal name instance above.-->
					<ref>
						<xri>!!1002/!1000.1000.1000/(!!1111/(+!8))/!1</xri>
					</ref>
				</version>
			</instance>
		</type>
		<!--Mary's second collection of resources is phone numbers.-->
		<type>
			<xri>!!1111/(+!10)</xri>
			<xri>@dictionary/(+phone.number)</xri>
			<instance>
				<xri>!1</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:13:14Z)</xri>
					<!--In this resource collection the data elements contain an instance of a specific XML schema.This illustrates how XDI can be a "carrier" of other XML documents.-->
					<data>
						<ph:phone>
							<ph:country-code>011</ph:country-code>
							<ph:area-code>206</ph:area-code>
							<ph:number>123-4567</ph:number>
						</ph:phone>
					</data>
				</version>
			</instance>
			<instance>
				<xri>!2</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:14:15Z)</xri>
					<data>
						<ph:phone>
							<ph:country-code>011</ph:country-code>
							<ph:area-code>206</ph:area-code>
							<ph:number>666-9876</ph:number>
						</ph:phone>
					</data>
				</version>
			</instance>
			<!--The next three resources categorize Mary's two phone number instances above.-->
			<!--Note that none of them contain new data values - they just serve as descriptors referencing Mary's actual phone number instances.-->
			<!--This approach enables synchronization of changes to both actual data values and descriptors. For example, Mary could decide to change her work phone number from her land line to her cell number. Neither phone number itself would change, but the descriptor would be versioned, and work calls would start being routed to her cell number.-->
			<typeRel>
				<xri>!!1111/(+!24)</xri>
				<xri>@dictionary/(+work)</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:16:17Z)</xri>
					<ref>
						<xri>!!1002/!1000.1000.1000/(!!1111/(+!10))/!1</xri>
					</ref>
				</version>
			</typeRel>
			<typeRel>
				<xri>!!1111/(+!25)</xri>
				<xri>@dictionary/(+home)</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:01Z)</xri>
					<ref>
						<xri>!!1002/!1000.1000.1000/(!!1111/(+!10))/!2</xri>
					</ref>
				</version>
			</typeRel>
			<!--Mary's home phone is also her cell phone number.-->
			<typeRel>
				<xri>!!1111/(+!28)</xri>
				<xri>@dictionary/(+cell)</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:20Z)</xri>
					<ref>
						<xri>!!1002/!1000.1000.1000/(!!1111/(+!10))/!2</xri>
					</ref>
				</version>
			</typeRel>
			<!--This resource represents Mary's choice of a default phone number, her cell phone.-->
			<typeRel>
				<xri>$default</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:20Z)</xri>
					<ref>
						<xri>!!1002/!1000.1000.1000/(!!1111/(+!10))/!2</xri>
					</ref>
				</version>
			</typeRel>
		</type>
		<!--Mary's third collection of resources is email addresses.-->
		<type>
			<xri>!!1111/(+!11)</xri>
			<xri>@dictionary/(+email)</xri>
			<instance>
				<xri>!1</xri>
				<xri>Example%20Corp.</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:13:14Z)</xri>
					<data>mary.jones@example.com</data>
				</version>
			</instance>
			<instance>
				<xri>!2</xri>
				<xri>Webmaster</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:13:14Z)</xri>
					<data>webmaster@example.com</data>
				</version>
			</instance>
			<!--Mary has 2 versions of this email address (she has updated it once).-->
			<instance>
				<xri>!3</xri>
				<xri>Personal</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-01-43T08:12:55Z)</xri>
					<data>mary@localisp.com</data>
				</version>
				<version>
					<xri>$v2</xri>
					<xri>$v/($d2004-04-11T11:00:10Z)</xri>
					<data>mary@mary.smith.name</data>
				</version>
			</instance>
			<!--The following resources describe Mary's email address instances above.-->
			<typeRel>
				<xri>!!1111/(+!24)</xri>
				<xri>@dictionary/(+work)</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:01Z)</xri>
					<!--Mary classifies more than one of her email addresses as "work" so this resource references another datatype which is a composite of "+email" and "+work".-->
					<ref>
						<xri>../../../../(!!1111/(!11)/(!!1111/(+24)))</xri>
					</ref>
				</version>
			</typeRel>
			<typeRel>
				<xri>!!1111/(+!25)</xri>
				<xri>@dictionary/(+home)</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1000.1000.1000/(!!1111/(+!11))/!3</xri>
					</ref>
				</version>
			</typeRel>
			<typeRel>
				<xri>$default</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:33Z)</xri>
					<ref>
						<xri>!!1002/!1000.1000.1000/(!!1111/(+!11))/!1</xri>
					</ref>
				</version>
			</typeRel>
		</type>
		<type>
			<xri>!!1111/(!11)/(!!1111/(+!24))</xri>
			<xri>@dictionary/(+email)/(@dictionary/(+work)</xri>
			<instance>
				<xri>!1</xri>
				<xri>Main</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!11))/!1</xri>
					</ref>
				</version>
			</instance>
			<instance>
				<xri>!2</xri>
				<xri>Webmaster%20Mail</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!11))/!2</xri>
					</ref>
				</version>
			</instance>
		</type>
		<!--The next resource is Mary's collection of XDI business cards.-->
		<type>
			<xri>!!1111/(+!88)</xri>
			<xri>@dictionary/(+business.card)</xri>
			<instance>
				<xri>!!1111/(+!24)</xri>
				<xri>@dictionary/(+work)</xri>
				<xri>Work</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!88))/(!!1111/(+!24))</xri>
					</ref>
				</version>
			</instance>
			<instance>
				<xri>!!1111/(+!25)</xri>
				<xri>@dictionary/(+home)</xri>
				<xri>Friends%20and%20Family</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!88))/(!!1111/(+!25))</xri>
					</ref>
				</version>
			</instance>
		</type>
		<!--Mary's work business card links her full name, work phone, and work email address. The i-name for each data instance (except to the link to her personal name) is Mary's label for each item of data in the context of this business card.-->
		<type>
			<xri>!!1111/(!88)/(!!1111/(+!24))</xri>
			<xri>@dictionary/(+business.card)/(@dictionary/(+work)</xri>
			<instance>
				<xri>!1</xri>
				<!--Note there is no i-name for this resource because it is a personal name.-->
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!8))/!1</xri>
					</ref>
				</version>
			</instance>
			<instance>
				<xri>!2</xri>
				<!--This i-name is Mary's label for this item of data in the context of this business card.-->
				<xri>Work%20Phone</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!10))/!1</xri>
					</ref>
				</version>
			</instance>
			<instance>
				<xri>!3</xri>
				<xri>Work%20Email</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!11))/(!!1111/(+!24))</xri>
					</ref>
				</version>
			</instance>
		</type>
		<!--Mary's "friends and family" business card links her personal contact data.-->
		<type>
			<xri>!!1111/(!88)/(!!1111/(+!25))</xri>
			<xri>@dictionary/(+business.card)/(@dictionary/(+home)</xri>
			<instance>
				<xri>!1</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<resource>
							<xri>$ref</xri>
							<resource>
								<xri>!!1002/!1001.1001.1001/(!!1111/(+!8))/!2</xri>
							</resource>
						</resource>
					</ref>
				</version>
			</instance>
			<instance>
				<xri>!2</xri>
				<xri>Cell%20Phone</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!10))/!3</xri>
					</ref>
				</version>
			</instance>
			<instance>
				<xri>!3</xri>
				<xri>Home%20Email</xri>
				<versiion>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!11))/(!!1111/(+!24))</xri>
					</ref>
				</versiion>
			</instance>
		</type>
		<!--The next resource is Mary's collection of "template" link contracts, i.e, those she has pre-configured for common types of data sharing.-->
		<type>
			<xri>$contract</xri>
			<typeRel>
				<xri>!!1111/(+!24)</xri>
				<xri>@dictionary/(+work)</xri>
				<xri>Business</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/($contract)/(!!1111/(+!24))</xri>
					</ref>
				</version>
			</typeRel>
			<typeRel>
				<xri>!!1111/(+!25)</xri>
				<xri>@dictionary/(+home)</xri>
				<xri>Personal</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/($contract)/(!!1111/(+!25))</xri>
					</ref>
				</version>
			</typeRel>
		</type>
		<!--Mary's business data sharing contract links a standard business-to-business data sharing contract with her work business card.-->
		<type>
			<xri>!!1111/(!88)/(!!1111/(+!24))</xri>
			<xri>$contract/(@dictionary/(+work)</xri>
			<typeRel>
				<xri>$contract</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1000/$contract/(!!1111/(+!24))/$v3</xri>
					</ref>
				</version>
			</typeRel>
			<typeRel>
				<xri>!!1111/(!88)/(!!1111/(+!24))</xri>
				<xri>@dictionary/(+business.card)/(@dictionary/(+work)</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!88))/(!!1111/(+!24))</xri>
					</ref>
				</version>
			</typeRel>
		</type>
		<!--Mary's personal data sharing contract links a standard personal data sharing contract with both her work and her friends and family business card.-->
		<type>
			<xri>!!1111/(!88)/(!!1111/(+!25))</xri>
			<xri>$contract/(@dictionary/(+home)</xri>
			<typeRel>
				<xri>$contract</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1000/$contract/(!!1111/(+!25))/$v2</xri>
					</ref>
				</version>
			</typeRel>
			<typeRel>
				<xri>!!1111/(!88)/(!!1111/(+!24))</xri>
				<xri>@dictionary/(+business.card)/(@dictionary/(+work)</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!88))/(!!1111/(+!24))</xri>
					</ref>
				</version>
			</typeRel>
			<typeRel>
				<xri>!!1111/(!88)/(!!1111/(+!25))</xri>
				<xri>@dictionary/(+business.card)/(@dictionary/(+home))</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-04-12T12:20:15Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/(!!1111/(+!88))/(!!1111/(+!25))</xri>
						<xri>=Mary.Jones/(@dictionary/(+business.card))/(@dictionary/(+home)</xri>
					</ref>
				</version>
			</typeRel>
		</type>
		<!--This resource represents Mary's data sharing relationship with Bob Smith.-->
		<logicalRel>
			<xri>=!(!!1003/!1234.8765.9933)</xri>
			<xri>=Bob.Smith</xri>
			<!--Mary could have any number of link contracts with Bob. In this case she has just one.-->
			<typeRel>
				<xri>!!1111/(!88)/(!!1111/(+!24))</xri>
				<xri>$contract/(@dictionary/(+work)</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-01-13T08:25:21Z)</xri>
					<ref>
						<xri>!!1002/!1001.1001.1001/($contract))/(!!1111/(+!24))</xri>
						<xri>=Mary.Jones/($contract)/(@dictionary/(+work))</xri>
					</ref>
				</version>
			</typeRel>
		</logicalRel>
		<!--The next resource is Mary's collection of references to other resources.-->
		<!--This is where Mary could delegate i-names (or i-numbers) to other parties.-->
		<logicalRef>
			<!--This is an i-name Mary has assigned to Bob Smith.-->
			<xri>Bob</xri>
			<ref>
				<xri>=!(!!1003/!1234.8765.9933)</xri>
				<xri>=Bob.Smith</xri>
			</ref>
		</logicalRef>
	</logical>
	<!--The following resource represents !!1002's cache of data about another XSP "!!1003" (host of "=Bob.Smith").-->
	<physicalRel>
		<xri>!!1003</xri>
		<logical>
			<xri>!!1003</xri>
			<!--This resource is a cached copy of the XRI Descriptor for !!1003 (per the XRI 1.0 spec).-->
			<type>
				<xri>$xrid</xri>
				<version>
					<xri>$v1</xri>
					<xri>$v/($d2004-01-13T08:25:21Z)</xri>
					<data>
						<xrid:XRIDescriptor>
							<xrid:Resolved>!!1003</xrid:Resolved>
							<xrid:XRIAuthority>
								<xrid:URI>http://xri.3cpo.com</xrid:URI>
								<xrid:URI>https://xri.3cpo.com</xrid:URI>
							</xrid:XRIAuthority>
							<xrid:LocalAccess>
								<xrid:Service> xri:$r.a/X2R</xrid:Service>
								<xrid:Type>application/rddl+xml</xrid:Type>
								<xrid:URI>http://xri.3cpo.com</xrid:URI>
							</xrid:LocalAccess>
							<xrid:LocalAccess>
								<xrid:Service> xri:$r.a/X2R</xrid:Service>
								<xrid:Type>image/jpeg</xrid:Type>
								<xrid:URI>http://pictures.xri.3cpo.com</xrid:URI>
							</xrid:LocalAccess>
						</xrid:XRIDescriptor>
					</data>
				</version>
			</type>
		</logical>
	</physicalRel>
	<physicalRef>
		<xri>!7777</xri>
		<ref>
			<xri>http://xri.local-xsp.com</xri>
			<xri>https://xri.local-xsp.com</xri>
		</ref>
	</physicalRef>
</physical>


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