powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML->XSLT->HTML один из трех
20 сообщений из 20, страница 1 из 1
XML->XSLT->HTML один из трех
    #37633048
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.
У меня структура вся сайта будет храниться в xml файле.
Пример:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
<?xml version="1.0" encoding="UTF-8"?>

<root>
<node>
    <category>
        <id>id1<id>
    </category>
    <content>
        <start namber="1" name="Start 1" path="/start 1">
            <menu namber="1" name="Menu 1" path="/menu 1">
                <submenu namber="1.1" name="Sub menu 1.1" path="/submenu 1.1"/>
                <submenu namber="1.2" name="Sub menu 1.2" path="/submenu 1.2"/>
            </menu>
        </start>
        <start namber="2" name="Start 2" path="/start 2">
            <menu namber="2" name="Menu 2" path="/menu 2">
                <submenu namber="2.1" name="Sub menu 2.1" path="/submenu 2.1"/>
                <submenu namber="2.2" name="Sub menu 2.2" path="/submenu 2.2">
                    <item namber="2.2.1" name="Item menu 2.2.1" path="/itemmenu 2.2.1"/>
                    <item namber="2.2.2" name="Item menu 2.2.2" path="/itemmenu 2.2.2"/>
                </submenu>
            </menu>
            <menu namber="3" name="Menu 3" path="/menu 3">
                <submenu namber="3.1" name="Sub menu 3.1" path="/submenu 3.1"/>
                <submenu namber="3.2" name="Sub menu 3.2" path="/submenu 3.2"/>
                <submenu namber="3.3" name="Sub menu 3.3" path="/submenu 3.3"/>
            </menu>
        </start>
    </content>
</node>
<node>
    <category>
        <id>id2<id>
    </category>
    <content>
        <start namber="1" name="Start 1" path="/start 1">
            <menu namber="1" name="Menu 1" path="/menu 1">
                <submenu namber="1.1" name="Sub menu 1.1" path="/submenu 1.1"/>
                <submenu namber="1.2" name="Sub menu 1.2" path="/submenu 1.2"/>
            </menu>
        </start>
        <start namber="2" name="Start 2" path="/start 2">
            <menu namber="2" name="Menu 2" path="/menu 2">
                <submenu namber="2.1" name="Sub menu 2.1" path="/submenu 2.1"/>
                <submenu namber="2.2" name="Sub menu 2.2" path="/submenu 2.2">
                    <item namber="2.2.1" name="Item menu 2.2.1" path="/itemmenu 2.2.1"/>
                    <item namber="2.2.2" name="Item menu 2.2.2" path="/itemmenu 2.2.2"/>
                </submenu>
            </menu>
            <menu namber="3" name="Menu 3" path="/menu 3">
                <submenu namber="3.1" name="Sub menu 3.1" path="/submenu 3.1"/>
                <submenu namber="3.2" name="Sub menu 3.2" path="/submenu 3.2"/>
                <submenu namber="3.3" name="Sub menu 3.3" path="/submenu 3.3"/>
            </menu>
        </start>
    </content>
</node>
<node>
    <category>
        <id>id3<id>
    </category>
    <content>
        <start namber="1" name="Start 1" path="/start 1">
            <menu namber="1" name="Menu 1" path="/menu 1">
                <submenu namber="1.1" name="Sub menu 1.1" path="/submenu 1.1"/>
                <submenu namber="1.2" name="Sub menu 1.2" path="/submenu 1.2"/>
            </menu>
        </start>
        <start namber="2" name="Start 2" path="/start 2">
            <menu namber="2" name="Menu 2" path="/menu 2">
                <submenu namber="2.1" name="Sub menu 2.1" path="/submenu 2.1"/>
                <submenu namber="2.2" name="Sub menu 2.2" path="/submenu 2.2">
                    <item namber="2.2.1" name="Item menu 2.2.1" path="/itemmenu 2.2.1"/>
                    <item namber="2.2.2" name="Item menu 2.2.2" path="/itemmenu 2.2.2"/>
                </submenu>
            </menu>
            <menu namber="3" name="Menu 3" path="/menu 3">
                <submenu namber="3.1" name="Sub menu 3.1" path="/submenu 3.1"/>
                <submenu namber="3.2" name="Sub menu 3.2" path="/submenu 3.2"/>
                <submenu namber="3.3" name="Sub menu 3.3" path="/submenu 3.3"/>
            </menu>
        </start>
    </content>
</node>
</root>




