Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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,我有以下XML文件: <?xml version="1.0"?> <Table69> </Table69> 为了阅读元素“Table69”的主体,我使用了以下XSL文件: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml"

我有以下XML文件:

<?xml version="1.0"?>
<Table69>
</Table69>

为了阅读元素“Table69”的主体,我使用了以下XSL文件:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml"/>
  <xsl:template match="/">    
    <xsl:variable name="table" >     
        <xsl:choose>
        <xsl:when test="normalize-space(.) != ''" >
           <xsl:value-of select="." />
        </xsl:when>
        <xsl:otherwise>
            <Exception>
                field was missing 
            </Exception>                 
        </xsl:otherwise>
        </xsl:choose>
    </xsl:variable>

    <Table id="69">
        <xsl:value-of select="$table" />
    </Table>

  </xsl:template>
</xsl:stylesheet>

那块地不见了
问题是:当xml文件包含Table69下的值时,该值开始成功打印,但是; 当此标记不包含值时,xsl vairalbe“表”应包含以下内容:

<Exception>
    field was missing 
</Exception>    

那块地不见了
但是,它不包括tage,下面是转换的示例结果:

<?xml version="1.0"?>
<Table id="69">
    field was missing       <!-- where's the Exception tag surrounding the text field was missing ??? -->
</Table>

那块地不见了

xsl:value of将打印所选内容的文本值,使用xsl:copy of输出包括任何节点在内的整个内容

<xsl:copy-of select="$table" />

xsl:value of将打印所选内容的文本值,使用xsl:copy of输出包括任何节点在内的整个内容

<xsl:copy-of select="$table" />

执行以下操作,而不是


那块地不见了
这将生成
XML元素。
如果文本周围需要换行符,请删除
标记。

执行以下操作,而不是


那块地不见了
这将生成
XML元素。
如果需要文本周围的换行符,请删除
标记。

不幸的是,的值仍将输出忽略节点的文本值。不幸的是,的值仍将输出忽略节点的文本值。