You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by xe...@xml.apache.org on 2004/10/12 18:34:51 UTC

[jira] Resolved: (XERCESC-1209) Problem with id usage across schema documents

Message:

   The following issue has been resolved as FIXED.

   Resolver: cargilld
       Date: Tue, 12 Oct 2004 9:32 AM

Updating resolution to fixed, as Khaled checked in a change a while ago.
---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/XERCESC-1209

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XERCESC-1209
    Summary: Problem with id usage across schema documents
       Type: Bug

     Status: Resolved
   Priority: Blocker
 Resolution: FIXED

    Project: Xerces-C++
 Components: 
             Validating Parser (Schema) (Xerces 1.5 or up only)
   Versions:
             2.4.0

   Assignee: 
   Reporter: Kiran

    Created: Wed, 12 May 2004 1:37 PM
    Updated: Tue, 12 Oct 2004 9:32 AM
Environment: Win 2K

Description:
I verified this with the XercesJ parser and it does NOT complain if id are unique across schema files.
Why is ID handling different for the C++ and Java version. If we look at 
this from the XML angle, the ID should be unique only with the same document not across documents. So why is XercesC giving an error.

Here is the response from xml schema dev mailing list
There's no conflict.  The xsd:include is not the same as an XInclude 
include.  xsd:include 'includes' the schema components that belong to 
the *parsed* included schema document.  It doesn't 'include' the xml 
representation of the included schema document, so the DTD for schemas 
is not applicable.  As far as I can tell, the id attribute doesn't 
constrain the schema components (only their XML representations).

xan


---------------------------------------------------------------------------------------------------------------


For eg. if I have schema A.xsd

<xsd:schema id="ABC">
  <xsd:include schemaLocation="B.xsd">
  <xsd:element name="x" type="xsd:string">
</xsd:schema>

schema B.xsd

<xsd:schema id="ABC">     //HERE ABC value is repeated as a id
</xsd:schema>

If we look A.xsd as standalone XML having a id attribute it is unique.
However if I parse A.xsd, I get an error in B.xsd saying the id attribute is
duplicated.
Strangely the schema spec is silent on this. Looks like the xerces schema
parser checks ids in totality including 'includes' and 'imports'. What is
the correct behaviour. Should this resort to a single document with an id
like XML or consider the include and import set for id uniqueness.



---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org