私のXMLここでXSLテスト子要素
<SESSION MAPPINGNAME ="example_mapping_name" DESCRIPTION ="here is some data">
<SESSTRANSFORMATIONINST TRANSFORMATIONNAME ="name1" TRANSFORMATIONTYPE ="Target Definition">
</SESSTRANSFORMATIONINST>
<SESSTRANSFORMATIONINST TRANSFORMATIONNAME ="name2" TRANSFORMATIONTYPE ="Source Definition">
</SESSTRANSFORMATIONINST>
<SESSTRANSFORMATIONINST TRANSFORMATIONNAME ="name3" TRANSFORMATIONTYPE ="Lookup Procedure">
</SESSTRANSFORMATIONINST>
は私のXSL
<xsl:template match="SESSION">
<xsl:value-of select="SESSTRANSFORMATIONINST[count(@TRANSFORMATIONTYPE !='Lookup Procedure')]" />
<tr>
<td class="mapping"><xsl:value-of select="@MAPPINGNAME" /> (<xsl:value-of select="@DESCRIPTION" />)</td>
<td class="source-definition"><xsl:apply-templates select="SESSTRANSFORMATIONINST[@TRANSFORMATIONTYPE = 'Source Definition']"/></td>
<td class="source-tables"><xsl:apply-templates select="SESSTRANSFORMATIONINST[@TRANSFORMATIONTYPE = 'Source Qualifier']/ATTRIBUTE[@NAME = 'Sql Query']" /> </td>
<td><xsl:apply-templates select="SESSIONEXTENSION[@TRANSFORMATIONTYPE = 'Target Definition']" /></td>
<td><xsl:value-of select="ATTRIBUTE[@NAME = 'Parameter Filename']/@VALUE" /></td>
</tr>
</xsl:template>
です私はXMLからいくつかの詳細を残してきたが、うまくいけば、あなたはそれがどのように見えるかのアイデアを得ることができます。セッション(およびSESSTRANSFORMATIONINSTの他の属性)からマッピング名を取得しようとしていますが、SESSIONには検索手順のSESSTRANSFORMATIONINST TRANSFORMATIONTYPEが含まれていない場合に限ります。
私は多分アプローチのカウントを使用すると良いかもしれないと思った。これは、TRANSFORMATIONTYPEにLookup Procedureが表示される回数をカウントし、0より大きい場合はデータを取得しません。
私はXSLにはかなり新しいので、これがどのようにコード化されるのかはわかりません。どんな助けでも感謝します、ありがとう。
ようこそスタックオーバーフロー! XSLTに関する質問をするときに最も役に立つ答えを得るためには、以下のものを提供できるのが通常です:(1)入力XMLのサンプル(大きければ関連する部分に縮小されます)(2) (3)(1)に(2)を適用した場合の望ましい出力。 – JLRishe