2017-07-09 50 views
3

我上一個項目,我需要有格式化的空XML標記如下<xyz></xyz>,而不是自閉標籤<xyz/>工作,雖然兩者都是平等看起來客戶的實施是有缺陷的。它接受空標籤並拒絕自閉標籤。如何改變自我關閉標籤XML到的空標籤XML對WSO2集成

我正在使用WSO2 Integrator,但它強制將所有空標記格式化爲自閉標記。有沒有辦法將它重新格式化爲空標籤?

+0

自閉合式標籤是像,但不喜歡 simar

+0

根據XML規範兩種變型是相等https://www.w3.org/ TR/REC-xml /#dt-empty – simar

回答

0

嘗試使用XSLT中介。這些可能工作。

<!-- Define a dummy variable with empty content --> 
<xsl:variable name="empty" select="''"/> 

<!-- Copy input to output, most of the time --> 
<xsl:template match="@* | node()"> 
    <xsl:copy> 
     <xsl:apply-templates select="@* | node()" /> 
<!-- Insert empty content into copied element --> 
     <xsl:value-of select="$empty"/> 
    </xsl:copy> 
</xsl:template> 

<!-- Identity template for empty elements --> 
<xsl:template match="*[not(node())]"> 
    <xsl:copy> 
     <xsl:apply-templates select="@* | node()" /> 
     <xsl:value-of select="$empty"/> 
    </xsl:copy> 
</xsl:template> 

價:https://stackoverflow.com/a/5033301/805563

+0

不幸的是,這在WSO2上不起作用...仍然覆蓋它並用自閉標籤替換它。 –