|
|
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
Задача такая, есть xml документ в котором прописаны адреса которые надо собрать в единый html документ получаю xml с помошью <xsl:variable name="data_file" select="document($data_URL)"/> и все бы ничего только потом надо этот xml преобразовать в html, уже не знаю с какой стороны подойти, сдесь представлено немного неработоспособное решение, но может быть ктото подскажет куда копать??? <?xml version="1.0" encoding="windows-1251"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="ALL" > <html> <head> </head> <xsl:for-each select="URL"> <xsl:variable name="data_URL"> <xsl:value-of select="FC_URL"/> </xsl:variable> <xsl:variable name="data_file" select="document($data_URL)"/> <CENTER> <!--xsl:copy-of select="$data_file/node()"/--> <xsl:call-template name="temp" > <xsl:with-param name="data_value"> <xsl:value-of select="$data_file/ROWSET/ROW"/> </xsl:with-param> </xsl:call-template> </CENTER><BR/> </xsl:for-each> <!--xsl:aply-templates/--> <body> </body> </html> </xsl:template> <xsl:template name="temp"> <xsl:param name="data_value"/> <CENTER>2 <xsl:value-of select="fc_machine/node()"/> </CENTER> <br/> </xsl:template> </xsl:stylesheet> PS Я думал никогда не дождусь появление этого раздела на форуме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 16:38 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
копать сюда => http://www.citforum.ru/internet/xpath/xpath.shtml только зачем в переменную пихать xml? Почему просто не прописать в xml (грубо говоря): <?xml-stylesheet type="text/xsl" href="root.xsl"?> ну или там <root xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl="root.xsl"> в зависимости от задачи и способов ее решения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 16:48 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
Видимо плохо обьясняю 1 Есть xml документ в нем прописаны адреса ну что то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:08 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
<xsl:variable name="data_file" select="document($data_URL)"/> и это работает? ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 17:55 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
Работает и еще как, лано эту проблему я решил теперь у мня другая: <xsl:for-each select="URL"> <xsl:variable name="data_URL"> <xsl:value-of select="FC_URL"/> </xsl:variable> <xsl:variable name="data_file" select="document($data_URL)"/> <CENTER> <!--Есть ли способ собрать все переменные data_file в одну переменную в цикле??? кто нить пробовал??--> </CENTER> </xsl:for-each> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 10:55 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
VintВидимо плохо обьясняю 1 Есть xml документ в нем прописаны адреса ну что то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. а кто генерит этот xml? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 10:59 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
VintРаботает и еще как, лано эту проблему я решил теперь у мня другая: <xsl:for-each select="URL"> <xsl:variable name="data_URL"> <xsl:value-of select="FC_URL"/> </xsl:variable> <xsl:variable name="data_file" select="document($data_URL)"/> <CENTER> <!--Есть ли способ собрать все переменные data_file в одну переменную в цикле??? кто нить пробовал??--> </CENTER> </xsl:for-each> 1 - советую for-each вообще не использовать 2 - и что значит "с помощью for-each собрать все значения переменных"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 11:31 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
1 Почему? 2 for-each это цикл который перебирает куски xml которые в конечном счете нужно обьеденить в один, по отдельности то я их могу обработать. но вот вместе собрать все полученные по <xsl:variable name="data_file" select="document($data_URL)"/> не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:34 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
M0usа кто генерит этот xml? Этот документ генериться на сервере с помошью XDK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:35 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
Vintперебирает куски xml которые в конечном счете нужно обьеденить в один, по отдельности то я их могу обработатьно чем-то не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 14:14 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
maXmoно чем-то не устраивает? немного не понял к чему это замечание, неустраивает тем что мне нужно обработать обьединенный документ а не отдельные части. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 14:18 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
В одну переменную вы не соберете, т.к. любая переменная после инициализации становится read-only. А чем не нравится xsl:copy-of ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 14:39 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
угу, про то, что такое variable, и как оно работает, можно, например, почитать у товарищей с w3c. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 14:56 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
фу. ну знаю я как вариэйблы работают и то что один раз задаються при инициализации тож знаю просто есть задачка свести несколько xml документов в один и обработать его, каждый документ состоит из разделов и вот взбрело в голову пользователям сортировку по разделам иметь, то есть хочеш один за другим документы смотри а хочеш отсортируй по разделам и тож смотри токо сначала будет первый раздел первого документа потом первый второго, потом второй первого документа и второй второго итд. Можно конечно с позиционированием и сортировкой дивов заморочиться но посчитав количество кода мне как то расхотелось, вот подумал что может как то можно в xsl извернуться но тоже не получаеться, пытаюсь в яве сделать вроде получаеться но я её вообще плохо знаю поэтому "шаг вперед два назад"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 16:31 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 17:44 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
А что такое document(.), что она содержит, а то чтото я смысла не улавливаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 10:32 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
VintА что такое document(.), что она содержит, а то чтото я смысла не улавливаю почитайте XSLT-функции на http://zeus.sai.msu.ru:7000/internet/xslt/xslt.shtml document() - позволяет подгружать файлы извне и пользоваться их содержимым в шаблоне... всетаки for-each лучше заменять на apply-templates - быстрее шаблон отрабатывать будет... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. такой код отработает быстрее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 12:26 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
Тут я как понял, вопрос был про точку внутри document(). Точка - это текущий нод, в данном случае для for-each. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 14:00 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
БЛ* как меня достали умники считающие себя умнее других, прочитай ветку сначала M0us, а то мня уже тошнит разжевывать еще раз, хотя чисто для тебя: МНЕ НЕ НАДО ПОДГРУЖАТЬ И ОБРАБАТЫВАТЬ СТОРОННИЙ ДОКУМЕНТ В ШАБЛОН Я И ТАК УЖЕ ЭТО СДЕЛАЛ, меня интересует вариант обьединения нескольких XML документов внутри шаблона в один и последующая обработка, все тема закрыта надоело обьяснять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 14:03 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
M0us всетаки for-each лучше заменять на apply-templates - быстрее шаблон отрабатывать будет... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. такой код отработает быстрее... Откуда такая уверенность? Если они и отличаются по скорости, то в типичных примерах незначительно, в данном примере вы вообще никаких отличий не заметите. И for-each должен быть чуть-чуть быстрее, т.к. не надо из списка шаблонов выбирать, какой применять к данному ноду, получается, что шаблон один и находится внутри for-each. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 14:04 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
Vint меня интересует вариант обьединения нескольких XML документов внутри шаблона в один и последующая обработка, все тема закрыта надоело обьяснять Если в такой постановке вопроса, то по-моему никак, придется объединять эти xml-ники снаружи или же использовать 2 последовательных трансформации, т.е. сначала одним xsl-ником, потом другим с сортировкой. Хотя вообще вопрос интересный - можно ли в XSLT промежуточный результат работы пустить опять на вход в какой-нибудь шаблон. По-моему стандартными средствами нельзя, если только использовать расширения типа <msxsl:script> в MSXML или внешние функции. У кого-нибудь есть другое мнение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 14:23 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
VladiCh Vint меня интересует вариант обьединения нескольких XML документов внутри шаблона в один и последующая обработка, все тема закрыта надоело обьяснять Если в такой постановке вопроса, то по-моему никак, придется объединять эти xml-ники снаружи или же использовать 2 последовательных трансформации, т.е. сначала одним xsl-ником, потом другим с сортировкой. Хотя вообще вопрос интересный - можно ли в XSLT промежуточный результат работы пустить опять на вход в какой-нибудь шаблон. По-моему стандартными средствами нельзя, если только использовать расширения типа <msxsl:script> в MSXML или внешние функции. У кого-нибудь есть другое мнение? Можно, VladiCh просто в каждую xml-лину нужно вставлять Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 16:22 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
А можно поподробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 16:45 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
тебя же вроде не интересовала тема про два последовательных преобразования, а про объединение ещё вот что нашёл: If only one argument is provided and that argument is a node set, then each node in that node set is treated as a URL and the function returns the union of all of the documents referenced. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 16:49 |
|
||
|
Как обработать с помошью шаблона значение переменной
|
|||
|---|---|---|---|
|
#18+
maXmoтебя же вроде не интересовала тема про два последовательных преобразования не интересовала для данной задачи но вообще достаточно интересно само по себе maXmo If only one argument is provided and that argument is a node set, then each node in that node set is treated as a URL and the function returns the union of all of the documents referenced. что то я не понял какая функция мне должа вернуть обьединенное содержимое :(( пятница сказываеться, туплю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=33379851&tid=1334741]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 478ms |

| 0 / 0 |
