powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / 2 xml в одином xsl проблемы
9 сообщений из 9, страница 1 из 1
2 xml в одином xsl проблемы
    #35876047
Koshurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
читал, пробовал, не выходит, на примерах работает а в реальном не работает
прошу помогите объединить 2 xml

xml 1

Код: 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.
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.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
<?xml version="1.0" encoding="windows-1251"?>
		<Товары>
			<Товар>
				<Ид>76bd6a6b-61b3-11dc-bcd8-001731f9419e</Ид>
				<Наименование>"Черный ящик"</Наименование>
				<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
				<Группы>
					<Ид>76bd6a50-61b3-11dc-bcd8-001731f9419e</Ид>
				</Группы>
				<Картинка>import_files/ 76 /76bd6a6b-61b3-11dc-bcd8-001731f9419e.jpeg</Картинка>
				<ЗначенияРеквизитов>
					<ЗначениеРеквизита>
						<Наименование>ВидНоменклатуры</Наименование>
						<Значение>Товар</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>ТипНоменклатуры</Наименование>
						<Значение>Товар</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>Полное наименование</Наименование>
						<Значение>"Черный ящик" USB-интерфейс  5  м (до  25  м)</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>Вес</Наименование>
						<Значение> 0 </Значение>
					</ЗначениеРеквизита>
				</ЗначенияРеквизитов>
			</Товар>
			<Товар>
				<Ид>af7bccb5-bd73-11d5-be96-005056c00008</Ид>
				<Наименование>ACE-EX560CHMAI К15/ 4 - 160 - 220 / 12 +TVSG0358- 2 </Наименование>
				<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
				<Группы>
					<Ид>b0fb0ed8-60ed-11dc- 9279 -001a9230a0c9</Ид>
				</Группы>
				<Картинка>import_files/af/af7bccb5-bd73-11d5-be96-005056c00008.jpeg</Картинка>
				<СтавкиНалогов>
					<СтавкаНалога>
						<Наименование>НДС</Наименование>
						<Ставка> 18 </Ставка>
					</СтавкаНалога>
				</СтавкиНалогов>
				<ЗначенияРеквизитов>
					<ЗначениеРеквизита>
						<Наименование>ВидНоменклатуры</Наименование>
						<Значение>Товар</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>ТипНоменклатуры</Наименование>
						<Значение>Товар</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>Полное наименование</Наименование>
						<Значение>ACE-EX560CHMAI, К15/ 4 - 160 - 220 / 12 , TVSG0358- 2  , C/CS,  1 / 3 ”, f= 3 . 5 - 8  мм,  73 , 8 - 35 , 0  гр/горизонт, F  1 . 4 - 360 , вариообъектив, АРД (Video),  36 ,0х47,1Х48, 1  мм,  75 , 0  г</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>Вес</Наименование>
						<Значение> 0 </Значение>
					</ЗначениеРеквизита>
				</ЗначенияРеквизитов>
			</Товар>
			<Товар>
				<Ид>0e91d6b8-8b93-11dd-94cb-001a9230a0c9</Ид>
				<Наименование>ADV02806GNB</Наименование>
				<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
				<Группы>
					<Ид>97bd9436-5f86-11dc-bcd3-001731f9419e</Ид>
				</Группы>
				<Картинка>import_files/0e/0e91d6b8-8b93-11dd-94cb-001a9230a0c9.jpeg</Картинка>
				<СтавкиНалогов>
					<СтавкаНалога>
						<Наименование>НДС</Наименование>
						<Ставка> 18 </Ставка>
					</СтавкаНалога>
				</СтавкиНалогов>
				<ЗначенияРеквизитов>
					<ЗначениеРеквизита>
						<Наименование>ВидНоменклатуры</Наименование>
						<Значение>Товар</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>ТипНоменклатуры</Наименование>
						<Значение>Товар</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>Полное наименование</Наименование>
						<Значение>Объектив с автоматической регулировкой ADV02806GNB</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>Вес</Наименование>
						<Значение> 0 </Значение>
					</ЗначениеРеквизита>
				</ЗначенияРеквизитов>
			</Товар>
       </Товары>

xml 2

