Показать полную графическую версию : Что еще можно сделать с XML + XSLT + XSL
Страниц :
1
2
3
4
5
6
7
8
9
10
11
12
[
13]
Vlad Drakula
14-06-2007, 12:58
Sander83
2)хочу что бы на сайте лежал xml и файл трансформации, xml легко модифицировать. Не хочеться использовать серверную обработку.
И не хочеться на клиенте пользоваться mshtml или XSLTrasnform библиотеками, так как их загрузка может быть запрещена на клиенте.
так почему вам не держать XML, а не XHTML ?
Может подскажете мне как можно вывести для печати на стикере через xsl
вывожу в html.
Там нужна таблица 8 строк на 3 столбца
если пишу
<xsl:for-each select="report/rec">
<xsl:if test="(position()-1) mod 3=0"><tr></xsl:if>
<td><xsl:value-of select="fio"/><br /><xsl:value-of select="adres"/><br /><br /><xsl:value-of select="account"/></td>
<xsl:if test="position() mod 3=0"></tr></xsl:if>
<xsl:if test="position() mod 24=0"><p class="new_page"></p></table><table border="1"></xsl:if>
То ругается что внутри <xsl:if> не может быть неоткрытых или незакрытых тегов
vadimiron
14-06-2007, 18:00
Одно решение, которое я исользовал для похожей задачи
<xsl:if test="(position() mod $objectsProRow)= 0">
<xsl:text disable-output-escaping="yes"></tr></xsl:text>
<xsl:text disable-output-escaping="yes"><tr></xsl:text>
</xsl:if>
то есть вместо < использовать < и тд
Спасибо большое - помогло, а то до этого 2 дня ушли насмарку!!!
И в догонку вопрос - можно ли как-то получить html-код готовой страницы, чтобы проверить ее на валидейт, найти ошибки в форматировании и т.п.
Vlad Drakula
15-06-2007, 13:15
vadimiron
в XSL 2.0 не заработает
cobaa
можно ли как-то получить html-код готовой страницы, чтобы проверить ее на валидейт, найти ошибки в форматировании и т.п.
1) открываем XmlSpy
2) открываем XML файл
3) открываем XSL файл
4) нашимаем F10
5) создается новый файл с результатом трансформации
6) сохраняем как нужно
народ, как будет выглядеть шаблон для помечания нескольких чекбоксов из определенного количества?
есть список всех чекбоксов:
<city>
<item>1</item>
</city>
<city>
<item>2</item>
</city>
<city>
<item>3</item>
</city>
<city>
<item>4</item>
</city>
и там же список тех кто выбран, для каждего юзера:
<user>
<check>
<item>1</item>
</check>
<check>
<item>3</item>
</check>
</user>
<user>
<check>
<item>2</item>
</check>
<check>
<item>4</item>
</check>
</user>
<user>
<check>
<item>3</item>
</check>
</user>
список всех чекбоксов выводится на одной странице для каждого юзера, где для каждого выбраны соответствующие юзеру, как??
я сделал шаблон user в котором находится for-each //city проблема в том что изза обращении к элементу city и написании двух слешов указатель уходит из самого шаблона user :( как его сравнивать с check/item ума не приложу..
в XSL 2.0 не заработает »
Вот, у меня та же проблема. Если сделать как говорит vadimiron, то выводит просто тэги в виде текста.
Если написать так:
<xsl:for-each select="object">
<xsl:if test="(position() mod 2)=1">
<tr />
</xsl:if>
<td>разные там преобразования и прочее</td>
</xsl:for-each>
(в конце цикла </tr> не добавляю), то выводится таблица как надо - в два столбца, но ведь это неправильно!
Текст-то получается такой:
<tr />
<td>текст1</td>
<td>текст2</td>
<tr />
<td>текст3</td>
<td>текст4</td>
...
Или смириться с тем, что работает? :)
Преобразование на стороне клиента, т.ч. я не уверен, что выводится именно такой html.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.