Hi Peter,
we have also had a similar problem. It has been suggested to us
that you should just create 1 schema and include them both in that.
Gareth
On Thu, 17 Oct 2002, Khaled Noaman wrote:
> This is allowed. The schema spec says that the schemaLocation is only a
> hint and it is open to application to ignore it for a given namespace if
> that namespace was previously resolved. We chose to implement it that
> way to eliminate the need for duplicate processing of the same namespace
> and to prevent endless processing in the case of circular imports (i.e A
> imports B which imports A).
>
> Khaled
>
> "Peter A. Volchek" wrote:
>
> > I have the question related to "schemaLocation" attribute
> > processing.As I noticed in your code, when parser meeths the
> > schemaLocation attribute with the uri that was already defined
> > previously it just gets the schema grammar from cache and uses
> > it. This causes the trouble when validating the following instance
> > document:
>a.xml-----------------------------------------------------------------------------<ns:A
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:ns="http://www.sample.com"
> > xsi:schemaLocation="http://www.sample.com sch1.xsd">
> >
> > <ns:B xsi:schemaLocation="http://www.sample.com
> > sch2.xsd">Hello</ns:B>
> >
> >
> >
>/ns:A>----------------------------------------------------------------------------- In
> > this document the element A is declared in in schema sch1.xsd, and
> > element B in sch2.xsdas
> > follows:
>sch1.xsd-----------------------------------------------------------------------------<?xml
> > version="1.0"?>
> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > targetNamespace="http://www.sample.com"> <xs:element
> > name="A">
> > <xs:complexType>
> > <xs:sequence>
> > <xs:any namespace="http://www.sample.com" minOccurs="1"
> > maxOccurs="unbounded"/>
> > </xs:sequence>
> > </xs:complexType>
> >
> > </xs:element>
></xs:schema>-----------------------------------------------------------------------------
>
>sch2.xsd-----------------------------------------------------------------------------<?xml
> > version="1.0"?>
> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > targetNamespace="http://www.sample.com"> <xs:element
> > name="B"
> > type="xs:string"/>
></xs:schema>-----------------------------------------------------------------------------
> Now,
> > if you parse with DOMPrint sample you'll get the following error: >
> > DOMPrint.exe -v=always -n -s a.xmlError at file "a.xml", line 5,
> > column 61
> > Message: Unknown element 'ns:B' THe reason is that parser ignores
> > the second schemaLocation attribute, meaning that the grammar already
> > exists for it in cache.Is this expected behaviour? What does XMLSchema
> > rec. says about it ? Peter A. Volchek
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Gareth Reakes, Head of Product Development
DecisionSoft Ltd. http://www.decisionsoft.com
Office: +44 (0) 1865 203192
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]