XSLT проверка в том же родительском - PullRequest
1 голос
/ 31 марта 2010

У меня есть такой XML

<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 проверить, если info / name / text () = image, тогда будет отображаться info / name / value ()?

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

Ответы [ 3 ]

3 голосов
/ 31 марта 2010

Вы, похоже, визуализируете 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>
1 голос
/ 31 марта 2010

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

0 голосов
/ 31 марта 2010

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...