在xslt模板中选择更高级别元素的值

时间:2011-09-02 13:50:43

标签: xml xslt xpath

说我有一个像这样的xml文件

<Cars>
   <Manufacturer name="Ford">
      <SomeOtherBitOfInfo>DenormaliseMe</SomeOtherBitOfInfo>
      <Model>Granada</Model>
      <Model>Cortina</Model>
      <Model>Capri</Model>

我有一个模板与模型元素匹配并复制它们,就像这样

<xsl:template match="Model">
   <xsl:element name="DenormalisedData"><xsl:value-of select="../SomeOtherBitOfInfo"/></xsl:element>
   <xsl:copy></xsl:copy>
</xsl:template>

为了获得SomeOtherBitOfInfo的值,我必须付出什么才能得到

<DenormalisedData>DenormaliseMe</DenormalisedData><Model>Granada</Model>
<DenormalisedData>DenormaliseMe</DenormalisedData><Model>Cortina</Model>
<DenormalisedData>DenormaliseMe</DenormalisedData><Model>Capri</Model>

因为旧的../语法似乎不起作用。

由于

1 个答案:

答案 0 :(得分:4)

<xsl:template match="Model">
    <DenormalisedData>
        <xsl:value-of select="../SomeOtherBitOfInfo"/>
    </DenormalisedData>
    <xsl:copy-of select="."/>
</xsl:template>