[
Lists Home |
Date Index |
Thread Index
]
Norman Walsh wrote:
> On December 16, 2003, the JSR 206 Expert Group agreed to publish a
> first Public Review draft of the Java(TM) API for XML Processing
> (JAXP) 1.3.
>
> At this week's expert group meeting, it was suggested that our
> publication notice may have been obscured in holiday revelry. :-)
>
> If you were hitherto unaware of it, I draw your attention to
> http://jsr206-public.dev.java.net/ where you may download the
> specification, JavaDocs, and ancillary materials.
>
> Public Review is an invitation for...public review. Please let us know
> what you think. The comments list for JSR 206 is
> JSR-206-comments@JCP.org
I posted this yesterday. Is there any way to know if my
questions/suggestions are getting discussed or implemented (without
waiting till it is done)?
-----------
I have used URIResolvers quite a bit in my projects. I have also tried
to make my code use all the popular jaxp XSL processors. It has been a
sad experience because the way they are implemented differ from each
other (even xalan and XSLTC differ, as I have explained on the lists
here in the past). This new spec does little to clarify things.
Under Transformer.getURIResolver() it says:
"Get an object that will be used to resolve URIs used in document(), etc."
What does 'etc' mean?
Under Transformer.setURIResolver it says:
"If the resolver argument is null, the URIResolver value will be
cleared, and the default behavior will be used."
Does this mean that if a URIResolver was set on the TransformerFactory,
it would fallback to it? Does this mean you need to call the set method
with a null to get the default (factory's resolver)?
In the TransformerFactory.getURIResolver it says:
"Get the object that is used by default during the transformation to
resolve URIs used in document(), xsl:import, or xsl:include."
So if you get your Transformer from a TransformerFactory which one
resolves xsl:include/import (confused over the use of 'etc' above))?
In the TransformerFactory.setURIResolver it says:
"Set an object that is used by default during the transformation to
resolve URIs used in xsl:import, or xsl:include."
This makes no mention of document() as mentioned in
TransformerFactory.getURIResolver.
I think the spec should clearly define the behavior of setURIResolver
for both interfaces. IMHO it should work like this:
- if a resolver is set on the factory it is used for xsl:import/include
- if a resolver is *not* set on the factory the base URI of the XSL is
used to resolve the import/include'd XSL relative to the base URI
- if a resolver is set on the transformer it is used for document()
- if a resolver is *not* set on the transformer the base URI of the XSL
is used to resolve a relative XML
what do you think?
best,
-Rob
>
>
> Be seeing you,
> norm
>
> P.S. Sorry for the dup posting. List problems.
>
|