Title: Adding a priority attribute to XRIDs
Sharon-
Thanks for the writeup. A number of editors have
discussed this individually and were hoping to see just this sort of proposal
come through. We seemed to come to loose agreement (informally) that if there
was actual implementation issues requiring this feature, we should consider it
for the next edit pass (which I mentioned in an earlier email).
I have very briefly scanned your proposal and
find no obvious issues with it.
One question I do have is how would you specify
the "ordering" across different XRIDs? If you had two different XRIDs (each
one resolved separately for the name authority - e.g. with a synonym
dereferencing), would you order all the service elements from both XRIDs
together? Or does the concept of priority only apply within a single XRID? I
don't know an answer - this just came up on a phone call I was having with Dave
McAlpin (I believe).
Once again, thanks for the
proposal.
-Gabe
From: Wodjenski, Sharon
[mailto:]
Sent: Tuesday, May 24, 2005
9:59 AM
To:
Subject: [xri] Adding
a priority attribute to XRIDs
Proposal for Adding a Priority Attribute to XRIDs
The XML
1.0 Specification does not specifically state that elements within an XML
document are ordered. The element order is left to the interpretation of
the parser or XML application. Although most parsers will preserve
order, an explicit ordering attribute on an element makes order, or priority,
unambiguous.
With
XRIDs this is particularly true because they may contain multiple Authority
elements, Service elements, Internal Synonyms, or External Synonyms. Since the
priority of these elements may be important either to the Authority, the
resolution client, or the consuming application, it is recommended that XRIDs
employ the same mechanism used in DNS records to indicate priority, i.e., an
explicit “priority” attribute.
This
attribute could be defined globally and then used in the Authority, Service,
Internal, and External elements within an XRID, or it may be defined for each
specific element (the former is recommended for easier extensibility). In
either case the resolution client may interpret the correct priority without
assuming document order.
It is
proposed that this priority attribute be optional, have no default value, and
be of the type unsigned short integer.
Below is
an example of an XRID with the priority attribute added.
<?xml
version="1.0" encoding="UTF-8"?>
<XRIDescriptors
xmlns="xri://$res*schema/XRIDescriptor*($v%2f2.0)">
<XRIDescriptor
xrid:id="1">
<Resolved>*les</Resolved>
<AuthorityID>”xri://=”</AuthorityID>
<Expires>2005-05-30T09:30:10Z</Expires>
<Authority priority=”10”>
<AuthorityID>xri://(=!1234.1234.1234.1234)</AuthorityID>
<Type>xri://$res*auth.res/XRIA</Type>
<URI>http://xri.2idi.com/(=!1234.1234.1234.1234)</URI>
<URI>https://xri.2idi.com/(=!1234.1234.1234.1234)</URI>
</Authority>
<Service priority=”10”>
<Type>xri://res*local.access/X2R</Type>
<URI>http://2idi.pictures.com/(=!1234.1234.1234.1234)</URI>
<MediaType>image/jpeg</MediaType>
</Service>
<Service priority=”20”>
<Type>xri://res*local.access/X2R</Type>
<URI>http://2idi.mail.com/(=!1234.1234.1234.1234)</URI>
<MediaType>message/text</MediaType>
</Service>
<Synonyms>
<Internal priority=”10”>xri://=!1234.1234.1234.1234</Internal>
<External priority=”10”>xri://!!1002!(=!1234.1234.1234.1234)</External>
</Synonyms>
<TrustMechanism>xri://res*trusted/None</TrustMechanism>
</XRIDescriptor>
</XRIDescriptors>