[
Lists Home |
Date Index |
Thread Index
]
Schema location resolution is not just a special case and is more complex
than just URI redirection. An application would typically want to locate a
schema resource by the namespace URI or the namespace URI plus some
additional information (such as the version attribute on an <xsl:transform>
element) and ignore any xsi:schemaLocation hint.
Since schema validation augments the infoset, it is necessary (or at least
useful) to resolve the location during the parsing of the document.
Sandy Gao, others and I had a very long discussion on this on the
Xerces-J-Dev mailing list in August 2001
(http://archive.covalent.net/xml/xerces-j-dev/2001/08/0119.xml and
following). I believe that most of that got reflected in the Xerces-J 2's
schema resolution interfaces, but I haven't really followed it.
Basically, my take was that the parser should throw an event when it
encounters content that it cannot find an existing schema resource to
handle. The handler should have access to any previously encountered
xsi:schemaLocation, the namespace URI and local name of the content that
caused the event and the untyped content of the start tag (so that you could
use something like an version attribute).
|