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] XML Schema Checklist

On 10/20/2012 7:19 AM, Costello, Roger L. wrote:
> Hi Folks,
> Before publishing your XML Schemas, check that they contains these 4 things:
> 1.  xml:lang
> 2.  xml:id
> 3.  pattern facets
> 4.  user-defined entities
> More ... http://www.xfront.com/XML-Schema-Checklist.pdf
> Comments welcome.
If you are going to advise people to use xml:id for identifiers, you 
should mention some of its practical limitations:

1) it requires the use of XML namespaces, which people have sometimes 
found confusing

2) depending on the processing environment, xs:ID formatting 
restrictions may or may not be imposed.  If they are, ids won't be able 
to be numeric, or be formed as paths containing "/", for example.  You 
may see this an advantage, but there are many cases where identifiers 
are in fact formed like that.

And if you rely on the restriction, but the processor doesn't enforce 
it, trouble may ensue.

3) Again, depending on the processing environment, the status of the 
attribute as an "id" in an XSLT processor, or xinclude is up for grabs.

Historically, in my experience, there has been a problem with incomplete 
implementation by tool sets (see eg 
https://issues.apache.org/jira/browse/XERCESJ-1113 and many posts 
complaining about similar problems).  My recommendation is to use "id" 
or "uri", or "doi" or "isbn" or something else domain-specific, and not 
"xml:id."  Even if the situation has changed with more recent parsers 
(has it?), what xml:id buys you, is in my opinion not worth the xs:ID 
limitation and the need to worry about getting the right tools lined up 
just right. If an id key is required in XSLT, for example, you can 
always define one yourself, rather than relying on the built-in id() 

I'm sure someone more fully steeped in xml:id lore will explain how 
wrong-headed this is - please do!


[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