Bugs: Browse | Submit New | Admin

[#27438] libxml-ruby-1.1.3 - Schema validation for schema containing xs:any

Date:
2009-11-16 05:18
Priority:
3
Submitted By:
Sudhindra K (sudhi312)
Assigned To:
Charlie Savage (cfis)
Category:
General
State:
Open
Summary:
libxml-ruby-1.1.3 - Schema validation for schema containing xs:any

Detailed description
Hi,

I cannot get the schema validation working for a schema containing <xs:any namespace="##other" /> .
From the forum I cam to know that this is a known limitation, considering that this is so frequently used by schema
developers can this be fixed?

My question to forum and the reply -- 

---------- Forwarded message ----------
From: Darko Miletic <darko@uvcms.com>
Date: Wed, Nov 11, 2009 at 6:50 PM
Subject: Re: [xml] Regarding LibXML Schema validation
To: Sudhindra Kulkarni <kulkarni.sudhi@gmail.com>
Cc: xml@gnome.org




Sudhindra Kulkarni wrote:


Hi,

I have a problem validating a xml generated from a schema which contains an element having <xs:any
namespace="##other" />. When I try to include a element from another schema I get an error

"No matching global element declaration available but demanded by the strict wildcard"


This is a limitation of libxml. You must have all declarations from all schemas in one file. So if your xml file uses
6 schemas in order to validate them in libxml you must create new schema that includes all 6 separate schemas and than
use that xsd for validation. Something like this:

<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns    ="http://dummy.libxml2.validator"
  targetNamespace ="http://dummy.libxml2.validator"
  xmlns:xs        ="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi       ="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:<somenamespace>     ="<namespaceurl>"
  xmlns:<somenamespace2>     ="<namespaceurl2>"
  xmlns:<somenamespace3>     ="<namespaceurl3>"

  version="1.0"
  elementFormDefault  ="qualified"
  attributeFormDefault="unqualified"     >
    <xs:import namespace ="<namespaceurl>" schemaLocation = "<schema location>" 
/>
  <xs:import namespace ="<namespaceurl2>" schemaLocation = "<schema location2>" 
/>
  <xs:import namespace ="<namespaceurl3>" schemaLocation = "<schema location3>" 
/>

</xs:schema>



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

Regards,
Sudhindra

Add A Comment: Notepad

Please login


Followup

Message
Date: 2011-04-23 05:50
Sender: Charlie Savage

Hi Sudhindra,

Do you still want us to look into this issue?

Thanks - Charlie

Attached Files:

Name Description Download
No Files Currently Attached

Changes:

Field Old Value Date By
resolution_idNone2011-04-23 05:50cfis
assigned_tonone2011-04-23 05:50cfis