Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
XSLT选定值数据类型_Xslt - Fatal编程技术网

XSLT选定值数据类型

XSLT选定值数据类型,xslt,Xslt,如何检查XSLT中所选值的类型。我正在尝试根据和XSD验证我的XML,如果值if是实类型,那么我将添加节点,XSLT 2.0允许您根据模式验证元素(包括新构造的元素) <xsl:import-schema namespace="abc.xyz" schema-location="file://temp.xsd"/> <xsl:template ...> <xsl:element name="x" validation="strict"> ..

如何检查XSLT中所选值的类型。我正在尝试根据和XSD验证我的XML,如果值if是实类型,那么我将添加节点,XSLT 2.0允许您根据模式验证元素(包括新构造的元素)

<xsl:import-schema namespace="abc.xyz" schema-location="file://temp.xsd"/>

<xsl:template ...>
   <xsl:element name="x" validation="strict">
     ...
   </xsl:element>
</xsl:template>

...
不幸的是,如果错误无效,就无法捕捉到它。但是,Saxon为此提供了一个try/catch扩展

如何在XSLT中检查所选值的类型

XSLT 2.0模式感知(SA)处理器可以根据模式验证源XML文件、输出结果文件、中间树、参数和变量值、函数返回值或应用/调用模板返回值

XSLT1.0使用XPath1.0,XPath1.0不是强类型,只有少数标准类型

我试图根据和XSD验证我的XML,如果值if为 如果是实数类型,那么我将添加节点

这比根据模式进行验证要容易得多

在(XSLT 2.0)中使用

$yourVar instance of xs:double
number($yourVar) = number($yourVar)
在XPath 1.0(XSLT 1.0)中使用

$yourVar instance of xs:double
number($yourVar) = number($yourVar)
“实型”是指“正确型”还是“浮点数字型”