2017-09-13 56 views
0

我有一個需求,我只需要在xslt中選擇條件時使用。需要在xslt中選擇每個使用

Input:`<input>baz</input> 
<input>haz</input> 
<input>nan</input>` 

XSLT:

`<xsl:choose> 
<xsl:for-each select="input"> 
<xsl:when test="input='haz'"> 
<output>true</output> 
</xsl:when> 
</xsl:for-each> 
<xsl:otherwise> 
<output>false</output> 
</xsl:otherwise>` 

任何幫助非常感謝。

+0

沒有,只有它,必須爲。 Sry的可以有他們中的任何一個。 – Gnaneshwar

+0

您不需要使用特定的編碼結構。您有要求從特定輸入產生特定輸出。告訴我們有關輸入和所需輸出的信息,我們會告訴您需要編寫哪些代碼。 –

回答

1

給定一個合式輸入如:

XML

<root> 
    <input>baz</input> 
    <input>haz</input> 
    <input>nan</input> 
</root> 

以下樣式表:

XSLT 1.0

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

<xsl:template match="/root"> 
    <output> 
     <xsl:choose> 
      <xsl:when test="input='haz'">true</xsl:when> 
      <xsl:otherwise>false</xsl:otherwise> 
     </xsl:choose> 
    </output> 
</xsl:template> 

</xsl:stylesheet> 

將返回:

<?xml version="1.0" encoding="UTF-8"?> 
<output>true</output> 

附:

如果你願意,你可以縮短樣式表只是:

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

<xsl:template match="/root"> 
    <output> 
     <xsl:value-of select="input='haz'"/> 
    </output> 
</xsl:template> 

</xsl:stylesheet>