Я очень плохо знаком с XSL и у меня возникли некоторые проблемы.
Используемый мной XML имеет несколько тегов, таких как <Example/>
.
в моем XSL (вывод HTML) я использовал что-то подобное для тегов без данных:
<xsl:if test="count(ContractNr) > 0">
<td>Nr:</td>
<td><xsl:value-of select="ContractNr"/></td>
</xsl:if>
Отлично работает, когда нет тега.
но как мне сделать <xsl:if>
для чего-то вроде <ContractNumber/>
?
Тай, и прости за мой английский.
ОБНОВЛЕНИЕ : редактировал мой 1 пост, извините ... я имел в виду, что мой пример работает, когда тестируемый тег отсутствует в xml, но как мне проверить, является ли тег "пустым" как или
Ты, Treemonkey, но я не уверен, что это решение, которое я ищу.
Я постараюсь объяснить лучше.
во входном файле xml есть много тегов, которые являются "необязательными" или "minOccurs =" 0 "" (согласно схеме). используя xsl, я пытаюсь сделать вывод html с таблицей, в которой я использую <xsl:if>
, чтобы определить, присутствует ли тег в xml или нет (нет тега = нет столбца).
Я даю статические имена столбцам моей таблицы html (данные в xml нельзя использовать для именования) и помещаю туда данные из xml. Теперь, когда тег равен <smthng/>
, я все еще получаю столбец с заданным статическим именем - и это проблема. Я хотел бы сделать xsl:if
, чтобы при наличии <smthng/>
столбец не создавался:
<table>
<tr><xsl:if ...>
<td>Some name:</td>
<td><xsl:value-of select="smthng"/></td></xsl:if>
</tr>
</table>