У меня проблемы с преобразованием XML.Вот мой xml:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<organisation>
<school>
<name>school of arts Berlin</name>
<address>123street</address>
</school>
</organisation>
<teachers>
<wo_number>34A</wo_number>
<publication>
<date>14-09-2018</date>
<name>J. doe</name>
</publication>
<teacher id="A254">
<situation>
<ill>yes</ill>
</situation>
<situation>
<ill>no</ill>
</situation>
<situation>
<ill>probable</ill>
</situation>
</teacher>
<teacher id="A254">
<situation>
<ill>yes</ill>
</situation>
<situation>
<ill>yes</ill>
</situation>
</teacher>
<teacher id="B254">
<situation>
<ill>probable</ill>
</situation>
</teacher>
<teacher id="X92">
<situation>
<ill>no</ill>
</situation>
<situation>
<ill>probable</ill>
</situation>
</teacher>
<teacher id="G56">
<situation>
<ill>probable</ill>
</situation>
<situation>
<ill>no</ill>
</situation>
</teacher>
<teacher id="G56">
<situation>
<ill>yes</ill>
</situation>
</teacher>
<teacher id="G56">
<situation>
<ill>probable</ill>
</situation>
</teacher>
</teachers>
</root>
Чего я пытаюсь достичь:
- Элемент учителя имеет идентификатор атрибута, если он начинается с «А2» И текстовое содержимоеэлемент ill в том же узле учителя равен "yes", узел ситуации должен быть удален.если в узле учителя не осталось узлов ситуации, узел учителя должен быть удален
- элемент учителя имеет идентификатор атрибута, если он начинается с "G5" И текстовое содержимое элемента недопустимо в том же учителеузел, равный «вероятному», узел ситуации должен быть удален.если в узле учителя не осталось узлов ситуации, узел учителя должен быть удален
, правильный результат должен быть следующим:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<organisation>
<school>
<name>school of arts Berlin</name>
<address>123street</address>
</school>
</organisation>
<teachers>
<wo_number>34A</wo_number>
<publication>
<date>14-09-2018</date>
<name>J. doe</name>
</publication>
<teacher id="A254">
<situation>
<ill>no</ill>
</situation>
<situation>
<ill>probable</ill>
</situation>
</teacher>
<teacher id="B254">
<situation>
<ill>probable</ill>
</situation>
</teacher>
<teacher id="X92">
<situation>
<ill>no</ill>
</situation>
<situation>
<ill>probable</ill>
</situation>
</teacher>
<teacher id="G56">
<situation>
<ill>no</ill>
</situation>
</teacher>
<teacher id="G56">
<situation>
<ill>yes</ill>
</situation>
</teacher>
</teachers>
</root>
, пока я не смогчтобы достичь этого.Мой xslt теперь:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="teacher[starts-with(@id,'A2') and situation/ill='yes']"/>
<xsl:template match="teacher[starts-with(@id,'G5') and situation/ill='probable']"/>
</xsl:stylesheet>
с таким результатом:
<root>
<organisation>
<school>
<name>school of arts Berlin</name>
<address>123street</address>
</school>
</organisation>
<teachers>
<wo_number>34A</wo_number>
<publication>
<date>14-09-2018</date>
<name>J. doe</name>
</publication>
<teacher id="B254">
<situation>
<ill>probable</ill>
</situation>
</teacher>
<teacher id="X92">
<situation>
<ill>no</ill>
</situation>
</teacher>
<teacher id="G56">
<situation>
<ill>yes</ill>
</situation>
</teacher>
</teachers>
</root>
Все узлы учителя с id="A254"
удалены, что неверно, и узлы учителя с id="G56"
удалены, чтотакже не правильно. Некоторая помощь будет высоко ценится.