2016-12-20 6 views
0

SAP IDOCを人間が読めるXML形式に変換しています。XSLT - 値が "000000"の場合はタグを表示しない

私は、これは、それがソースXML文書内に存在しないVFDATとEAN11を非表示に以下のXML出力を取得する空の値(CHARG、VFDAT)

<Product> 
     <OrderLineNo><xsl:value-of select="VGPOS"/></OrderLineNo> 
     <ProductDescription><xsl:value-of select="ARKTX"/></ProductDescription> 
     <ProductCode><xsl:value-of select="MATNR"/></ProductCode> 
     <xsl:if test="EAN11"> 
      <Barcode><xsl:value-of select="EAN11"/></Barcode> 
     </xsl:if> 
     <QuantityDelivered><xsl:value-of select="LFIMG"/></QuantityDelivered> 
     <SalesUnit><xsl:value-of select="VRKME"/></SalesUnit> 
     <xsl:if test="CHARG"> 
      <Batch><xsl:value-of select="CHARG"/></Batch> 
     </xsl:if> 
     <xsl:if test="VFDAT"> 
      <ExpiryDate><xsl:value-of select="VFDAT"/></ExpiryDate> 
     </xsl:if> 
    </Product> 

を隠し以下XSLTを有します。

私も、私はこれをどのように行うだろう< 1.

値際VFDATを非表示にしたい

<Product> 
<OrderLineNo>000010</OrderLineNo> 
<ProductDescription>BARBER'S CATALOGUE</ProductDescription> 
<ProductCode>000000000030199850</ProductCode> 
<QuantityDelivered>20.000</QuantityDelivered> 
<SalesUnit>EA</SalesUnit> 
<ExpiryDate>00000000</ExpiryDate> 
</Product> 

ありがとうございます。

答えて

1

あなたがして、次のXSLT 2.0を使用している場合は、XSLT 1.0、

<xsl:if test="VFDAT &gt; 0"> 
    <ExpiryDate><xsl:value-of select="VFDAT"/></ExpiryDate> 
</xsl:if> 

または

<xsl:if test="VFDAT > 0"> 
    <ExpiryDate><xsl:value-of select="VFDAT"/></ExpiryDate> 
</xsl:if> 
+0

あなたの場合は

<xsl:if test="VFDAT gt 0"> <ExpiryDate><xsl:value-of select="VFDAT"/></ExpiryDate> </xsl:if> 

、動作するはず

、としてそれをやって試してみてください元の答えは、編集の前に働いた。 –

+0

@ Jackulusはxslt 1.0または2.0を使用していますか?私の答えを更新しました。それが役に立ったら受け入れてください:) – ScanQR

+0

VFDAT> 0が私のために働くようですが、私は追加のテストをします。ありがとうございました! –

関連する問題