Для обработки всего xml написал (как мог) такой xslt

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" />

    <xsl:template match="root">
        <ul>
            <xsl:apply-templates select="content"/>
        </ul>
    </xsl:template>
    
    <xsl:template match="start">
        <li>
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
        </li>
        <ul>
            <xsl:apply-templates select="menu"/>
        </ul>
    </xsl:template>
  
    <xsl:template match="start/menu">
        <li>
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
        </li>
        <ul>
            <xsl:apply-templates select="submenu"/> 
        </ul>
    </xsl:template>
    
    <xsl:template match="menu/submenu">
        <li>
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
        </li>
        <xsl:if test="item">
            <ul>
                <xsl:apply-templates select="item"/> 
            </ul>
        </xsl:if>
    </xsl:template>
    
    <xsl:template match="submenu/item">
        <li>
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
        </li>
    </xsl:template>
</xsl:stylesheet>




Все отрабатывается, но возникла подзадача.
Выбрать только часть <content> ... </content> при условии id='id2'
Вот тут я и встрял.
Получается или все выбрать, или ничего.
Подскажите как правильно оформить xslt файл.

Спасибо за ранее.
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37633253
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Xacobeo попробовал такую строку вбить root/publication/category[idpub='IDPUB3']/../content все гуд,
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<content>
		<part namber="1" name="Part1" path="/path1">
			<chapter namber="1" name="Chapter1" path="/chapter 1">
				<paragraph namber="1.1" name="Paragraph_1.1" path="/paragraph 1.1"/>
				<paragraph namber="1.2" name="Paragraph_1.2" path="/paragraph 1.2"/>
			</chapter>
		</part>
		<part namber="2" name="Part2" path="/path2">
			<chapter namber="2" name="Chapter2" path="/chapter 2">
				<paragraph namber="2.1" name="Paragraph_2.1" path="/paragraph 2.1"/>
				<paragraph namber="2.2" name="Paragraph_2.2" path="/paragraph 2.2">
					<item namber="2.2.1" name="item2.2.1" path="/item 2.2.1"/>
					<item namber="2.2.2" name="item2.2.2" path="/item 2.2.2"/>
				</paragraph>
			</chapter>
			<chapter namber="3" name="Chapter3" path="/chapter 3">
				<paragraph namber="3.1" name="Paragraph_3.1" path="/paragraph 3.1"/>
				<paragraph namber="3.2" name="Paragraph_3.2" path="/paragraph 3.2"/>
			</chapter>
		</part>
	</content>



но в проге такая строка выбора валит ерроры.
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37633635
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomadно в проге такая строка выбора валит ерроры.Может все таки расскажите нам какие? И приведете фрагмент кода? Или это самая большая военная тайна?
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37633669
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_HunterNomadно в проге такая строка выбора валит ерроры.Может все таки расскажите нам какие? И приведете фрагмент кода? Или это самая большая военная тайна?
Эрроры? Нет секрета у меня ;-)
Вот xsl
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" indent="yes"/>
    
    <xsl:template match="/">
        start test
        <xsl:apply-templates select="root"/>
        end test
    </xsl:template>

    <xsl:template match="root">
        <xsl:apply-templates select="publication"/>
    </xsl:template>

    <xsl:template match="root/publication/category[idpub='IDPUB3']/../content">
        <xsl:apply-templates />
    </xsl:template>
 . . . . . . . . 


вернее его часть.
А вот еррорс
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
rror at xsl:template on line 15 column 80 of mini.xsl:
  Cannot convert the expression {..} to a pattern
Error at xsl:template on line 15 column 80 of mini.xsl:
  XTSE0500: xsl:template must have a name or match attribute (or both)
Exception in thread "main" javax.xml.transform.TransformerConfigurationException: Failed to compile stylesheet. 2 errors detected.
	at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:220)
	at net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:132)
	at net.sf.saxon.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:87)
	at test2.Test2.main(Test2.java:27)
Java Result: 1


О как. На что он жалуется ({..}) это и я понял.
А вод как правильно все сделать ....
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37633754
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
<xsl:template match="content[../category/idpub='IDPUB3']">
        <xsl:apply-templates />
    </xsl:template>
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37634653
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Код: xml
1.
2.
3.
<xsl:template match="content[../category/idpub='IDPUB3']">
        <xsl:apply-templates />
    </xsl:template>



Сейчас читаю книгу по xml/xslt, до предикат еще не дошел (только несколько простых примеров) но уже из Вашего примера понимаю насколько это мощный инструмент.
К сожалению я не смог применить это условие, не могу понять где и ка его правильно разместить. То что у меня при его применении получается - бред. Выводится все кроме условия idpub='IDPUB3' . Все равно спасибо.
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37634774
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,
Спасибо, еще малеха напильником поработал. И Ок.
Размещаю - друг кому поможет.
Вот xls
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" indent="yes"/>
    
    <xsl:template match="/">
        <xsl:apply-templates select="root"/>
    </xsl:template>
    
    <xsl:template match="root">
        <xsl:apply-templates select="publication"/>
    </xsl:template>
    
    <xsl:template match="publication">
        <xsl:apply-templates select="content"/>
    </xsl:template>
    
    <xsl:template match="content">
        <xsl:if test="../category/idpub='IDPUB3'">
            <ul>
                <xsl:apply-templates />
            </ul>
        </xsl:if>
    </xsl:template>
    
    <xsl:template match="part">
        <li>
            Часть&#160;
            <xsl:value-of select="@namber"/>&#160;
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
            <ul>
                <xsl:apply-templates select="chapter"/>
            </ul>
        </li>
    </xsl:template>
  
    <xsl:template match="part/chapter">
        <li>
            Глава&#160;
            <xsl:value-of select="@namber"/>&#160;
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
            <ul>
                <xsl:apply-templates select="paragraph"/> 
            </ul>
        </li>
    </xsl:template>
    
    <xsl:template match="chapter/paragraph">
        <li>
            &#160;&#160;
            <xsl:value-of select="@namber"/>&#160;
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
            <xsl:if test="item">
                <ul>
                    <xsl:apply-templates select="item"/> 
                </ul>
            </xsl:if>
        </li>
    </xsl:template>
    
    <xsl:template match="paragraph/item">
        <li>
            &#160;&#160;
            <xsl:value-of select="@namber"/>&#160;
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
        </li>
    </xsl:template>

</xsl:stylesheet>



А вот итог
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
<ul>
   		
   <li>
      Часть&nbsp;
      1&nbsp;
      <a href="/path1">Part1</a><ul>
         <li>
            Глава&nbsp;
            1&nbsp;
            <a href="/chapter 1">Chapter1</a><ul>
               <li>
                  &nbsp;&nbsp;
                  1.1&nbsp;
                  <a href="/paragraph 1.1">Paragraph_1.1</a></li>
               <li>
                  &nbsp;&nbsp;
                  1.2&nbsp;
                  <a href="/paragraph 1.2">Paragraph_1.2</a></li>
            </ul>
         </li>
      </ul>
   </li>
   		
   <li>
      Часть&nbsp;
      2nbsp;
      <a href="/path2">Part2</a><ul>
         <li>
            Глава&nbsp;
            2&nbsp;
            <a href="/chapter 2">Chapter2</a><ul>
               <li>
                  &nbsp;&nbsp;
                  2.1&nbsp;
                  <a href="/paragraph 2.1">Paragraph_2.1</a></li>
               <li>
                  &nbsp;&nbsp;
                  2.2&nbsp;
                  <a href="/paragraph 2.2">Paragraph_2.2</a><ul>
                     <li>
                        &nbsp;&nbsp;
                        2.2.1&nbsp;
                        <a href="/item 2.2.1">item2.2.1</a></li>
                     <li>
                        &nbsp;&nbsp;
                        2.2.2&nbsp;
                        <a href="/item 2.2.2">item2.2.2</a></li>
                  </ul>
               </li>
            </ul>
         </li>
         <li>
            Глава&nbsp;
            3&nbsp;
            <a href="/chapter 3">Chapter3</a><ul>
               <li>
                  &nbsp;&nbsp;
                  3.1&nbsp;
                  <a href="/paragraph 3.1">Paragraph_3.1</a></li>
               <li>
                  &nbsp;&nbsp;
                  3.2&nbsp;
                  <a href="/paragraph 3.2">Paragraph_3.2</a></li>
            </ul>
         </li>
      </ul>
   </li>
   	
</ul>
0.085 ms.



Может и не самое изящное решение. Но как мог. Если его можно упростить - буду признателен за поправки.
Еще раз спасибо _Vasilisk_,
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37634831
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один вопрос вдогонку. Насколько зависит производительность трансформации xml->xslt->html от правильности написания xsl.
Проверил пример на 10 000 записях - вышло 2.476 секунд. Медленновато.
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37634899
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На много. Но твой финальный вариант по идее наиболее производительный.
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37634937
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomadНасколько зависит производительность трансформации xml->xslt->html от правильности написания xsl.Напрямую. Чем кривее XSL тем дольше работа. Вот хорошая статья на эту тему
http://xmlhack.ru/forum/xml/topic4782.html
HunterNomadВот xlsА вот оптимизированный XSL
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" indent="yes"/>
    
    <xsl:template match="/">
         <!-- Чем меньше шаблонов и точнее путь тем лучше. А специальной обработки
                для root и publication у Вас не предусмотрено. И нефиг выбирать те узлы, которые не нужны -->
        <xsl:apply-templates select="root/publication/content[../category/idpub='IDPUB3']"/>
    </xsl:template>
    
    <xsl:template match="content">
        <ul>
            <!-- Чем меньше думает XSLT процессор, тем он быстрее работает -->
            <xsl:apply-templates select="part"/>
        </ul>
    </xsl:template>
    
    <xsl:template match="part">
        <li>
            Часть&#160;
            <xsl:value-of select="@namber"/>&#160;
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
            <ul>
                <xsl:apply-templates select="chapter"/>
            </ul>
        </li>
    </xsl:template>
  
    <!-- chapter у нас один, поэтому нефиг уточнять, что он потомок part -->
    <xsl:template match="chapter">
        <li>
            Глава&#160;
            <xsl:value-of select="@namber"/>&#160;
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
            <ul>
                <xsl:apply-templates select="paragraph"/> 
            </ul>
        </li>
    </xsl:template>
    
    <!-- Аналогично -->
    <xsl:template match="paragraph">
        <li>
            &#160;&#160;
            <xsl:value-of select="@namber"/>&#160;
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
            <xsl:if test="item">
                <ul>
                    <xsl:apply-templates select="item"/> 
                </ul>
            </xsl:if>
        </li>
    </xsl:template>
    
    <xsl:template match="item">
        <li>
            &#160;&#160;
            <xsl:value-of select="@namber"/>&#160;
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
        </li>
    </xsl:template>

