powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите с XSL
14 сообщений из 14, страница 1 из 1
Помогите с XSL
    #38891608
promukk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Нужно создать XSL , который бы менял в XML все значения атрибута name="" и название элементов местами.
Например:

Из <car name="BMW"> => <BMW name="car">

Делаю так

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="*">
<xsl:for-each select="/">

<xsl:element name="{@name}">
<xsl:attribute name="type">
<xsl:value-of select="name()"/>
</xsl:attribute>
</xsl:element>

</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Проблема тут : <xsl:element name="{@name}"> . Не пойму как правильно записать , чтоб элементу присваивалось значения атрибута name в котором находится указатель.
...
Рейтинг: 0 / 0
Помогите с XSL
    #38891801
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
promukkПроблема тут : <xsl:element name="{@name}">Нет. Проблема тут
promukk<xsl:for-each select="/">Нет у корневого элемента атрибутов
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<xsl:template match="*">
  <xsl:element name="{@name}">
    <xsl:attribute name="type">
      <xsl:value-of select="name()"/>
    </xsl:attribute>
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>
...
Рейтинг: 0 / 0
Помогите с XSL
    #38891858
promukk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,
я и так пробовал , таже ошибка Expected QName
...
Рейтинг: 0 / 0
Помогите с XSL
    #38891860
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже xml-процессор неадекватный. Как называется?
...
Рейтинг: 0 / 0
Помогите с XSL
    #38891868
promukk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XML altova spy 2010
...
Рейтинг: 0 / 0
Помогите с XSL
    #38891987
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
<xsl:template match="*">
  <xsl:variable name="name" select="@name"/>
  <xsl:element name="{$name}">


???

А так согласен с предыдущим ораторомAntonariyПохоже xml-процессор неадекватный
...
Рейтинг: 0 / 0
Помогите с XSL
    #38892826
promukk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

Спасибо! Через переменную таки заработало , хотя я так и пробовал но немного по другому . Получилось так :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="*">
<xsl:for-each select="*">
<xsl:variable name="name" select="@name"/>
<xsl:element name="{$name}">
<xsl:attribute name="type">
<xsl:value-of select="name()"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

И еще 1 вопросик как там правильно сделать через apply-template , чтоб цикл по всем вложенным элементам прошелся?
...
Рейтинг: 0 / 0
Помогите с XSL
    #38892867
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
promukkкак там правильно сделать через apply-template , чтоб цикл по всем вложенным элементам прошелся?А сейчас разве по дочерним не проходит?
...
Рейтинг: 0 / 0
Помогите с XSL
    #38892891
promukk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,
неа
...
Рейтинг: 0 / 0
Помогите с XSL
    #38892900
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
promukkнеаБлин!!!Ё Какой, нафиг, for-each? Я же написал
_Vasilisk_
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<xsl:template match="*">
  <xsl:element name="{@name}">
    <xsl:attribute name="type">
      <xsl:value-of select="name()"/>
    </xsl:attribute>
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

_Vasilisk_
Код: xml
1.
2.
3.
<xsl:template match="*">
  <xsl:variable name="name" select="@name"/>
  <xsl:element name="{$name}">
...
Рейтинг: 0 / 0
Помогите с XSL
    #38892913
promukk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

точняк))) Спасибо!
...
Рейтинг: 0 / 0
Помогите с XSL
    #38892918
promukk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

но вот с элементами 3-го уровня оно не работает...
...
Рейтинг: 0 / 0
Помогите с XSL
    #38892921
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
promukkно вот с элементами 3-го уровня оно не работает...Не может такого быть. Шаблон рекурсивный и вызывает себя до самого низа
...
Рейтинг: 0 / 0
Помогите с XSL
    #38892923
promukk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

фух , нашел ошибку , прост у них не было атрибута name , теперь точно все , огромное спасибо!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите с XSL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]