Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么<;xsl:select的值=";1“/&燃气轮机;返回1?_Java_Xml_Xslt_Xpath - Fatal编程技术网

Java 为什么<;xsl:select的值=";1“/&燃气轮机;返回1?

Java 为什么<;xsl:select的值=";1“/&燃气轮机;返回1?,java,xml,xslt,xpath,Java,Xml,Xslt,Xpath,我正在使用XSLT样式表将XML转换为HTML。tansformation引擎由(版本2.7.0)提供。将Sax解析器配置为使用 如果 用于转换 <element> <hello>Hello World</hello> </element> 你好,世界 输出 一, 根据xsl:value-of-Tag,根据给定的XPath表达式提取选定节点的值 虽然没有节点1,但为什么输出为1 这个简单的转换是如何工作的 指令返回计算其sele

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

如果


用于转换

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

你好,世界
输出

一,

根据xsl:value-of-Tag,根据给定的XPath表达式提取选定节点的值

  • 虽然没有节点1,但为什么输出为1
  • 这个简单的转换是如何工作的
指令返回计算其
select
属性中包含的表达式的结果(将结果转换为字符串后)


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

所以xpath引擎不解析xml?我不确定我是否理解您的问题。XPath是一种语言,而不是引擎。XPath查看XML树(在解析之后),并提供处理XML树特定部分的方法。我要说的是处理XPath表达式的库。让我更准确地问这个问题。xpath处理库是否解析xml(如果是xpath表达式“1”)。如果您谈论的是XSLT处理器,那么它在解析xml树后也会在xml树上工作。但我还是不明白这和你原来的问题有什么联系。处理器知道
123
是一个数字,因为它符合数字的定义。以同样的方式,它知道
+
是一个操作符,
root
是一个节点。
<element>
    <hello>Hello World</hello>
</element>