2016-01-27 7 views
1
<table tableName="Something"> 
    <item table="Something"> 
     <column columnName="SomeID">someValue</column> 

Привет всем - вышеописанная структура моего XML-источника.XSLT - как печатать значение через переменную?

Я хочу создать переменную XSLT, которая печатает «SomeValue» из «SomeID» при использовании

Я не могу понять правильный синтаксис XPath, чтобы это произошло. Мне нужно это для печати значений и кондиционирования. Условие должно проверить, является ли «SomeID» не пустым - как бы это сделать?

Надеюсь, кто-то сможет помочь.

Большое спасибо.

ответ

0

Если я понять правильно, что вы пытаетесь сделать, создать переменную

<xsl:variable name="SomeIDValue" select="//column[@columnName='SomeID']"/> 

Затем, вы можете вывести его

<xsl:value-of select="$SomeIDValue"/> 

И испытание, если оно не пусто по

<xsl:if test="$SomeIDValue != ''"><!-- What to do --></xsl:if> 

Например, с example.xml, как

<table tableName="Something"> 
    <item table="Something"> 
     <column columnName="SomeID">someValue</column> 
     <column columnName="SomeID2"/> 
    </item> 
</table> 

и Example.xsl, как

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 

    <xsl:variable name="SomeIDValue" select="//column[@columnName='SomeID']"/> 
    <xsl:variable name="SomeIDValue2" select="//column[@columnName='SomeID2']"/> 

    <xsl:template match="/"> 
     <xsl:if test="$SomeIDValue != ''">SomeID is not empty and is equal to '<xsl:value-of select="$SomeIDValue"/>'.</xsl:if> 
     <xsl:if test="$SomeIDValue2 != ''">SomeID2 is not empty and is equal to '<xsl:value-of select="$SomeIDValue2"/>'.</xsl:if> 
    </xsl:template> 

</xsl:stylesheet> 

Преобразование XML с помощью XSL приведет к выходу

SomeID is not empty and is equal to 'someValue'. 
Смежные вопросы