|
|
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
Есть некий файл tema3.xml содержащий описание элементов item. Каждой "группе" item присвоен свой ID. Для преобразования в HTML используется tema3.xsl. На выходе получается таблица с выборкой элементов по определенному параметру ID. В настоящий момент по ID равному "reg1" ? Как организовать заполнение этой же таблицы с ID отличному от "reg1" при переходе по ссылкам в виде текста или кнопок? Возможно ли это средствами XSL. Я думаю что надо подключать Java установив значение ID в tema3.xsl в качестве переменной, но не знаю как. Помогите кто чем может! Очень надо! Листинг: tema3.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="tema4.xsl"?> <items> <item id= "reg1"> <region>reg1</region> <locatia>loc1</locatia> <name>name1</name> <description>Var1</description> <cost>11</cost> <images>1.jpeg</images> </item> <item id= "reg2"> <region>reg2</region> <locatia>loc2</locatia> <name>name2</name> <description>Var2</description> <cost>22</cost> <images>2.jpeg</images> </item> <item id= "reg3"> <region>reg3</region> <locatia>loc3</locatia> <name>name3</name> <description>Var3</description> <cost>33</cost> <images>3.jpeg</images> </item> </items> Листинг:tema3.xsl <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html> <head> <title></title></head> <body bgcolor="#FFFFFF"> <center> <table style="margin-top:5px" cellSpacing="0px" width="520px" cellPadding="4px"> <tr> <td align="center" colspan="3" bgcolor="#003366"> <font name="verdana" size="2em" color="#ffcc33"> <b><xsl:value-of select="//region"/></b> </font> </td> </tr> </table> <table cellSpacing="0px" width="520px" border="1px" cellPadding="4px"> <xsl:for-each select="items/item"> <xsl:if test="@id = 'reg1'"> <tr> <td class="tabelhead" colspan="3" bgcolor="#ffcc33"> <xsl:value-of select="locatia"/> <![CDATA[ • ]]> <xsl:value-of select="name"/> </td> </tr> <tr valign="top"> <td width="150" align="left"> <a target="_blank"> <xsl:attribute name="href"> <xsl:value-of select="images"/> </xsl:attribute> <img border="0" width="150"> <xsl:attribute name="src"> <xsl:value-of select="images"/> </xsl:attribute> </img> </a> </td> <td class="text"> <xsl:value-of select="description"/> </td> <td class="text"> <xsl:value-of select="cost"/> </td> </tr> </xsl:if> </xsl:for-each> </table> <table> <tr> <td width="115"> <a href="test.xml">A-Z</a> </td> </tr> </table> </center> </body> </html> </xsl:template> </xsl:stylesheet> Может я тут много чего лишнего наворотил, извините я только учусь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2008, 21:16 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
Если есть сервер, то это все делается через <xsl:param> Если сервера нет, а все делается на клиенте, то самый простой способ это сгенерировать html по всем id, а лишние данные позакрывать дивами с dislplay: none и потом на JavaScript нужные дивы показывать, а ненужные скрывать С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2008, 23:08 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Если есть сервер, то это все делается через <xsl:param> Если сервера нет, а все делается на клиенте, то самый простой способ это сгенерировать html по всем id, а лишние данные позакрывать дивами с dislplay: none и потом на JavaScript нужные дивы показывать, а ненужные скрывать С уважением, Vasilisk Спасибо за ответ. Можно ли подробнее описать метод когда преобразование осуществляется на клиенте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 11:36 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
astebco _Vasilisk_сгенерировать html по всем id, а лишние данные позакрывать дивами с dislplay: none и потом на JavaScript нужные дивы показывать, а ненужные скрывать Можно ли подробнее описать метод когда преобразование осуществляется на клиенте? Куда еще подробнее? Что может быть непонятного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 21:48 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ astebco _Vasilisk_сгенерировать html по всем id, а лишние данные позакрывать дивами с dislplay: none и потом на JavaScript нужные дивы показывать, а ненужные скрывать Можно ли подробнее описать метод когда преобразование осуществляется на клиенте? Куда еще подробнее? Что может быть непонятного? Спасибо большое, за совет использовать div + Java, еще больше пошел впрок Ваш упрек по поводу того "Что тут может быть непонятного?" . При моем знании Java пришлось немного поднапрячься. По моему получилось коряво, но работает. С большим уважением Astrebco Кому интересно смотрите прикрепленные файлы, буду рад критике и другим решениям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 16:01 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
astebcoСпасибо большое, за совет использовать div + Java, еще больше пошел впрок Ваш упрек по поводу того "Что тут может быть непонятного?" . При моем знании Java пришлось немного поднапрячься. По моему получилось коряво, но работает. Ну НЕ ИСПОЛЬЗУЕТСЯ у Вас Java! Java это серверный язык. На нем пишутся аплеты. А у Вас исплоьзуется JavaScript. Java примерно так же отлтчается от JavaScript, как JavaScript от С++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 16:41 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
Форматирование XSL кода безобразное, ну да ладно. А вот конкретный вопрос Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 2) Какая тайна скрывается за строкой Код: plaintext 3) Функция show у Вас нифига не показывает 4) Если Вы не планируете никуда переходить, то указывайте тег <a> так Код: plaintext Может я чего не понимаю, но я бы переписал Ваш код так Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 17:07 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
Уважаемый Vasilisk, не устаю удивляться собственной тупости и отсутствию элементарных знаний. Но как бы то ни было IE в вашем примере ругается следующим образом Код: 1. 2. 3. Ваши земечания учел, обещаю не путать Java и JavaScript. Кстати пытался использовать подобную функцию найденную где то в инете. Код: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 20:21 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
astebcoНо как бы то ни было IE в вашем примере ругается следующим образом вместо < используйте & lt; (без пробелов) astebcoКстати пытался использовать подобную функцию найденную где то в инете. Идея красивая astebco Не идет! И, что говорит? P.S. Тут используется не [code], a [src] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 20:35 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
To : Vasilisk Замена "<" на "& lt;" без пробела ЭТО ТО ЧТО НАДО! Все заработало мой пример который до этого не шел - ТОЖЕ! Огромная благодарность за мои "широко открытые глаза". Общение с Вами настоящее удовольствие! ЗЫ. Мой "чайник" от знакомства с XML+XSL кипит менее 2-х недель, а от JavaScript и того меньше, это к слову о невнятности синтаксиса обоих, но на радостях даже могу признать что неповоротлив как слон. Люблю когда ругают умные люди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2008, 21:07 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
Ну вот первый восторг прошел и следующая мысль такова: вышеописанный вариант хороший, но при условии что исходных данных не так уж и много. Поэтому в неустанных поисках был почти найден следующий вариант (почти, потому что не вполне рабочий): передавать на HTML страницу только соответствую выборку значений из файла XML + файл форматирования XSL. В роли фильтра выступает пременная которую определяет функция JavaScript. Все бы хорошо и переменная по ссылке передается и при обращении Код: Код: 1. 2. 3. 4. 5. 6. 7. 8. 9. нет никаких результатов. Пожалуйста подскажите где ошибка, если вобще такого рода обращения можно осуществлять локально т.е. не на сервер. В архиве 3 файла стартовый HTML, XML и XSL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2008, 19:39 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
astebcoПожалуйста подскажите где ошибка Трындец! Ну почитайте же наконец документацию! MSXML SDKJScript Syntax Код: plaintext xmlSource A string containing a URL that specifies the location of the XML file. Return Value Boolean. Returns True if the load succeeded; False if the load failed. Example The following script example creates a DOMDocument object and uses the load method to load a local XML file. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2008, 22:59 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
И еще, Вы знаете о существовании элемента <xsl:if>? И зачем Вам пространство имен xmlns:fo="http://www.w3.org/1999/XSL/Format"? Или шоб було? С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2008, 23:01 |
|
||
|
XSL подстановка данных в таблицу. Организация переходов!
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Трындец! Ну почитайте же наконец документацию! Справедливо. Почитал. Самое обидное - помогло не это. Зато пошлось еще раз пересматривать код, где наконец разглядел что всего то надо в xmlDoc.load("contactsextra.xml") поменять на xmlDoc.load("contactsuseparm.xml"). Вот такой вот откровенный ляп. _Vasilisk_И еще, Вы знаете о существовании элемента <xsl:if>? Если это вопрос по поводу того почему в примере не ихпользовался этот элемент вместо нагромождения Код: plaintext 1. 2. 3. _Vasilisk_И зачем Вам пространство имен xmlns:fo="http://www.w3.org/1999/XSL/Format"? Или шоб було? Извините снова недогляд(будь он неладен): к конкретному примеру это выражение никакого отношения не имеет. Просто забыл удалить. Вам Vasilisk, большое спасибо! С уважением AStrebco Народная мудрость от меня: Если большая часть работы была сделана ночью, приготовьтесь потратить следующий день выискивая ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2008, 19:44 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=35410314&tid=1333846]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 162ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...