Инструкция if
Иногда возникает необходимость поместить в выходной документ некоторый текст, если задан какой-либо xml-элемент (или его атрибут), либо другой текст, если этот элемент (или атрибут) отсутствует. В таких случаях можно использовать элемент xsl:if. Я продемонстрирую вам как это делается (этот пример взят из моих наработок в проекте TLDP-ES). Если вам известно, что некий исходный документ был преобразован в формат PDF, PS или HTML, то это обстоятельство можно отразить в xml-файле, т.е. если был создан PDF-файл, то в выходной html-файл вставляется ссылка на него:
<xsl:if test="format/@pdf = 'yes'"> <a href="{$doc_path}/{$doc_subpath}/{$doc_subpath}.pdf">PDF</a> </xsl:if>
Если атрибуту pdf документа присвоено значение "yes", как показано в примере:
<document> <title>Bellatrix Library and Semantic Web</title> <author>Daniel Guerrero</author> <module>bellatrix</module> <format pdf="yes" ps="yes" html="yes"/> </document>
То в выходной html-файл будет вставлена ссылка на документ в PDF-формате. Если атрибуту присвоено значение "no" или любое другое, допустимое вашим преобразованием, значение, то ссылка не будет вставлена. Все вышесказанное вы можете увидеть в xsl и xml документах: