[英]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.