java - 为什么<xsl :value-of select ="1"/> returns 1?

标签 java xml xslt xpath

我正在使用 XSLT 样式表将 XML 转换为 HTML。转换引擎由Apache Xalan提供(2.7.0 版)。配置使用 Sax 解析器。

如果

<xsl:value-of select="1"/>

用于变换

<element>
    <hello>Hello World</hello>
</element>

输出

1

根据https://www.w3schools.com/xml/xsl_value_of.asp xsl:value-of-Tag 根据给定的 XPath 表达式提取所选节点的值。

  • 没有节点1,为什么输出却是1?
  • 这个简单的转换是如何进行的?

最佳答案

xsl:value-of指令返回计算其 select 属性中包含的表达式的结果(将结果转换为字符串后)。

XPath expression可以包含数字、字符串文字、对节点或变量的引用、函数调用和运算符。表达式 1 的计算结果为数字 1。不能有名称为 1 的节点(元素名称不能以数字开头)。

关于java - 为什么<xsl :value-of select ="1"/> returns 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45078823/

相关文章:

java - Android 静态引用强吗

java - 如何将 Observable.fromCallable() 与已检查的异常一起使用?

java - 如何在Eclipse中将所有字体设置为粗体?

xml - 匹配 XSLT 上的属性而不是匹配整个元素

css - 使用外部 XSL 样式表呈现本地下载的 XML 文件的回退策略

java - 通过 xalan/java 通过 xsl/xslt 转换我的 xml 时出现 xslt 错误 : Extra illegal tokens: 'eq' , '' center''

java - 我如何测试是否抛出了 ClassNotFoundException?

python - 在 Python 中使用 XPath 和 LXML

c++ - Qt C++ XML 意外字符

c# - 基于 XSD 变化的动态 XSLT 生成