
Donal, careful, you are mixing two concepts here: intra-document uniqueness and inter-document uniqueness. Donal K. Fellows wrote:
Peter Lane wrote:
I also think the ID attribute is perhaps redundant. JobIdentification has a JobName element that seems like it should be sufficient for uniquely identifying a subjob. Or is this not how the authors envisioned JobName's use?
Actually, the problem with an ID attribute is more subtle, in that the uniqueness constraint upon it is defined purely at the document level.
There is no subtlety with xsd:ID and xsd:IDREF. They are defined exactly for what they are supposed to do: intra-document uniqueness. Full stop. The proposal never intended to promise more than intra-document uniqueness as this is what is required by intra-document dependencies.
In the world of XML documents living at URLs, the wider disambiguation is done by the URL of the overall document, but that's not useful with JSDL because job submission templates will typically not have a (fixed) URL before the submission.
Talking about inter-document uniqueness touches the domain of naming, which is the topic of another working group, the OGSA-Naming WG.
I suspect that to fix this we need a GUID *somewhere* in there, and that the source of the GUID has to be either the user or (more likely) the client software that injects the JSDL document into the system. That would allow JSDL consumers to know unambiguously whether they've seen the document before without having to do a full canonicalize-and-compare.
All this may be valid issues, but not for the proposal. If you need to fix inter-document uniqueness, add a QName to the outermost JSDL document element and use an appropriate GUID algorithm that fits the QName requirements. Or use the stuff the Naming-WG is proposing.
With a bit of work[*], I might even come up with a scenario where a full comparison would fail despite two JSDL documents really being the "same" in some higher-level sense. Things get quite complex when you have job rewriting/optimization services in the mix, but a GUID lets the "what is identity" decision be taken at a the outermost - and hence most abstract - level.
Separate the concerns. Hence separate the mechanisms of JSDL document identification and document element identification (to use some other terms rather iter- and intra-documennt blah blah). Cheers, Michel -- Michel <dot> Drescher <at> uk <dot> fujitsu <dot> com Fujitsu Laboratories of Europe +44 20 8606 4834