簡體   English   中英

如何在XSL select語句中使用變量?

[英]How to use a variable inside an XSL select statement?

我對XSL相當陌生,我想在XSL中使用變量$language

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="data">

    <xsl:value-of select="concat(//text-, $language)"/> 

  </xsl:template>

</xsl:stylesheet>

如何才能做到這一點?

這是我的XML:

<data>
  <params>
    <language>en</language>
  </params>

  <static>
    <entry id="1">
        <text-en>Hello</text-en>
    </entry>
    <entry id="2">
        <text-fr>Boujour</text-fr>
    </entry>
  </static>
</data>

謝謝你的幫助!

您應該更改輸入XML的結構,並在可能的情況下使用例如<text xml:lang="en">Hello</text> ,然后可以編寫<xsl:value-of select="//text[lang($language)]"/>

如果您不能更改輸入XML的結構,請使用<xsl:value-of select="//*[local-name() = concat('text-', $language)]"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM