RE: [xri] Adding a priority attribute to XRIDs

From
Wachob, Gabe <>
Date
2005-05-24T17:34:22+00:00
ID
Thread
RE: [xri] Adding a priority attribute to XRIDs
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>