Xslt 在xsl中添加属性问题
下面是我的输入xmlXslt 在xsl中添加属性问题,xslt,Xslt,下面是我的输入xml <ServiceIncident xmlns="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2"> <ProviderID>INC0011731</ProviderID> <ProviderPriority>4</ProviderPriority> <WorkflowS
<ServiceIncident xmlns="http://b2b.ibm.com/schema/IS_B2B_CDM/R2_2">
<ProviderID>INC0011731</ProviderID>
<ProviderPriority>4</ProviderPriority>
<WorkflowStatus>NEW</WorkflowStatus>
<ServiceProvider1>
<Person Role="AffectedUser">
<ContactID>ITELLA_BRIDGE_USER</ContactID>
<FullName>Chad Whaley</FullName>
</Person>
</ServiceProvider1>
INC0011731
4.
刚出现的
ITELLA_BRIDGE_用户
查德·惠利
下面是我的xsl代码iam正在使用,但iam没有获得所需的输出
<xsl:template match="r2:Person/@Role">
<xsl:attribute name="Role">ReportedBy</xsl:attribute>
</xsl:template>
报告人
我的问题是我想在serviceprovider根标记下的输出中获得一个以上的person Role=“ReportedBy”,并且person Role=“AffectedUser”不应替换为此值。此值也应存在于输出中。啊,我明白了。我最初误读了这个请求(或者在我第一次回复后就被编辑了) 因为XSLT是一种编程语言,所以有多种可能的答案,而您没有向我们提供足够的关于您的需求的信息来选择其中一种。这里有一个建议: 假设您的样式表基于标识转换,其中的转换会列出异常(编写大多数样式表的更好方法之一),请添加另一个修改的标识模板,以(a)匹配具有适当角色元素的人员,以及(b)在处理该元素后,插入另一个具有新信息的标识模板
<xsl:template match="r2:Person[@Role!='AffectedUser']">
<xsl:copy/>>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
<Person Role="ReportedBy"/>
</xsl:template>
>
在询问新问题之前,先阅读您最后一个问题()的评论和答案如何?这将替换现有的@Role属性-而不是按照OP的要求(不明智地,IMHO)添加另一个属性。啊,我明白他们在问什么了。更正。