#xml #xslt
#xml #xslt
Вопрос:
Я пытаюсь загрузить значения из xml в xsl… Это мои данные xml:
<root>
<Firma ID_FIRMY="15" ROLE_FIRMY="O" KOD_FIRMY="Tomášov">
</Firma>
</root>
Это мой xsl:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<Firma>
<FirstName><xsl:value-of select="@ROLE_FIRMY" /></FirstName>
</Firma>
</xsl:template>
Я не могу загрузить значения из xml. У вас есть какие-нибудь идеи? Спасибо
мне нужен этот выходной xml:
<Main>
<Firma55>
<ROLE>O</ROLE>
</Firma55>
</Main>
Комментарии:
1. Что вы подразумеваете под загрузкой данных в XSL? XSLT может использоваться для преобразования XML в другой XML, текст и т.д. Чего вы ожидаете? Более того, написанный вами XSLT неверен. У него должен быть шаблон, в который вы помещаете for-each..
2. мне нужно преобразовать структуру xml в другую структуру xml .. но сначала мне нужно знать, как я могу показать эти значения..
3. Можете ли вы обновить свой вопрос ожидаемым результатом?
4.
ROLE_FIRMY
является атрибутом ; вы получаете к нему доступ с помощью<xsl:value-of select="@ROLE_FIRMY"/>
.5. не запускается … я обновил свой первый пост
Ответ №1:
У вас какие-то странные проблемы с вашей таблицей стилей:
- Закрывающий тег таблицы стилей отсутствует;
- Пространство имен xmlns:xsl неверно;
- Атрибут версии таблицы стилей отсутствует.
Попробуйте это так:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<Main>
<xsl:for-each select="root/Firma">
<Firma55>
<ROLE><xsl:value-of select="@ROLE_FIRMY"/></ROLE>
</Firma55>
</xsl:for-each>
</Main>
</xsl:template>
</xsl:stylesheet>