You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Brian Minchau (JIRA)" <xa...@xml.apache.org> on 2005/06/02 20:07:06 UTC
[jira] Updated: (XALANJ-2130) cdata-section-elements are not properly set via JAXP
[ http://issues.apache.org/jira/browse/XALANJ-2130?page=all ]
Brian Minchau updated XALANJ-2130:
----------------------------------
Attachment: cdata-section-elements.patch.jira2130.txt
Attaching patch.
> cdata-section-elements are not properly set via JAXP
> ----------------------------------------------------
>
> Key: XALANJ-2130
> URL: http://issues.apache.org/jira/browse/XALANJ-2130
> Project: XalanJ2
> Type: Bug
> Components: XSLTC
> Reporter: Brian Minchau
> Assignee: Brian Minchau
> Attachments: cdata-section-elements.patch.jira2130.txt
>
> Section 16. of the XSLT 1.0 recommendation ( see http://www.w3.org/TR/xslt )
> says this:
> <<
> A stylesheet may contain multiple xsl:output elements and may include or import stylesheets that also contain xsl:output elements. All the xsl:output elements occurring in a stylesheet are merged into a single effective xsl:output element. For the cdata-section-elements attribute, the effective value is the union of the specified values. For other attributes, the effective value is the specified value with the highest import precedence. It is an error if there is more than one such value for an attribute. An XSLT processor may signal the error; if it does not signal the error, if should recover by using the value that occurs last in the stylesheet.
> >>
> Even after this is done one can use the JAXP API Transformer.setOutputProperty(name,value) or Transformer.setOutputProperty(java.util.Properties) to override values in the stylesheet, that would be in its "single effective merged xsl:output element".
> In the spirit of what the stylesheet does, it would seem that if a cdata-section-elements property is set, it should not override the stylesheets set of sections, but be a union with it, just as the xsl:output cdata-sections-elements form an effective union. This is unlike other xsl:output attributes.
> The effective xsl:output attributes can be modified with mulitple calls to
> Transformer.setOuputProperty(String name, String value) and/or
> Transformer.setOutputProperty(java.util.Properties)
> However the serializer is brittle with respect to multiple such calls namely:
> - cdata-section-elements from JAXP do merge with the stylesheets values, they
> replace the stylesheets values
> - Writers can be lost
> - properties with namespaces, where the name part of the property is of the form
> "{uri}localname" are not properly handled, (i.e. it doesn't parse the uri from within the curly braces).
> The code needs some re-work to make it robust.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org