Код: 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.
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.
<?xml version="1.0" encoding="windows-1251"?>
		<Предложения>
			<Предложение>
				<Ид>76bd6a6b-61b3-11dc-bcd8-001731f9419e</Ид>
				<Наименование>"Черный ящик"</Наименование>
				<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
				<Цены>
					<Цена>
						<Представление> 4   060  RUB за шт</Представление>
						<ИдТипаЦены>9d84711a-7c70-11dc-bd0a-001731f9419e</ИдТипаЦены>
						<ЦенаЗаЕдиницу> 4060 </ЦенаЗаЕдиницу>
						<Валюта>RUB</Валюта>
						<Единица>шт</Единица>
						<Коэффициент> 1 </Коэффициент>
					</Цена>
				</Цены>
				<Количество> 0 </Количество>
			</Предложение>
			<Предложение>
				<Ид>af7bccb5-bd73-11d5-be96-005056c00008</Ид>
				<Наименование>ACE-EX560CHMAI К15/ 4 - 160 - 220 / 12 +TVSG0358- 2 </Наименование>
				<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
				<Цены>
					<Цена>
						<Представление> 5   566  RUB за шт</Представление>
						<ИдТипаЦены>9d84711a-7c70-11dc-bd0a-001731f9419e</ИдТипаЦены>
						<ЦенаЗаЕдиницу> 5566 </ЦенаЗаЕдиницу>
						<Валюта>RUB</Валюта>
						<Единица>шт</Единица>
						<Коэффициент> 1 </Коэффициент>
					</Цена>
				</Цены>
				<Количество> 0 </Количество>
			</Предложение>
			<Предложение>
				<Ид>0e91d6b8-8b93-11dd-94cb-001a9230a0c9</Ид>
				<Наименование>ADV02806GNB</Наименование>
				<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
				<Цены>
					<Цена>
						<Представление> 977  RUB за шт</Представление>
						<ИдТипаЦены>9d84711a-7c70-11dc-bd0a-001731f9419e</ИдТипаЦены>
						<ЦенаЗаЕдиницу> 977 </ЦенаЗаЕдиницу>
						<Валюта>RUB</Валюта>
						<Единица>шт</Единица>
						<Коэффициент> 1 </Коэффициент>
					</Цена>
				</Цены>
				<Количество> 0 </Количество>
			</Предложение>
    </Предложения>

Пытаюсь сделать таблицу вида

КАРТИНКА НАИМЕНОВАНИЕ
ЦЕНА

тупо объединяю но не работает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     version="1.0">
  <xsl:output method="xml" omit-xml-declaration="yes"/>

  <xsl:template match="Товары">
  <Цена>
      <xsl:apply-templates select="xml2.xml"/>
      <xsl:apply-templates/>
   </Цена>	  
  </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>
...
Рейтинг: 0 / 0
2 xml в одином xsl проблемы
    #35876157
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читать про функцию document
...
Рейтинг: 0 / 0
2 xml в одином xsl проблемы
    #35876247
Koshurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения не
<xsl:apply-templates select="xml2.xml"/>
а
<xsl:apply-templates select="document ('xml2.xml')"/>

я уже читал и пробовал
Подскажи в чем ошибка
...
Рейтинг: 0 / 0
2 xml в одином xsl проблемы
    #35878225
Koshurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот наверное устал все работает
вот проблема не могу сравнить по Ид
Если ставиш цикл по второму xml

<xsl:for-each select="$doc2/Предложения/Предложение">

то внутри цикла не сравнить с первым xml по ид
как быть подскажите
...
Рейтинг: 0 / 0
2 xml в одином xsl проблемы
    #35878229
Koshurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот наверное устал все работает
вот проблема не могу сравнить по Ид
Если ставиш цикл по второму xml

<xsl:for-each select="$doc2/Предложения/Предложение">

то внутри цикла не сравнить с первым xml по ид
как быть подскажите
...
Рейтинг: 0 / 0
2 xml в одином xsl проблемы
    #35880551
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)
Код: plaintext
<xsl:for-each select="$doc2/Предложения/Предложение = current()/id">
2)
Код: plaintext
1.
<xsl:variable name="id" select="id"/>
<xsl:for-each select="$doc2/Предложения/Предложение = $id">

С уважением, Vasilisk
...
Рейтинг: 0 / 0
2 xml в одином xsl проблемы
    #35880789
Koshurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ночь не прошла безуспешно НО
XSLT Error: The expression does not evaluate to a node-set.Source tree node:
Крутил вертел смысл понял а на практике не получилось
...
Рейтинг: 0 / 0
2 xml в одином xsl проблемы
    #35880814
Koshurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во вот так получилось
<xsl:variable name="id" select="Ид"/>
<xsl:for-each select="$doc2/Предложения/Предложение[Ид = $id]">

Спасибо
...
Рейтинг: 0 / 0
2 xml в одином xsl проблемы
    #35882993
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, конечно. Опечатался. Нужно так
1)
Код: plaintext
<xsl:for-each select="$doc2/Предложения/Предложение[Ид = current()/Ид]">
2)
Код: plaintext
1.
<xsl:variable name="id" select="id"/>
<xsl:for-each select="$doc2/Предложения/Предложение[Ид = $id]">

С уважением, Vasilisk
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / 2 xml в одином xsl проблемы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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