</xsl:stylesheet>
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37634962
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вторая стадия оптимизации - удаляем повторяющиеся куски. Ибо once and only once
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" indent="yes"/>
    
    <xsl:template match="/">
        <xsl:apply-templates select="root/publication/content[../category/idpub='IDPUB3']"/>
    </xsl:template>
    
    <xsl:template match="content">
        <ul>
            <xsl:apply-templates select="part"/>
        </ul>
    </xsl:template>
    
    <xsl:template match="part">
        <xsl:call-template name="showNode">
            <xsl:with-param name="prefix" select='Часть'/>
        </xsl:call-template>
    </xsl:template>
  
    <xsl:template match="chapter">
        <xsl:call-template name="showNode">
            <xsl:with-param name="prefix" select='Глава'/>
        </xsl:call-template>
    </xsl:template>
    
    <xsl:template match="paragraph">
        <xsl:call-template name="showNode"/>
    </xsl:template>
    
    <xsl:template match="item">
        <xsl:call-template name="showNode"/>
    </xsl:template>

    <xsl:template name="showNode">
        <xsl:param name="prefix" select='&#160;'/>
        <li>
            <xsl:value-of select="concat($prefix, '&#160;', @namber, '&#160;'"/>
            <a href="{@path}">
                <xsl:value-of select="@name"/>
            </a>
            <xsl:variable name="childs" select="*"/>
            <xsl:if test="$childs">
                <ul>
                    <xsl:apply-templates select="$childs"/> 
                </ul>
            </xsl:if>
        </li>
    </xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635019
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,
Шас как раз читаю эту статью. Действительно толково.
С примерами, приведенными Вами выше, ничего не происходит.
2.678 sec. - и ничего не отображает (время при 10 000 блоках).
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635025
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomad_Vasilisk_,
Шас как раз читаю эту статью. Действительно толково.
С примерами, приведенными Вами выше, ничего не происходит.
2.678 sec. - и ничего не отображает (время при 10 000 блоках).
Сории поспешил, кажись нашел свою ошибку
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635048
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,
Ошибка была в xml. Исправил.
И мой, и Ваш пример дал одинаковый результат - 2.62 - 2.8 sec.
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635092
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomadИ мой, и Ваш пример дал одинаковый результат - 2.62 - 2.8 sec.Замерьте отдельно времена на загрузку XML, на выполнение преобразования и выгрузку. А так же проверьте какие времена будут на маленьком XML
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635148
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_HunterNomadИ мой, и Ваш пример дал одинаковый результат - 2.62 - 2.8 sec.Замерьте отдельно времена на загрузку XML, на выполнение преобразования и выгрузку. А так же проверьте какие времена будут на маленьком XML

Ваш (первый вариант)
Load xml 0.0020 sec.
Transf 3.032 sec.
Full time 4.204 sec.

Мой
Load xml 0.0020 sec.
Transf 2.755 sec.
Full time 4.018 sec.

На самом деле время за десять стартов колебалось в пределах 0.4 sec., что позволяет предположить - скрипты одинаково отрабатываются.
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635804
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomadчто позволяет предположить - скрипты одинаково отрабатываются.Странно...
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635944
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomadИ мой, и Ваш пример дал одинаковый результат - 2.62 - 2.8 sec.Рискну предположить, что разница пришлась на функцию concat.
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635948
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyРискну предположить, что разница пришлась на функцию concat.Думаете без нее будет шустрее?
...
Рейтинг: 0 / 0
XML->XSLT->HTML один из трех
    #37635968
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю без нее отличий по времени вообще не будет.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML->XSLT->HTML один из трех
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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