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
Xml 避免自动关闭标记-Biztalk信封架构_Xml_Xslt_Biztalk - Fatal编程技术网

Xml 避免自动关闭标记-Biztalk信封架构

Xml 避免自动关闭标记-Biztalk信封架构,xml,xslt,biztalk,Xml,Xslt,Biztalk,在我的XSLT调用模板下面,我希望避免在值为空时使用自动关闭标记 如果没有值,则错误标记的输出为: <ns0:Error /> 然而,我想得到的输出为 <ns0:Error></ns0:Error> 您可以选择将输出方法更改为“html”,这将防止自动关闭标记: <xsl:output method="html" indent="yes" /> 如果这不是一个选项,因为输出不是html,我假设它不是来自您的示例,那么您可能希望通过

在我的XSLT调用模板下面,我希望避免在值为空时使用自动关闭标记

如果没有值,则错误标记的输出为:

<ns0:Error />

然而,我想得到的输出为

<ns0:Error></ns0:Error>  

您可以选择将输出方法更改为“html”,这将防止自动关闭标记:

<xsl:output method="html" indent="yes" />

如果这不是一个选项,因为输出不是html,我假设它不是来自您的示例,那么您可能希望通过向元素中添加空白内容来欺骗XSLT

<xsl:variable name="blank" select="''"/>
<xsl:template match="@* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()" />
    <xsl:value-of select="$blank"/>
  </xsl:copy>
</xsl:template>


更正我的问题:我希望避免在值为空时使用自动关闭标记。如果没有值,则错误标记的输出为:但是,我希望获得输出,因为您的更正不清楚:是否希望输出元素具有空格字符而不是空字符?这是作为BizTalk映射中的内联调用模板脚本functoid完成的,还是完全在自定义XSLT中完成的?另外,您是否可以提供更多的信息来说明为什么有这个要求?这可能适用于某些处理器(例如libxslt),但不适用于其他处理器(Xalan、Saxon)。