good question. did a quick grep...processContents is not found in the entire schema(schema is 300 pages).
Root element looks like so


<xsd:element name="Root" type="RootType/>
<xsd:complexType name="RootType">
     <xsd:sequence>
         <xsd:element name="Element" type="ElementType"/>
     </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ElementType">
  <xsd:sequence>
      <xsd:element name="data1" type="xsd:string"/>
  </xsd:sequence>
</xsd:complexType>

thanks,
dean

Mike Rawlins wrote:

Dean,

How does your original schema http://originalschema schema.xsd define the "Element" element? I'm not sure exactly how Xerces handles this, but if you don't have it defined correctly in your original schema (as in processContents="lax" or processContents="skip"), you may be getting killed by the default setting (processContents="strict").

Mike

At 01:41 PM 11/19/2003 -0700, Dean Hiller wrote:

Hi all,
I am getting an error that it can't resolve the ExtendedElement. I assume I get this because I purposefully didn't supply the extended schema...I only want to be using the standard protocol, and ignore any extensions to the schema. ie. I want to validate the originalschema and ignore additions. yet, I get the following error......


ERROR: cvc-elt.4.2: Cannot resolve 'ava:ExtendedElement' to a type definition for element 'Element'.

I have the following xml
<Root xmlns:xsi="http://..../XMLSchema-instance";
              xsi:schemaLocation="http://originalschema schema.xsd"
              xmlns="http://originalschema";
              xmlns:ava="http://www.avaya.com";>
<Element xsi:type="ava:ExtendedElement">
  <data1>some data</:data1>
  <ava:data2>more data</ava:data2>
</Element>
</Root>

Notice, the ExtendedElement is in a different namespace. I set the xerces parser to do dynamic validation and give it the location of the one schema I want to validate against.....
parser.setFeature("http://xml.org/sax/features/validation";, true);
parser.setFeature("http://apache.org/xml/features/validation/schema";, true);
parser.setFeature("http://apache.org/xml/features/validation/dynamic";, true);
parser.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation";,


              "http://originalschema original.xsd");

Notice, I do not set the location of the avaya schema. I don't want it, and only want to make sure stuff is valid against the originalschema(to maintain compatibility). I ignore anything not from the originalschema namespace to maintain compatibility with other companies too that adhere to the standard...ie I use no proprietary features, only ones in the standard.

Why am I getting the error then? I thought it was xerces was only supposed to validate against a schema it had when the dynamic feature was set? It doesn't have the avaya schema, so shouldn't it just skip it and only validate Element and the nested data inside Element since they are part of the original namespace.

thanks for any help on this,
Dean



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------
Michael C. Rawlins, Rawlins EC Consulting
www.rawlinsecconsulting.com
Using XML with Legacy Business Applications (Addison-Wesley, 2003)
www.awprofessional.com/titles/0321154940


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to