JDK-8011653: Upgrade to JAXP 1.5
huizhe wang
huizhe.wang at oracle.com
Mon May 6 17:49:19 UTC 2013
On 5/4/2013 12:12 AM, Alan Bateman wrote:
> On 03/05/2013 19:02, huizhe wang wrote:
>> :
>>
>> Removed the repetitive "value" definition from the
>> setAttribute/setProperty methods. The open statements already have
>> references to the properties in XMLConstants.
>>
>> Updated to:
>> "The default value is implementation specific and therefore not
>> specified. The following options are provided for consideration:"
>>
>> The 2nd paragraph already had the "recommendation" when FSP is set to
>> true (same as in the JEP).
> I looked at the updated webrev, again mostly focusing on the
> javadoc/spec changes, and this looks much better.
>
> One comment on the "options for consideration" is that it reads "an
> empty string to allow no access permission". This might be better as
> "an empty string to deny all access to external references".
Done.
>
> In each of the setProperty methods it specifies the exception that are
> thrown when a connection is denied. For example in TransformerFactory
> it reads "If access is denied during processing due to the restriction
> of this property,TransformerConfigurationExceptionwill be thrown by
> TransformerFactory". In this case I thought it was Transformer but
> more generally the wording doesn't make it clear that it's the parse
> or transform or whatever methods that throw the exceptions.
I added more details to TransformerFactory, SchemaFactory and Validator
on what exception is thrown by which method(s), e.g.
*
Access to external DTDs in the source file is restricted to the
protocols specified by the |XMLConstants.ACCESS_EXTERNAL_DTD|
<cid:part1.07080702.03030300 at oracle.com> property. If access is
denied during transformation due to the restriction of this
property, |TransformerException|
<cid:part2.01080007.04090706 at oracle.com> will be thrown by
|Transformer.transform(Source, Result)|
<cid:part3.07000806.00060704 at oracle.com>.
Access to external DTDs in the stylesheet is restricted to the
protocols specified by the |XMLConstants.ACCESS_EXTERNAL_DTD|
<cid:part1.07080702.03030300 at oracle.com> property. If access is
denied during the creation of a new transformer due to the
restriction of this property, |TransformerConfigurationException|
will be thrown by the |newTransformer(Source)|
<cid:part5.03040905.02050701 at oracle.com> method.
Access to external reference set by the stylesheet processing
instruction, Import and Include element is restricted to the
protocols specified by the |XMLConstants.ACCESS_EXTERNAL_STYLESHEET|
<cid:part6.08070909.09090902 at oracle.com> property. If access is
denied during the creation of a new transformer due to the
restriction of this property, |TransformerConfigurationException|
<cid:part7.06070206.07030601 at oracle.com> will be thrown by the
|newTransformer(Source)| <cid:part5.03040905.02050701 at oracle.com>
method.
Access to external document through XSLT document function is
restricted to the protocols specified by the property. If access is
denied during the transformation due to the restriction of this
property, |TransformerException|
<cid:part2.01080007.04090706 at oracle.com> will be thrown by the
|Transformer.transform(Source, Result)|
<cid:part3.07000806.00060704 at oracle.com> method.
>
> I agree with Daniel's comment that it is hard to completely assess
> whether all code paths have been identified. It's a reminder that this
> one needs extensive testing.
True. I've added 176 new tests. JCK team is also testing using the
current build of JAXP RI. I will also run regression tests.
The new webrev included fixes to a couple of test failures in the last
JPRT build.
http://cr.openjdk.java.net/~joehw/jdk8/8011653/webrev/
Thanks,
Joe
>
> -Alan
More information about the core-libs-dev
mailing list