2010-03-30 3 views
1

У меня есть XML, как этотпроверка XSLT в том же родителю

<root> 
<name>Smith</name> 
<info> 
    <name>image</name> 
    <value>smith.jpg</value> 
</info> 
<info> 
    <name>birth</name> 
    <value>2000-10-10</value> 
</info> 
<info> 
    <name>moreinfo</name> 
    <value>something1</value> 
</info> 
<info> 
    <name>moreinfo2</name> 
    <value>something2</value> 
</info> 
</root> 

как XSLT, чтобы проверить, если информация/имя/текст() = изображение, то оно будет отображаться информация/имя/значение()?

<div> 
<xsl:value-of select="root/name" /> 
birth: xxxx 
</div> 

ответ

1

Ну, может быть, вы имели в виду что-то вроде info[name='image']/value, но я не совсем уверен ...

0

?

<xsl:template match="/"> 
    <xsl:for-each select="root/info"> 
     <xsl:if test="name = 'image'"> 
     <xsl:value-of select="value"/> 
     </xsl:if> 
    </xsl:for-each> 
</xsl:template> 
3

Вы, кажется, рендеринга HTML, поэтому мой пример оказывает значение изображения в качестве img элемента. Это использует шаблон значения атрибута , который является выражением в атрибуте.

<div> 
    <xsl:value-of select="root/name" /> 
    birth: <xsl:value-of select="root/info[name='birth']/value" /> 
    <img src="{root/info[name='image']/value}"/> 
</div> 
Смежные вопросы