Xslt 如何在变量体中定义标记
我有以下XML文件: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 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元素。
如果需要文本周围的换行符,请删除
标记。不幸的是,的值仍将输出忽略节点的文本值。不幸的是,的值仍将输出忽略节点的文本值。