簡體   English   中英

如果定義中不存在某些XML元素,如何跳過某些XSLT元素?

[英]How to skip some XSLT elements if some XML element does not exist in the definition?

我有XML

<?xml version="1.0"?>
<data>
<element>
 <A>192.168.188.100</A>
 <B>/shelf=1</B>
 <C></C>
</element>
<element>
 <A>192.168.188.100</A>
 <B>/slot=1</B>
</element>
<element>
 <A>192.168.188.23</A>
 <B>/port=client:1:3:1-2</B>
</element>
</data>

我有可以使用的XSLT映射:

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

<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="/"> 
    <max:SyncCIDW>
    <max:CIDWSet>
    <xsl:apply-templates select="data/element" />
    </max:CIDWSet>
    </max:SyncCIDW>
</xsl:template> 

  <xsl:template match="element"> 
    <max:CI>
        <max:CINUM><xsl:value-of select="A"/></max:CINUM>
    </max:CI>
  </xsl:template>

</xsl:stylesheet>

但是現在我只想處理定義中具有元素C那些元素。 那么C元素可能有值,而只有C ELEMENT應該被處理?

因此,基本上我在此示例中的輸出結果中應該只有1個元素。

謝謝

<xsl:apply-templates select="data/element" />更改為<xsl:apply-templates select="data/element[C]" />

暫無
暫無

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

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