Apparently your schema simple.xsd has a targetnamespace http://
sample.com.
Your test.xml has no namespace decaration, so it is in the "null"
namespace and has to be validated against a schema thas als has a
"null" targetnamespace.
Either you must remove the targetnamespace in your xsd or you have to
add xmlns="http://sample.com" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" to your test.xml.
Regards
Dick Deneer
Op 8-jan-2007, om 23:43 heeft Bernd Kolb (([EMAIL PROTECTED])) het volgende
geschreven:
Hi,
I have a question: I am using xerces 2.9.0.
I have a XML-Document witch was not created by me and
I am not able to load it from a file. I am getting
the XML-Document Object.
Now I want to validate this document against a schema.
This schema might not be in the document.
So I want to add the schema programmatically.
How can I achieve this?
Document doc =
DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new
File("test.xml"));
Schema schema =
SchemaFactory.newInstance
(XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema(new
StreamSource("simpleSchema.xsd"));
schema.newValidator().validate(new DOMSource(doc));
test.xml looks like this
<?xml version="1.0" encoding="UTF-8"?>
<persons age="0">
<name>name</name>
<surname>surname</surname>
</persons>
But I'd like xerces to act as if it looked like the following one:
<?xml version="1.0" encoding="UTF-8"?>
<persons age="0" xmlns="http://sample.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://sample.com simpleSchema.xsd ">
<name>name</name>
<surname>surname</surname>
</persons>
I tried to add the xmlns, xmlns:xsi and xsi:schemaLocation
attributes to the
root element by code, without success...
Any idea?
Thanks a lot!
Best wishes
Bernd Kolb
---------------------------------------------------------------------
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]