在XSL样式表中使用WHERE?

时间:2014-01-10 13:54:42

标签: xml xslt

这是我们的XML:

<Mediendaten>
  <Mediendaten mmid="24990">
    <type>Sommer</type>
    <url size="pic800x">...</url>
    <url size="ltoTeaserBoxImage">...</url>
  </Mediendaten>
  <Mediendaten mmid="202925">
    <type>Sommer</type>    
    <url size="pic800x">...</url>
    <url size="ltoTeaserBoxImage">...</url>
  <Mediendaten mmid="32589">
    <type>Winter</type>
    <url size="pic800x">...</url>
    <url size="ltoTeaserBoxImage">...</url>
  </Mediendaten>
  <Mediendaten mmid="66325214">
    <type>Winter</type>    
    <url size="pic800x">...</url>
    <url size="ltoTeaserBoxImage">...</url>
  </Mediendaten>
</Mediendaten>

在这里我们的XSL:

<xsl:template match="/Mediendaten">
    <xsl:apply-templates select="Mediendaten[@mmid][1]/url">
    </xsl:apply-templates>
</xsl:template>

<xsl:template match="Mediendaten/url[@size = 'ltoTeaserBoxImage']">
    <xsl:variable name="url_bilder">
        <xsl:value-of select="."></xsl:value-of>
    </xsl:variable>
</xsl:template>

我们如何让我们的样式表只选择type=winter@size=ltoTeaserBoxImage的第一个Mediadaten?

非常感谢您的任何帮助!

1 个答案:

答案 0 :(得分:1)

你正在寻找的表达是......

<xsl:apply-templates select="Mediendaten[type='Winter'][url[@size = 'ltoTeaserBoxImage']][1]" />

这也可行

<xsl:apply-templates select="Mediendaten[type='Winter'][url/@size = 'ltoTeaserBoxImage'][1]" />