Benson Margulies <[EMAIL PROTECTED]> writes:

> In my rather quirky opinion, if you use a URL, it should be a working
> URL. The stuff in the JAR is an optimization.
>
> If you don't want to have a working URL, use a URI instead.

I agree. I ran into this same confusion when investigating JIRA issue
CXF-662.[1] CXF is leaning on Spring's PluggableSchemaResolver[2] here. That
class short-circuits URI dereferencing as an optimization, but it seems
that these URIs that are also URLs should be valid targets as well on
the Web.

Another odd detail that adds to this confusion: Spring's catalog-like
resolver should ideally be hooking on the entity's public ID, not its
system ID[3]. That's the way things worked in SGML processing, and it
could be done in Spring's implementation here, but the Annotated XML
Specification has some depressing commentary[4] as to why system IDs are
required in XML. The last paragraph pertains to our situation here:

,----[ Entities and their Identifiers ]
| So, in XML you can use public identifiers, but you still have to provide
| a system identifier. If you do something silly like try using an empty
| identifier, or one that doesn't work, anyone to whom you send the
| document has every right to complain that it's broken.
`----


Footnotes: 
[1] https://issues.apache.org/jira/browse/CXF-662#action_12498794
[2] 
http://www.springframework.org/docs/api/org/springframework/beans/factory/xml/PluggableSchemaResolver.html
[3] http://www.xml.com/axml/target.html#dt-sysid
[4] http://www.xml.com/axml/notes/SysIDs.html

-- 
Steven E. Harris

Reply via email to