У меня есть файл XML с этой структурой:Как проверить, пуст ли текстовый узел?
<entry id="1">
<para>first paragraph</para>
<para>second paragraph</para>
</entry>
<entry id="2">
<para></para>
</entry>
Мой XSL должен сделать что-то, если он находит запись содержит первый элемент, текстовый узел пуст (запись ID = «2» в примере). Я пробовал:
<xsl:when test="(entry/para[1]/text()='')">
но это не работает.
Подобный фрагмент кода, чтобы прочитать атрибут элемента делает работу:
<xsl:when test="entry[1]/para[@stylename = 'Table Heading']">
Так что я делаю что-то неправильно с текстом() = «» выбора. Поиск предполагает, что я должен использовать [not (text())], но я не могу понять, как интегрировать это в свой код.
Да, за исключением того, что тест должен быть истинным тогда и только тогда «он находит запись [что] имеет ** первый ** элемент с текстовым узлом ... ". BTW, поздравляет с тем, что имеет 1000 пп. – LarsH
@LarsH Не заметил 1000π! Псих ;-). Спасибо за подсказку, я отредактирую ответ. –
Быстро, кто-то занижал некоторые из моих ответов, я превысил 1000 п;) –