re: [xml] Schema validity failure for valid document



Hi,

(sorry this is a hand-made reply, so it might look funny)

On Fri, 31 Dec 2004 16:13:14 -0500 Scott Lawrence wrote:

I've attached a simplified version of a schema I'm working on and an
instance document that should validate against it.  I can't seem to
figure out how to get 'xmllint -schema' to accept this. 

I ran these same two documents through the LTG validator at
http://www.w3.org/2001/03/webdata/xsv and it accepts this document as
valid against the schema.

I've tried this both with version 2.6.16 (on FC2 linux) and with a
version built from CVS on 12/31/2004, both with the same result:
 
call_event_examples.xml:3: element call_event: Schemas validity error :
Element 'call_event' [CT local]: The element content is not valid.

There was a tiny enhancement in content model error reports in 
xmlschemas.c rev. 1.92; but since you builded as well from CVS on 
12/31/2004, you already noticed.

[...]

 <element name='call_event'>
    <complexType>
      <sequence>
            <element ref='cse:call_failure'/>
      </sequence>
    </complexType>
  </element>
   
[...]

<call_event_sequence
 xmlns='http://www.sipfoundry.org/sipX/schema/xml/cse-01-00'>
<call_event>
  <observer>out1.sipxchange.example.com</observer>
  <obs_seq>290</obs_seq>
  <obs_time>2003-08-15T17:27:30.023Z</obs_time>
  <call_failure>
    <call>
      <dialog>
        <call_id>call-1036576858-13 10 1 1 252</call_id>
        <from_tag>1c954235820</from_tag>
      </dialog>
      <from>"Scott"&lt;sip:scott-ix kathmandu example > 
com&gt;;tag=1c954235820</from>
      <to>Some Phone&lt;sip:162 example com&gt;transport=tcp</to>
    </call>
  </call_failure>
</call_event>
</call_event_sequence>

Sure there was a glitch in the simplification process of your 
schema/instance: it declares <call_failure> as the only child of 
<call_event>. Additionally the position of <to> and <from> in <call>
need to be swaped.
With this one I get:

P:\libxml2-lab\tests>xmllint --noout --schema test.xsd test.xml
Element 'observer': This element is not expected.
Element 'obs_seq': This element is not expected.
Element 'obs_time': This element is not expected.
Element 'call_failure': This element is not expected.
test.xml fails to validate

P:\libxml2-lab\tests>xmllint --version
xmllint: using libxml version 20616CVS2268
   compiled with: DTDValid FTP HTTP HTML C14N Catalog XPath XPointer
XInclude Iconv MemDebug Unicode Regexps Automata Schemas

The error report: "Element 'call_failure': This element is not expected"
is due to the automaton context, which gets an "invalid" status on
the first non-matching element (<observer> in this case); this could
be fixed by resetting the status through a not yet existent API call 
(the regexp struct is not public).

Please resend the fixed schema/instance.

Regards,

Kasimier



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]