<To>
<Id>SERVICE</Id>
<Role>Commuter</Role>
</To>
<BPD>
<OrgNo>234</OrgNo>
</BPD>
<BON>123</BON>
У меня есть этот входной XML, в котором я хочу проверить, содержит ли //To/Id
SERVICE или нет. Если он содержит СЕРВИС, то после <BPD>
необходимо добавить элемент, называя <BON>SERVICE</BON>
. Также я хочу проверить, содержит ли мой входной XML <BON>
элемент, тогда его значение должно быть заменено на SERVICE, которое находится в элементе <Id>
.Коррекция шаблона в XSLT
Я создал шаблон для этого ->
<xsl:template match="BPD">
<xsl:choose>
<xsl:when test="not(BON) and normalize-space(/To[Role='Commuter']/Id)='SERVICE'">
<BON>
<xsl:text>SERVICE</xsl:text>
</BON>
</xsl:when>
<xsl:when test="normalize-space(BON) and normalize-space(/To[Role='Commuter']/Id)='SERVICE'">
<BON>
<xsl:text>SERVICE</xsl:text>
</BON>
</xsl:when>
</xsl:choose>
</xsl:template>
Этот шаблон проверки существует ли или нет. Если он не существует, он создает <BON>
элемент и добавляет к нему значение «SERVICE». И если существует, то он создает еще один элемент, который не требуется. Мне нужно исправить мою вторую ситуацию.
Вы пытаетесь заменить существующие ng '' или добавить к нему? –
Оба варианта. 1) IF не существует, затем добавьте его, и значение должно быть SERVICE. 2) IF существует, тогда его значение должно быть заменено SERVICE. –
Kundan