powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Перевод XML в HTML
6 сообщений из 6, страница 1 из 1
Перевод XML в HTML
    #38154936
Relrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь преобразовать XML в HTML. Но не получается корректно сформировать html страничку: я хочу отсортировать данные в xml по цене (убыванию), а затем все отобразить в html. Подскажите, пожалуйста, в чем моя ошибка.

Шаблон XSD:
Код: 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.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
	<xsl:template match="/">
		<html>
	       <head>
	           <title>"Лабораторная №5, вариант 4"</title>
	       </head>
	
	    <body>
	        <xsl:for-each select="//medicament">
               <xsl:sort select="/price">
			       <p>
			           Содержимое узла <b>Medicine</b> корневого элемента: 
			           <br>Имя:<xsl:value-of select="//name"/></br>
			           Цена:<xsl:value-of select="//price"/>
			           <br>Дозировка:<xsl:value-of select="//dosage"/></br>
			           Цвет:<xsl:value-of select="//visual/color"/>
			           <br>Консистенция:<xsl:value-of select="//visual/consistency"/></br>
			           Рекомендации:<xsl:value-of select="//visual/indications"/>
			           <br></br>
			       </p>
	            </xsl:sort>
             </xsl:for-each>
	    </body>
	    </html>
	</xsl:template>
</xsl:stylesheet>



Сам 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.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Medicine.xml [
<!ELEMENT medicine (medicament*)>
<!ELEMENT medicament (name, price, dosage, visual)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ATTLIST price data_long CDATA #FIXED "LONG">
<!ELEMENT dosage (#PCDATA)>
<!ELEMENT visual (color, consistency, indications?)>
<!ELEMENT color (#PCDATA)>
<!ELEMENT consistency (#PCDATA)>
<!ELEMENT indications (#PCDATA)>
]>

<medicine>
    <medicament>
        <name>Anaviks</name>
        <price>256</price>
        <dosage>15mg</dosage>
        <visual>
            <color>brown</color>
            <consistency>water</consistency>
            <indications>without recipe</indications>
        </visual> 
    </medicament>
    
    <medicament>
        <name>Ambrosan</name>
        <price>130</price>
        <dosage>5mg</dosage>
        <visual>
            <color>white</color>
            <consistency>solid</consistency>
            <indications>without recipe</indications>
        </visual> 
    </medicament>
    
    <medicament>
        <name>Magnefar</name>
        <price>200</price>
        <dosage>10mg</dosage>
        <visual>
            <color>red</color>
            <consistency>powdered</consistency>
            <indications>by recipe</indications>
        </visual> 
    </medicament>
    
    <medicament>
        <name>Ferro-III</name>
        <price>90</price>
        <dosage>80mg</dosage>
        <visual>
            <color>green</color>
            <consistency>solid</consistency>
            <indications>without recipe</indications>
        </visual> 
    </medicament>
    
    <medicament>
        <name>Halset</name>
        <price>250</price>
        <dosage>15mg</dosage>
        <visual>
            <color>yellow</color>
            <consistency>water</consistency>
            <indications>without recipe</indications>
        </visual> 
    </medicament>
    
</medicine>
...
Рейтинг: 0 / 0
Перевод XML в HTML
    #38154993
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RelrinПодскажите, пожалуйста, в чем моя ошибка.В потере контекста
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<xsl:for-each select="medicine/medicament">
             <xsl:sort select="price"/>
	       <p>
	           Содержимое узла <b>Medicine</b> корневого элемента: 
	           <br>Имя:<xsl:value-of select="name"/></br>
	           Цена:<xsl:value-of select="price"/>
	           <br>Дозировка:<xsl:value-of select="dosage"/></br>
	           Цвет:<xsl:value-of select="visual/color"/>
	           <br>Консистенция:<xsl:value-of select="visual/consistency"/></br>
	           Рекомендации:<xsl:value-of select="visual/indications"/>
	           <br></br>
	       </p>
</xsl:for-each>
...
Рейтинг: 0 / 0
Перевод XML в HTML
    #38154996
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relrinотсортировать данные в xml по цене (убыванию)
Код: xml
1.
<xsl:sort select="price" data-type="number" order="descending"/>
...
Рейтинг: 0 / 0
Перевод XML в HTML
    #38155004
Relrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за подсказку. Правда единственное, чего пока не понятно: сортировки применяются также к некому пространсву(т.е. с указанием не только полю)?
...
Рейтинг: 0 / 0
Перевод XML в HTML
    #38155007
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RelrinПравда единственное, чего пока не понятно: сортировки применяются также к некому пространсву(т.е. с указанием не только полю)?Ничего не понял
...
Рейтинг: 0 / 0
Перевод XML в HTML
    #38155010
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RelrinПравда единственное, чего пока не понятно: сортировки применяются также к некому пространсву(т.е. с указанием не только полю)?В атрибуте select можно указать любое выражение, если Вы об этом
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Перевод XML в HTML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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