回答
我不知道什么叫“非破冲刺”的意思,但这里是一个简单的解决方案:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="vRep" select="'—'"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="translate(.,'-', $vRep)"/>
</xsl:template>
</xsl:stylesheet>
当这种转化是在任何XML文档应用,其结果是在其中任何'-'
由任何取代被指定为格洛巴的值相同的文档l参数$ vRep。
例如,当这个XML文档施加:
<a>
<b>Hi - hi</b>
- - -
<c>
<d>Wow... - cool</d>
</c>
- - -
</a>
结果是:
<a>
<b>Hi — hi</b>
— — —
<c><d>Wow... — cool</d></c>
— — —
</a>
说明:使用身份规则的,由模板重写匹配任何文本节点,并将其中的任何'-'
字符翻译为中包含的字符3210 - 通过使用标准的XPath函数translate()
。
使用简单的['translate()'](http://www.w3.org/TR/xpath/#function-translate)函数+1。 –
这看起来不错,但我似乎无法得到它的工作..它不是抛出一个错误,只是没有处理任何东西.. –
@Kirk Strobeck:这个转换,应用于** *任何*** XML文档,用'$ vRep'中指定的内容替换''-''。您可能试图将其与您的代码结合起来,这是您的问题。了解如何执行多遍转换。 –
- 1. XSLT选择文本没有孩子
- 2. XSLT选择所有包含文本的项目
- 3. XSLT选择的所有文本和特定节点
- 4. UISearchBar选择所有文本
- 5. 选择HTML文档的所有文本
- 6. 选择文件中的所有文本
- 7. iPhonehone:选择textview中的所有文本
- 8. 选择文本中的所有图案
- 9. 选择CSS中的所有文本框
- 10. 使用jQuery选择所有文本框
- 11. 选择所有文本在片段中
- 12. 选择悬停的所有文本?
- 13. 所有文本的jquery选择符以
- 14. 选择所有除了$(本)
- 15. iPad没有选择文本输入内的所有文本
- 16. jQuery选择器来选择所有类型的文本框
- 17. XSLT删除所有文本节点
- 18. XSLT:根据文本替换所有href
- 19. XSLT去除文本输出中的所有选项卡
- 20. XSLT仅选择带有循环中文本的节点
- 21. 如何选择monkeyrunner文本字段中的所有文本?
- 22. 如何使用Caliburn.Micro选择文本框中的所有文本?
- 23. 如何使用jQuery选择所有文本区和文本框?
- 24. 在调焦时选择文本框中的所有文本
- 25. XSLT:选择没有子树的所有元素
- 26. XSLT - 选择
- 27. 选择在XSLT
- 28. XSLT - xsl选择
- 29. XSLT:选择以
- 30. XSLT |选择/当
您需要一些测试数据来显示您试图匹配的内容。 – TheCodeKing
当然.. https://gist.github.com/1184890 –
而当你说文字?当然,你不是指整个文件?你只是指文本节点(保留结构)? – TheCodeKing