XSLを使用してXMLの表示をフォーミュレーションする際に問題があります。XML/XSLTトランスフォームロジック/ステートメント/特定の行を隠す
<?xml version="1.0" encoding="ISO-8859-1"?>
<Send_Email>
<Send_Email_lookupID>HIDE_REJECT</Send_Email_lookupID>
<Error_Message>REJECT1</Error_Message>
<Error_Message>REJECT2</Error_Message>
<Error_Message>REJECT3</Error_Message>
</Send_Email>
とXSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Result</h2>
<table border="1">
<xsl:for-each select="/Send_Email">
<xsl:if test="not(/Send_Email_lookupID)">
<tr>
<td><xsl:value-of select="*"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
この行は常に静的であり、非表示にする必要があります。ラインの
<Send_Email_lookupID>HIDE_REJECT</Send_Email_lookupID>
次のセットを
私は、次のXMLを持っています毎回異なる場合がありますが、すべて表示する必要があります。
誰でもお手伝いできますか?
ありがとうございました。
アップデート - 正しい解決策
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Result</h2>
<table border="1">
<xsl:for-each select="Send_Email/*[local-name()!='Send_Email_lookupID']">
<tr>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
ノードの値に基づいて非表示にする場合は、を使用します。 –
Nat
それでも私のためにnullを返します。新しいXSLTを元の質問に投稿します。 – gp80586
申し訳ありません - タイプミス - 'select ="でなければなりません。 " - 私の答えは固定 – MiMo