Thanks. That does indeed suppress validation from the DTD, but the parser seems to have lost its ability to read the external subset. Given input like:

schematest.xml:
<!DOCTYPE example SYSTEM "schematest.dtd">
<example xsi:noNamespaceSchemaLocation="schematest.xsd"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
  <foo/>
  &ba;
</example>

where schematest.dtd contains:
<!ENTITY fu "&#60;foo/>">
<!ENTITY ba "&#60;bar/>">

The parser says: 'Error - the entity "ba" was referenced and not declared". Works fine if you move the entity defs to the internal subset.

Is this in accordance with jaxp? How to get the parser to read the external subset?

Bob


Neil Graham wrote:
Hi Bob,

I haven't actually tried this, but what happens if you use the JAXP property "http://java.sun.com/xml/jaxp/properties/schemaLanguage";, set to "http://www.w3.org/2001/XMLSchema";? If you set isValidating to true on a SAXParserFactory, and set this property on the SAXParser instance, I believe you should get the behaviour you desire.

Cheers,
Neil
Neil Graham
Manager, XML Parser Development
IBM Toronto Lab
Phone:  905-413-3519, T/L 969-3519
E-mail:  [EMAIL PROTECTED]





Bob Foster <[EMAIL PROTECTED]> 05/18/2005 02:14 AM
Please respond to
j-users



To [email protected] cc

Subject
Re: How to use entities with XML Schema?






Joseph Kesselman wrote:

Schema has no concept of entities, so to do this you have to validate
against a DTD (or an internal subset) to expand the entities, then

validate

again against the schema. I _think_ simply turning on both kinds of
validation and having the proper doctype in the source file will do the
right thing.


Nope. If you have a DOCTYPE with either an internal or external DTD, Xerces validates against the DTD.


Officially (officiously?), the folks who designed schemas expect us to

stop

using entities and migrate to some other variety of macro/external-data
reference.


Not their problem, eh?

It's mine. A number of XML editors have started supporting this no concept, raising user expectations this is a valid combination.

Bob Foster


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to