Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML->XSLT->HTML один из трех / 20 сообщений из 20, страница 1 из 1
26.01.2012, 15:08
    #37633048
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
Доброго времени суток.
У меня структура вся сайта будет храниться в 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
26.01.2012, 16:08
    #37633253
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
В 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
26.01.2012, 18:18
    #37633635
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
HunterNomadно в проге такая строка выбора валит ерроры.Может все таки расскажите нам какие? И приведете фрагмент кода? Или это самая большая военная тайна?
...
Рейтинг: 0 / 0
26.01.2012, 18:29
    #37633669
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
_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
26.01.2012, 19:09
    #37633754
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
Код: xml
1.
2.
3.
<xsl:template match="content[../category/idpub='IDPUB3']">
        <xsl:apply-templates />
    </xsl:template>
...
Рейтинг: 0 / 0
27.01.2012, 11:41
    #37634653
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
_Vasilisk_
Код: xml
1.
2.
3.
<xsl:template match="content[../category/idpub='IDPUB3']">
        <xsl:apply-templates />
    </xsl:template>



Сейчас читаю книгу по xml/xslt, до предикат еще не дошел (только несколько простых примеров) но уже из Вашего примера понимаю насколько это мощный инструмент.
К сожалению я не смог применить это условие, не могу понять где и ка его правильно разместить. То что у меня при его применении получается - бред. Выводится все кроме условия idpub='IDPUB3' . Все равно спасибо.
...
Рейтинг: 0 / 0
27.01.2012, 12:32
    #37634774
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
_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
27.01.2012, 12:53
    #37634831
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
Еще один вопрос вдогонку. Насколько зависит производительность трансформации xml->xslt->html от правильности написания xsl.
Проверил пример на 10 000 записях - вышло 2.476 секунд. Медленновато.
...
Рейтинг: 0 / 0
27.01.2012, 13:21
    #37634899
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
На много. Но твой финальный вариант по идее наиболее производительный.
...
Рейтинг: 0 / 0
27.01.2012, 13:35
    #37634937
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
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
27.01.2012, 13:48
    #37634962
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
Вторая стадия оптимизации - удаляем повторяющиеся куски. Ибо 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
27.01.2012, 14:03
    #37635019
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
_Vasilisk_,
Шас как раз читаю эту статью. Действительно толково.
С примерами, приведенными Вами выше, ничего не происходит.
2.678 sec. - и ничего не отображает (время при 10 000 блоках).
...
Рейтинг: 0 / 0
27.01.2012, 14:07
    #37635025
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
HunterNomad_Vasilisk_,
Шас как раз читаю эту статью. Действительно толково.
С примерами, приведенными Вами выше, ничего не происходит.
2.678 sec. - и ничего не отображает (время при 10 000 блоках).
Сории поспешил, кажись нашел свою ошибку
...
Рейтинг: 0 / 0
27.01.2012, 14:15
    #37635048
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
_Vasilisk_,
Ошибка была в xml. Исправил.
И мой, и Ваш пример дал одинаковый результат - 2.62 - 2.8 sec.
...
Рейтинг: 0 / 0
27.01.2012, 14:32
    #37635092
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
HunterNomadИ мой, и Ваш пример дал одинаковый результат - 2.62 - 2.8 sec.Замерьте отдельно времена на загрузку XML, на выполнение преобразования и выгрузку. А так же проверьте какие времена будут на маленьком XML
...
Рейтинг: 0 / 0
27.01.2012, 14:56
    #37635148
HunterNomad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
_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
27.01.2012, 19:32
    #37635804
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
HunterNomadчто позволяет предположить - скрипты одинаково отрабатываются.Странно...
...
Рейтинг: 0 / 0
27.01.2012, 21:03
    #37635944
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
HunterNomadИ мой, и Ваш пример дал одинаковый результат - 2.62 - 2.8 sec.Рискну предположить, что разница пришлась на функцию concat.
...
Рейтинг: 0 / 0
27.01.2012, 21:08
    #37635948
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
AntonariyРискну предположить, что разница пришлась на функцию concat.Думаете без нее будет шустрее?
...
Рейтинг: 0 / 0
27.01.2012, 21:23
    #37635968
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML->XSLT->HTML один из трех
Думаю без нее отличий по времени вообще не будет.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML->XSLT->HTML один из трех / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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