Выберите значение элемента более высокого уровня в шаблоне xslt - PullRequest
2 голосов
/ 02 сентября 2011

Скажем, у меня есть 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 Ответ

4 голосов
/ 02 сентября 2011
<xsl:template match="Model">
    <DenormalisedData>
        <xsl:value-of select="../SomeOtherBitOfInfo"/>
    </DenormalisedData>
    <xsl:copy-of select="."/>
</xsl:template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...