xom-interest AT lists.ibiblio.org
Subject: XOM API for Processing XML with Java
List archive
- From: Spencer Marks <smarks AT aveksa.com>
- To: <xom-interest AT lists.ibiblio.org>
- Subject: [XOM-interest] Validation Schema redux
- Date: Mon, 26 Jun 2006 14:42:02 -0400
>From searching this list and and others I see that validating an XML
instance with a Schema is not as simple as one would hope.
Here's my tale of woe:
My java code looks like this:
XMLReader xmlReader
XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
xmlReader.setFeature("http://apache.org/xml/features/validation/schema",
true);
xmlReader.setProperty("http://apache.org/xml/properties/schema/external-sche
maLocation",
"http://www.w3.org/2001/12/soap-envelope
soap-envelope.xsd " +
"http://www.aveksa.com/schema/system Condition.xsd " +
"http://www.aveksa.com/schema/system
EntitlementData.xsd");
xmlReader.parse(input.xml);
input.xml, Condition.xsd and EntitlementData.xsd all exist in the same
directory.
When run this code I get:
[Error] input.xml:4:100: cvc-elt.1: Cannot find the declaration of element
'tns:entitlement-data'.
My input.xml looks like this:
?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2005 rel. 3 U
(http://www.altova.com)-->
<tns:entitlement-data xmlns:tns="http://www.aveksa.com/schema/system"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.aveksa.com/schema/system
EntitlementData.xsd">
<entitlement-part>
<resources>
<resource fully-qualified-name="payroll_change"
name="payroll_change" />
</resources>
...
EntitlementData.xsd looks starts off like this:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.aveksa.com/schema/system"
targetNamespace="http://www.aveksa.com/schema/system">
but has errors on a line 77 which is:
<xs:complexType name="EntUsers">
<xs:sequence>
<xs:element name="user" type="tns:EntUser" maxOccurs="unbounded"
minOccurs="1" />
</xs:sequence>
</xs:complexType>
and line 88 which is:
<xs:element name="attribute-filter" type="tns:Condition"/>
Basically, it seems like the tns namespace is not being found or declared
correctly, but i am at loss as to why the java validation code does not
work.
Sorry if this is newbie question, but I am stuck after quite a bit of
searching and talking to colleagues. Thanks in advance for any help.
Sam
-
[XOM-interest] Validation Schema redux,
Spencer Marks, 06/26/2006
- Re: [XOM-interest] Validation Schema redux, Elliotte Harold, 06/26/2006
Archive powered by MHonArc 2.6.24.