Мне нужно проверить, имеет ли элемент заказа атрибут узла, который имеет дочернее имя «имя» с текстом SERIAL и дочерним узлом «значение», которое является пустым.XSLT: Как проверить, имеет ли дочерний узел определенный элемент имени и пустой элемент значения?
Образец ввода № 1: Нет Серийное число.
<orders>
<order>
<attributes>
<attribute>
<name>SERIAL</name>
<value></value>
</attribute>
<attribute>
<name>BATCH</name>
<value>Batch1</value>
</attribute>
</attributes>
</order>
</orders>
Выход для # 1: Нет серийный номер
<externalorder>
<batchnumbers>
<batch>Batch1</batch>
<batchnumbers>
</externalorder>
Пример ввода # 2: С серийным номером, но без номера партии
<orders>
<order>
<attributes>
<attribute>
<name>SERIAL</name>
<value>1</value>
</attribute>
<attribute>
<name>SERIAL</name>
<value>2</value>
</attribute>
<attribute>
<name>BATCH</name>
<value></value>
</attribute>
</attributes>
</order>
</orders>
выход для # 2
<externalorder>
<serialnumbers>
<serialnumber>1</serialnumber>
<serialnumber>2</serialnumber>
<serialnumbers>
</externalorder>
Пожалуйста расширить свой вопрос, чтобы включить контекст (который является «я» в «У меня есть атрибут») и цель (то, что вы хотите делать, если в противном случае /). Здесь также может быть важна версия, использующая -XSLT 1.0 или 2.0. –
Теперь ясно? – Lance
Едва ли; эти два варианта не являются взаимоисключающими и исчерпывающими. Во всяком случае, не отвечает ли ответ Дэном Фил? –