[jdom-interest] Do schemas work with JDOM?

Michael Brennan Michael_Brennan at Allegis.com
Tue Jan 23 14:55:13 PST 2001

I haven't actually used schemas for validation yet, so I'm not sure I can
help you. However, I think the xmlns="x-schema:..." notation is still
something proprietary to Microsoft. You'll need to check the docs for the
XML parser you are using. You should be able to reference the schema via a
"schemaLocation" attribute (see
http://www.w3.org/TR/xmlschema-0/#schemaLocation for info). Also, read
through the XSD primer at http://www.w3.org/TR/xmlschema-0/. Your new schema
is still not quite correct (although I think you are on the right track).
The "<complexType>" tag specifies a type, not an element. You'll need some
"<element>" tags to specify the concrete elements allowed in your document
(although an "<element>" tag can reference a "<complexType>" to define its
content model).

> -----Original Message-----
> From: Fishman, Rick [mailto:Rick_Fishman at ctilogistx.com]
> Sent: Tuesday, January 23, 2001 7:09 AM
> To: 'Michael Brennan'; JDOM Interest (E-mail)
> Subject: RE: [jdom-interest] Do schemas work with JDOM?
> I appreciate the help. I don't want to wear out my welcome 
> (maybe I should
> be posting this to W3C?) but one more thing... maybe I'm 
> missing something.
> I have now changed my xml and its schema as found below. I am 
> getting a
> JDOMException indicating that it can't find the schema:
> org.jdom.JDOMException: General Schema Error: Grammar with uri :
> x-schema:http://localhost/ReadTestSchema.xsd , can not 
> found.: Error on line
> 2 of document file:/C:/JavaProjects/JDomTest/ReadTest.xml: 
> General Schema
> Error: Grammar with uri : 
> x-schema:http://localhost/ReadTestSchema.xsd , can
> not found.
> I am running this from a Java application that is using JDOM 
> to try and
> parse the XML file. The schema (ReadTestSchema.xsd) is located in my
> inetput/wwwroot directory that is my default web site on my 
> box and that web
> site is definitely accessible. This of course is an IIS web 
> server. I also
> copied the schema to an Apache web server on the Internet and 
> tried it using
> that URL but had the same problem. Is there something else I 
> need to do to
> allow JDOM to find the schema? I'm loading the XML file from 
> disk (not thru
> http) - maybe that's a problem?
> I know I'm missing something really basic here so I'm prepared to be
> embarrassed <grin>...
> Here is my xml:
> <?xml version="1.0"?>
> xmlns="x-schema:http://www.codeblazers.com/ReadTestSchema.xsd">
>    <ROUTE ID="1">
>       <TRIP ID="1">
>          <STOP ID="1" />
>       </TRIP>
>    </ROUTE>
> Here is my schema:
> <xsd:schema xmlns:xsd="http://www.w3.org/2000/08/XMLSchema">
> <xsd:complexType name="RICKSDOC">
>    <xsd:element name="ROUTE" type="ROUTE"/>
> </xsd:complexType>
> <xsd:complexType name="ROUTE">
>    <xsd:element name="TRIP" type="TRIP"/>
>    <xsd:attribute name="ID" type="xsd:unsignedLong"/>
> </xsd:complexType>
> <xsd:complexType name="TRIP">
>    <xsd:element name="STOP" type="STOP"/>
>    <xsd:attribute name="ID" type="xsd:unsignedLong"/>
> </xsd:complexType>
> <xsd:complexType name="STOP">
>    <xsd:attribute name="ID" type="xsd:unsignedLong"/>
> </xsd:complexType>
> </xsd:schema>

More information about the jdom-interest mailing list