下面是输入XML。
<ServiceIncident xmlns="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2">
<Problem>
<Ticket>
<UrgencyCode>3</UrgencyCode>
<ImpactCode>2</ImpactCode>
</Ticket>
</Problem>
</ServiceIncident>
我使用下面的xsl.My问题是我需要在每个x路径表达式中使用前缀r2和根元素serviceincident所以我应用模板匹配,以便没有重复这个标记,但如果没有输出,如果我应用模板匹配。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:r2="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="r2:ServiceIncident"/>
</xsl:template>
<xsl:template match="r2:ServiceIncident">
<custom2>
<xsl:value-of select="r2:ServiceIncident/r2:Problem/r2:Ticket/r2:ImpactCode"/>
</custom2>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:3)
在模板内部,您需要使用相对于匹配节点的路径,以便
<xsl:template match="r2:ServiceIncident">
<custom2>
<xsl:value-of select="r2:Problem/r2:Ticket/r2:ImpactCode"/>
</custom2>
</xsl:template>
可能就是你想要的。