我经常用这个XPath sum(preceding::*/string-length())
XSLT/Xpath的 - 和功能性能
它做什么,我需要做的(提供的所有文字起来的字符计数来此背景下,XML文件中)。
问题:它很慢。
是否有不同的内置函数,我应该使用它?或者一个扩展?
UPDATE:
基于Michael Kay的评论,我探索XSLT 3.0 <accumulator>
。这是我第一次尝试3.0(我不得不更新OxygenXML使其工作)。我还没有完全适应我的需求,但下面的初步测试显示了承诺。
<xsl:output method="xml" />
<xsl:accumulator
name="f:string-summ"
post-descent="f:accum-string-length"
as="xs:integer"
initial-value="0">
<xsl:accumulator-rule
match="text/*"
new-value="$value + string-length()"/>
</xsl:accumulator>
<xsl:template match="text/*">
<xsl:value-of select="f:accum-string-length()" />
</xsl:template>
偏题:Stack Overflow需要一个“XSLT-3.0”标签。
您使用哪种Xslt解析器/编译器? – rene
对于这一个..我使用Saxon HE,从命令行。 – Paulb
你能指出你的xml的大小,当前时间和目标时间吗? – rene