从父节点开始,我需要测试其中一个子节点的值,以便生成足够的输出。
我的XML文件看起来:
<Tables>
<Table>
<Multi_entity>SPECIFIC</Multi_entity>
<Table_name>CATEG</Table_name>
<Is_temporary>FALSE</Is_temporary>
<Tablespace>APSYS_LOCATION_1</Tablespace>
<Column>
<Column_name>CATEGI</Column_name>
<Position>1</Position>
<Type>Small</Type>
<Size>22</Size>
<Null>No</Null>
<Default>Yes</Default>
<Attribute>Precision=5</Attribute>
<Attribute>Scale=0</Attribute>
</Column>
<Column>
<Column_name>CATEGC</Column_name>
<Position>2</Position>
<Type>LongVarchar</Type>
<Size>1</Size>
<Null>No</Null>
<Default>Yes</Default>
<Attribute>Precision=0</Attribute>
<Attribute>Scale=0</Attribute>
</Column>
<Column>
<Column_name>CATEG_NAME</Column_name>
<Position>3</Position>
<Type>Varchar</Type>
<Size>23</Size>
<Null>No</Null>
<Default>Yes</Default>
<Attribute>Precision=0</Attribute>
<Attribute>Scale=0</Attribute>
</Column>
<Column>
<Column_name>CATEG_TYPE</Column_name>
<Position>4</Position>
<Type>Small</Type>
<Size>22</Size>
<Null>No</Null>
<Default>Yes</Default>
<Attribute>Precision=5</Attribute>
<Attribute>Scale=0</Attribute>
</Column>
</Table>
从“表”节点,我需要知道其中一个“列”是否具有“类型”值“LongVarchar”。
答案 0 :(得分:3)
确实
<xsl:template match="Table[Column/Type = 'LongVarchar']">
<!-- now transform or output as neeed -->
</xsl:template>
帮助?这匹配Table
Column
且Type
为LongVarchar
的任何{{1}}。
答案 1 :(得分:1)
我设法以一种非常容易的方式来解决我的问题,我对它的简单性感到非常惊讶:
<xsl:when test="Column/Type='LongVarchar'">
就是这样,它完美无缺。 感谢大家的帮助。