Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Генерация такого кода


Автор: Rickert 19.1.2009, 05:47
Допустим у меня в xml Лежит:
Код
<source>
  <name>John</name>
  <name>Alex</name>
  <name>Paul</name>
</source>

Мне надо получить с помощью xslt на выходе такой текст:
Код

<div id="John" onclick="toggle("John");">John</div>
<div id="Alex" onclick="toggle("Alex");">Alex</div>
<div id="Paul" onclick="toggle("Paul");">Paul</div>

Как?

Автор: maxim1000 19.1.2009, 09:47
стоит посмотреть в сторону xsl:attribute

Автор: sir_nuf_nuf 19.1.2009, 10:19
Ага, и почитать туториал по xslt

кстати, в XSLT есть встроенные подстановки. Хотя я тоже советую <xsl:attribute>,
но можно делать так:
Код

<xsl:template match="name">
  <div id="{./text()}"/>  <!-- ну и так далее -->
</xsl:tempalte>

Автор: Rickert 20.1.2009, 05:23
А как мне создать некий шаблон, который потом можно вызвать в другом шаблоне? Я делаю так:
Код
<xsl:template match="first">
  <div id="imte">qwe</div>
</xsl:template>

...
    </xsl:if>
    <xsl:apply-templates select="first"/>
...

Но никаких вставок не происходит.

Добавлено @ 05:25
Прошу меня простить, если задаю глупые вопросы, вы толкните меня в нужном направлении, куда смотреть, я не прошу готовых решений.
Только - только начинаю разбираться с xslt: у меня по-наследству от прошлого кодера сайт и тьма xslt кода, который сейчас изучаю, параллельно читая http://www.w3schools.com/ и http://zvon.org

Добавлено @ 05:36
Да и пункта "first" у меня в xml'ене нет. Так можно? Т.е. я сделал свой шаблон, который не имеет отношения к структуре xml файла.

Автор: jsa 20.1.2009, 05:37
Цитата(Rickert @  20.1.2009,  10:23 Найти цитируемый пост)
А как мне создать некий шаблон, который потом можно вызвать в другом шаблоне?

xsl:include, xsl:import

<xsl:include href="...." />

Автор: Rickert 20.1.2009, 05:47
Да и атрибуты тут не годятся, я забыл упомянуть: у меня нет возможности менять уже сгенерированные xml файлы, есть лишь возможность поменять xslt формирование.

Добавлено @ 05:50
jsa, а вот уже начинаем подбираться...

Автор: Rickert 20.1.2009, 06:23
Всё, все вопросы сняты, разобрался. Всем спасибо за помощь!
Solved smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)