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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] ID/IDREF is evil

It's what I've generally done. Keep in mind that the HTML href notation has generally utilized the hash notation to indicate that an identifier should be seen as local to the document itself:
<a name="originalDocumentId">
<a href="">
If the IDREF is defined as being a reference to an external resource (rather than being a transport protocol address), then any time you had an ID/IDREF set, then #originalResourceID would indicate that this is a reference to a resource that is declared within the current document context, while ns://myNamespace/class/Foo#originalResourceID (whatever the ns: protocol is) as an IDREF would indicate a reference to an externally declared resource. Note that you can still make the assertion that the URI in question is simply a QName - it is not an actuated link across a transport protocol, but instead simply makes an assertion that there exists a resource with this identifier somewhere within the overall system. This would provide you with a weak link assertion (open world).


Kurt Cagle
Invited Expert, XForms Working Group, W3C
Managing Editor, XMLToday.org

On Wed, Feb 19, 2014 at 8:29 PM, Peter Hunsberger <peter.hunsberger@gmail.com> wrote:
This has bugged me also off and on again over the years. So to make Rick's suggestion explicit (at least I think it might have been a suggestion); do you think the world would survive if we just said damn the standards Spock and we all started using some sort of convention like: 



Peter Hunsberger

On Wed, Feb 19, 2014 at 10:07 PM, Kurt Cagle <kurt.cagle@gmail.com> wrote:

Sometimes all you have is a local context, or, more usual, you have a an implicit global context where each identifier is bound to the explicit URI of the overall entity (which may or may not be it's URL, obviously - messaging systems in particular make the question of URLs problematic at times). I get that. The problem I'm raising is actually two-fold. The first is basically that there is no way of explicitly referring to an external entity with a NIEM s:ref, which inherits from the XSD xs:IDREF definition, because this definition is explicitly and intrinsically local. This means that if a resource references another reference, because of the XSD basis of NIEM, you MUST include the referenced entity in the message, regardless of whether it has changed in any way from what may currently exist in the original data context. s:id isn't really an issue - you can always conventionally bind that - but the IDREF itself will not validate if the referenced resource is not available in the same context. This is the argument I've been trying to make for a while.

BTW, for what it's worth I have no problem with ID/IDREF patterns if you KNOW that your context has clearly articulated contextual identifiers. It's when XML leaves the context of a file or database and becomes a message that things become problematic. 


Kurt Cagle
Invited Expert, XForms Working Group, W3C
Managing Editor, XMLToday.org

On Wed, Feb 19, 2014 at 7:24 PM, Rick Jelliffe <rjelliffe@allette.com.au> wrote:

While I do think that every document at every significant granularity should have a persistent universal identifier (PRESTO), and while I think id's are great in an 80/20 YAGNI kind of way,  I don't think we should knock id's just because they have document scope: uri fragment # is pretty practical.
For the uses where document scope is not good enough, would getting rid of IDs improve things? It does not seem to follow.
The problem

On 20/02/2014 10:47 AM, "Kurt Cagle" <kurt.cagle@gmail.com> wrote:

Thanks for the clarification - this is the first time that I have heard that there was an open world assumption on NIEM XML messages. I understand the need for message id/idref pairs being local, but without the OW assumption, this has always seemed problematic to me.

So, let me ask you a modeling question. You have a weak (i.e., has the potentially to be not immediately dereferenceable) association to an entity that does have a global identifier. Would it be legal to model an explicit named object (such as <ChildRef> for <Child>), with the assumptions that 1) <ChildRef> is a proxy, 2) rdf:about is a valid construct, and 3) child: has a prefix attribute or some other mechanism for resolving the CURIE?

       <ChildRef rdf:about="child:JaneDoe"/>

 I know some people have been working on a NIEM RDF, but the documentation on the ground for it is sparse.

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

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS