Я пытаюсь сделать XSLT-трансформацию для исхода xml. Я следовал за учебником, но я не знаю, что я делаю неправильно.
Файл XML:
<?xml version="1.0" encoding="UTF-8"?>
<PublishITEM xmlns="http://www.ibm.com/maximo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" creationDateTime="2020-02-25T11:12:05+01:00" transLanguage="EN" baseLanguage="EN"
messageID="318921582625525794116" maximoVersion="7 6 20190514-1348 V7611-365" event="1">
<ITEMSet>
<ITEM action="Add">
<ATTACHONISSUE>0</ATTACHONISSUE>
</ITEM>
<ITEM action="Add">
<ATTACHONISSUE>1</ATTACHONISSUE>
</ITEM>
</ITEMSet>
</PublishITEM>
Я сделал XSL-преобразование:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-
prefixes="mea"
xmlns:mea="http://www.ibm.com/maximo">
<xsl:output method="xml" encoding="utf-8" indent="yes" omit-xml-
declaration="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="mea:PublishITEM"/>
</xsl:template>
<xsl:template match="mea:PublishITEM">
<xsl:apply-templates select="mea:ITEMSet"/>
</xsl:template>
<xsl:template match="mea:ITEMSet">
<xsl:apply-templates select="mea:ITEM"/>
</xsl:template>
<xsl:template match="mea:ITEM">
<PARAM>
<xsl:apply-templates select="mea:ATTACHONISSUE"/>
</PARAM>
</xsl:template>
<xsl:template match="mea:ATTACHONISSUE">
<CD-NAME><xsl:value-of select="."/></CD-NAME>
</xsl:template>
</xsl:stylesheet>
Я не понимаю, что делаю неправильно. Я пробовал разные онлайн-сайты для тестирования. Одна из полученных мной ошибок: Нет таблиц стилей, связанных с этим объектом
Не забудьте упомянуть желаемый результат:
<PARAM>
<CD-NAME>0</CD-NAME>
</PARAM>
<PARAM>
<CD-NAME>1</CD-NAME>
</PARAM>
Также возможно иметь если? например .. если значение 0 в outpu положить false, если это 1 true? Я также добавил XSL с предложенными исправлениями