我正在努力学习xslt,但是没有一个好的教程,我可以在这里找到所有的信息。
请帮帮我这里..。
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute namespace="{namespace-uri()}" name="{name()}"/>
</xsl:template>这是我在stackOverFlow上找到的一些代码,但我不明白,究竟是什么表达式“@颇具节点()”、"@“、”{命名空间-uri()}“、"name()”
means...help我.
发布于 2009-12-02 17:37:06
首先,我要指出,您可以在XPath规范中找到这个和更多。
简短的版本是,@前缀表示属性节点(通常是元素和文本节点),*或多或少表示“任意名称”(因此*与所有元素和@*所有属性匹配),node()匹配任何元素或文本节点,|是“连接”或“联合”运算符(因此@*|node()匹配所有元素、文本和属性节点)。
接下来,namespace-uri()返回“上下文节点”命名空间的完整URI (以OO术语表示"this“),name()返回当前节点的名称,并带有适当的命名空间前缀(注意前缀来自XSLT文件,而不是XML文件,如果它们不同)。
最后,{...}是一种在属性值中包含XPath表达式的方法,在属性值中通常不允许它们。您通常会在像<a href="{link/url}">这样的构造中看到它们。
我意识到这可能是一本很厚的读物。希望这能帮上忙。:-)
发布于 2009-12-03 19:30:25
我通常使用Zvon教程和参考资料,它们有非常全面的例子:
http://www.zvon.org/
对于XSLT:
http://www.zvon.org/xxl/XSLTutorial/Output/index.html
https://stackoverflow.com/questions/1834488
复制相似问题