xsl-list
[Top] [All Lists]

[xsl] .[predicate] vs self::node()[predicate]- Xalan 2.7

2013-04-17 04:13:04
Hello,

I have a stylesheet which works correct if I use:

.[predicate]

but I get an warning/error from the transformer saying:

'..[predicate]' or '.[predicate]' is illegal syntax.  Use 
'self::node()[predicate]' instead.
And this spams the (tomcat) log files that way that they get unusable! 
Therefore I would like to get rid of this
warning/error message. BUT if I do as recommended and use 
'self::node()[predicate], the transformation results
in no match?!

The transformer I use is Xalan Java 2.7.0. Is there an easy way to suppress the 
warning/error, or to change the
statement to be legal (while producing the same matches).

Code looks something like this:
XML:
<sum>
  <tdownA>0.7</tdownA>
  <tdownB>0.1</tdownB>
</sum>

XSL:
<xsl:template match="entry/sum">
  ...
  <xsl:for-each select=".[starts-with(name,'tdown')]"> 
  ...
  </xsl:for-each>
  ...
</xsl:template>

(and YES I should/could change the template match condition to be  
match="entry" and the for-each to be
select="sum[starts-with(name,'tdown')]", but this would break a lot other 
surrounding logic, which I don't want
to touch!)

Any help would be appreciated!

Cheers,
Raimund
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


<Prev in Thread] Current Thread [Next in Thread>