我需要将GeneralErrorMessage设置为" Success"如果失败子节点数为0,则通过XSLT在以下XML中。请帮助我使用XSLT片段。
<DeleteResponse xmlns="http://schemas.xyz.com/xyzEnterprise/Services/ProjectService3/2012/08">
<DeleteResult xmlns:a="http://schemas.xyz.com/xyzEnterprise/OpenSuite/OpenSuiteResult/2010/01/01" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Failures xmlns:b="http://schemas.xyz.com/xyzEnterprise/OpenSuite/OpenSuiteStatus/2010/01/01" i:nil="true"/>
<a:GeneralErrorMessage i:nil="true"/>
<a:Successes xmlns:b="http://schemas.xyz.com/xyzEnterprise/OpenSuite/OpenSuiteStatus/2010/01/01">
<b:OpenSuiteStatus xmlns:c="http://schemas.xyz.com/xyzEnterprise/OpenSuite/ProjectStatus/2012/08" i:type="c:ProjectStatus2">
<b:Code i:nil="true"/>
<b:ErrorMessage i:nil="true"/>
<b:SourceIndex>0</b:SourceIndex>
<c:Dto xmlns:d="http://schemas.xyz.com/xyzEnterprise/OpenSuite/Dtos/ProjectDto2/2012/08">
<d:ActualFinishDate i:nil="true"/>
<d:ActualStartDate i:nil="true"/>
<d:CalendarKey i:nil="true"/>
<d:Description i:nil="true"/>
<d:Duration i:nil="true"/>
<d:EnterProgress i:nil="true"/>
<d:EntryDate i:nil="true"/>
<d:FatherKey i:nil="true"/>
<d:IsMilestone i:nil="true"/>
<d:IsTicketable i:nil="true"/>
<d:Key>key://2/$Plan/13795</d:Key>
<d:LifecycleAdminUserKey i:nil="true"/>
<d:Notes i:nil="true"/>
<d:PercentComplete i:nil="true"/>
<d:Place i:nil="true"/>
<d:ScheduleFinishDate i:nil="true"/>
<d:ScheduleStartDate i:nil="true"/>
<d:WorkId i:nil="true"/>
<d:WorkStatusKey i:nil="true"/>
</c:Dto>
</b:OpenSuiteStatus>
</a:Successes>
<a:Warnings xmlns:b="http://schemas.xyz.com/xyzEnterprise/OpenSuite/OpenSuiteStatus/2010/01/01" i:nil="true"/>
</DeleteResult>
</DeleteResponse>
答案 0 :(得分:1)
编写包含标识模板规则的样式表以默认复制元素,然后添加规则
<xsl:template match="a:GeneralErrorMessage[count(//a:Failures/*)=0]">
<xsl:copy>Success</xsl:copy>
</xsl:template>