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

Re: [xml] Libxml not catching schema error



One more info: it also doesn't catch duplicates in following (slightly
modified) sample file. Basically I inserted <xs:choice> as the parent of
those two "ifid" elements.

Thanks,
Yong Chen


<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns="http://www.my.com/test"; 
targetNamespace="http://www.my.com/test";
elementFormDefault="qualified">
  <xs:element name="show" type="show_type"/>
  <xs:complexType name="show_type">
    <xs:sequence>
      <xs:element name="interface" minOccurs="1" type="interface_type"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="interface_type">
    <xs:sequence>
      <xs:choice>
        <xs:element name="ifid" minOccurs="1" type="xs:string"/>
        <xs:element name="ifid" minOccurs="1" type="xs:string"/>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

> -----Original Message-----
> From: xml-bounces gnome org [mailto:xml-bounces gnome org] On 
> Behalf Of Yong Chen (yongche)
> Sent: Wednesday, February 07, 2007 3:19 PM
> To: xml gnome org
> Subject: [xml] Libxml not catching schema error
> 
> Hi,
> 
> It seems libxml2 sometimes doesn't catch duplicate elements 
> (under the same parent element) when loading a schema. 
> (Please see the simple schema at the end).
> 
>   xmlSchemaParserCtxtPtr parserCtxtPtr = 
> xmlSchemaNewParserCtxt("./sample.xsd");  -----line 1
>   xmlSchemaPtr schema = xmlSchemaParse(parserCtxtPtr);    
> ------------>
> line 2
> 
> Line 1 creates a parser context, and line 2 creates schema pointer.
> 
> For the schema below, there are two "ifid" elements in 
> "interface_type"
> complexType, I expect line 2 reports an error saying 
> duplicate elements defined, but instead, line 2 returns fine.
> 
> Thanks,
> Yong Chen 
> 
> 
> Sample.xsd:
> 
> <?xml version="1.0"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
> xmlns="http://www.my.com/test"; 
> targetNamespace="http://www.my.com/test";
> elementFormDefault="qualified">
>   <xs:element name="show" type="show_type"/>
>   <xs:complexType name="show_type">
>     <xs:sequence>
>       <xs:element name="interface" minOccurs="1" 
> type="interface_type"/>
>     </xs:sequence>
>   </xs:complexType>
>   <xs:complexType name="interface_type">
>     <xs:sequence>
>         <xs:element name="ifid" minOccurs="1" type="xs:string"/>
>         <xs:element name="ifid" minOccurs="1" type="xs:string"/>
>     </xs:sequence>
>   </xs:complexType>
> </xs:schema>
> _______________________________________________
> xml mailing list, project page  http://xmlsoft.org/ 
> xml gnome org http://mail.gnome.org/mailman/listinfo/xml
> 



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