powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / кореллирующий подзапрос в xpath
25 сообщений из 25, страница 1 из 1
кореллирующий подзапрос в xpath
    #36793736
makitka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всегда для меня была здесь некая недосказанность..
вроде и уверен, а с другой стороны, мало ли что.
интересует как 1.0, так и 2.0
можно ли сделать что-то подобное (на примере distinct)

node()[not(preceding-sibling::node()[.=.])]
при этом чтобы вторая . относилась к ноде из запроса верхнего уровня
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36793743
makitka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
node()[not(preceding-sibling::node()[.=.])]
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36794493
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
current() не то, что Вам нужно?
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36794811
makitka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_current() не то, что Вам нужно?
вроде нет. current() - это текущей контекстный узел, он не относится к тому первому node(), который написан в запросе
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36795860
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makitka,

xsl добавте, для ясности.

_Василиск_ - абсолютно прав указав вам на current(), т.к. эта функция приносит в XPath ноду в которой идет обработка, именно верхнего уровня, как вы и хотите
Код: plaintext
node()[not(preceding-sibling::node()[.=current()/.])]
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36795994
makitka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andry Trushinmakitka,

xsl добавте, для ясности.

_Василиск_ - абсолютно прав указав вам на current(), т.к. эта функция приносит в XPath ноду в которой идет обработка, именно верхнего уровня, как вы и хотите
Код: plaintext
node()[not(preceding-sibling::node()[.=current()/.])]

я могу повторить - мне не надо нода, в которой идет обработка, мне надо нода из запроса первого уровня, то есть
Код: plaintext
1.
2.
***node()***[not(preceding-sibling::node()[.=current()/.])]
             эта
можно ли как-то к ней обратиться?
xsl добавить смысла нет, так как вопрос по xpath. к примеру: выбрать все узлы, для которых нет предшествующих соседей с таким же значением
можно ли это написать в один запрос?
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36795996
makitka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
съехало..
Код: plaintext
1.
2.
***node()***[not(preceding-sibling::node()[.=current()/.])]
     ^
    эта
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36796061
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makitka,

невозможно рассматривать XPath в отрыве от дерева, которое вы обходите.
для каждого из тегов a, b, c вы можете узнать предидущие ноды, написать абстрактный XPath - нет.

Код: plaintext
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="windows-1251"?>
<root>
   <b> 1 </b>
   <c> 2 </c>
   <a> 1 </a>
   <a> 3 </a>
</root>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" />

    <xsl:template match="/">
        <xsl:for-each select="/root/*">
            <xsl:value-of select="name()" /> -
            <xsl:value-of select="count(preceding-sibling::node()[not(text()=current()/text())])" />
            <BR/>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36796098
makitka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну он не абстрактный.
допустим я нахожусь в узле root
Код: plaintext
1.
2.
3.
4.
5.
<root>
<val> 1 </val>
<val> 2 </val>
<val> 3 </val>
<val> 2 </val>
</root>

мне надо один запросом на Xpath получить выборку узлов val, для которыхавторнет предшествующих соседей с таким же значением
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36796103
makitka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как написать на XSLT, я знаю. меня интересует, возможно ли это одной строкой в XPath
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36796394
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makitka,

о. наконец то вы сформулировали задачу.

Код: plaintext
node()[not(.=preceding-sibling::node())]
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36796397
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее даже так, а то бог знает в каком руте вы сидите ;)
Код: plaintext
/root/node()[not(.=preceding-sibling::node())]
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #36796445
makitka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о, круто, спасибо за идею, я и забыл уже про знак = в XPath :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
кореллирующий подзапрос в xpath
    #37860558
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не получается уловить суть :(
Попробовал применить 9278349 к 9277509 , получилось, а какой xpath в for-each должен быть для такой структуры?
Код: 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.
<root>
	<ACTION>
		<DATE>03.03.2011</DATE>
		<ACTIONSTUDENT>
			<STUDENT>
				<RECORDNUMBER>1</RECORDNUMBER>
				<FACULTY>Станкостроение</FACULTY>
			</STUDENT>
			<STUDENT>
				<RECORDNUMBER>2</RECORDNUMBER>
			</STUDENT>
			<STUDENT>
				<RECORDNUMBER>3</RECORDNUMBER>
			</STUDENT>
			<STUDENT>
				<RECORDNUMBER>4</RECORDNUMBER>
				<FACULTY>Факультет менеджмента и экономики туристского бизнеса</FACULTY>
			</STUDENT>
			<STUDENT>
				<RECORDNUMBER>5</RECORDNUMBER>
				<FACULTY>Факультет спортивной и социально-культурной анимации</FACULTY>
			</STUDENT>
			<STUDENT>
				<RECORDNUMBER>6</RECORDNUMBER>
				<FACULTY>Факультет менеджмента туристской индустрии</FACULTY>
			</STUDENT>
			<STUDENT>
				<RECORDNUMBER>7</RECORDNUMBER>
				<FACULTY>Факультет менеджмента туристской индустрии</FACULTY>
			</STUDENT>
		</ACTIONSTUDENT>
	</ACTION>
</root>


Должен получиться список из четырех факультетов.
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37862031
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyкакой xpath в for-each должен быть для такой структуры?
Код: xml
1.
<xsl:for-each select="//STUDENT/FACULTY[not(.=preceding::node())]">
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37941656
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Встрял еще на одном подзапросе.

Есть исходные данные:
Код: 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.
<ROOT>
	<row DOC_ID="815" TAG="000" LastUpdate="2012-08-17T13:15:56.700" CODE="0" SufField="     n    22        4500" />
	<row DOC_ID="815" TAG="001" LastUpdate="2012-08-17T13:15:56.700" CODE="0" SufField="        00000055    BOOK00001068" />
	<row DOC_ID="815" TAG="005" CODE="0" SufField="20120817131556.7" />
	<row DOC_ID="815" TAG="008" CODE="0" SufField="030129                                 d" />
	<row DOC_ID="815" TAG="020" CODE="c" SufField="183-40" />
	<row DOC_ID="815" TAG="041" CODE="a" SufField="rus" />
	<row DOC_ID="815" TAG="080" CODE="a" SufField="15" />
	<row DOC_ID="815" TAG="084" CODE="a" SufField="88.53" />
	<row DOC_ID="815" TAG="090" CODE="a" SufField="88.53" />
	<row DOC_ID="815" TAG="090" CODE="x" SufField="К 24" />
	<row DOC_ID="815" TAG="090" CODE="c" SufField="88.53" />
	<row DOC_ID="815" TAG="245" CODE="a" SufField="Ваше преуспевание - в ваших руках" />
	<row DOC_ID="815" TAG="245" CODE="c" SufField="Д. Карнеги, Л.Д. Питер, С.Н. Паркинсон, А. Блох" />
	<row DOC_ID="815" TAG="245" CODE="h" SufField="Текст" />
	<row DOC_ID="815" TAG="260" CODE="a" SufField="М." />
	<row DOC_ID="815" TAG="260" CODE="b" SufField="Республика" />
	<row DOC_ID="815" TAG="260" CODE="c" SufField="1993" />
	<row DOC_ID="815" TAG="300" CODE="a" SufField="447 с." />
	<row DOC_ID="815" TAG="852" CODE="b" SufField="Б" />
	<row DOC_ID="815" TAG="852" CODE="p" SufField="284205-Б" />
	<row DOC_ID="815" TAG="852" CODE="t" SufField="1" />
	<row DOC_ID="815" TAG="901" CODE="t" SufField="m" />
	<row DOC_ID="1296" TAG="000" LastUpdate="2012-08-17T13:40:15.500" CODE="0" SufField="     n    22        4500" />
	<row DOC_ID="1296" TAG="001" LastUpdate="2012-08-17T13:40:15.500" CODE="0" SufField="    BOOK00000763                " />
	<row DOC_ID="1296" TAG="005" CODE="0" SufField="20120817134015.5" />
	<row DOC_ID="1296" TAG="008" CODE="0" SufField="950630s1995    rur           00000 rus d" />
	<row DOC_ID="1296" TAG="020" CODE="c" SufField="5200-00" />
	<row DOC_ID="1296" TAG="041" CODE="a" SufField="rus" />
	<row DOC_ID="1296" TAG="084" CODE="a" SufField="63.3(2)7" />
	<row DOC_ID="1296" TAG="090" CODE="a" SufField="63.3(2)7" />
	<row DOC_ID="1296" TAG="090" CODE="x" SufField="Б 72" />
	<row DOC_ID="1296" TAG="090" CODE="c" SufField="63.3(2)7" />
	<row DOC_ID="1296" TAG="100" CODE="a" SufField="Боффа, Д." />
	<row DOC_ID="1296" TAG="245" CODE="a" SufField="История Советского Союза" />
	<row DOC_ID="1296" TAG="245" CODE="b" SufField="в 2 т.: пер.с итал." />
	<row DOC_ID="1296" TAG="245" CODE="n" SufField="Т.1" />
	<row DOC_ID="1296" TAG="245" CODE="p" SufField="От революции до второй мировой войны. Ленин и Сталин. 1917-1941" />
	<row DOC_ID="1296" TAG="250" CODE="a" SufField="2-е изд." />
	<row DOC_ID="1296" TAG="260" CODE="a" SufField="М." />
	<row DOC_ID="1296" TAG="260" CODE="b" SufField="Международные отношения" />
	<row DOC_ID="1296" TAG="260" CODE="c" SufField="1994" />
	<row DOC_ID="1296" TAG="300" CODE="a" SufField="632 с." />
	<row DOC_ID="1296" TAG="653" CODE="a" SufField="история Советского Союза" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286393-П" />
	<row DOC_ID="1296" TAG="852" CODE="t" SufField="9" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286392-Р" />
	<row DOC_ID="1296" TAG="852" CODE="b" SufField="Б, П, Т" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286385-Б" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286386-Б" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286387-Б" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286388-Б" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286389-Б" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286390-Б" />
	<row DOC_ID="1296" TAG="852" CODE="p" SufField="286391-Б" />
	<row DOC_ID="1296" TAG="901" CODE="t" SufField="m" />

Нужно сгруппировать по DOC_ID и по TAG чтобы получить следующую структуру:

Код: 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.
<collection>
  <record>
    <leader>     n    22        4500</leader>
    <controlfield tag=" ">815</controlfield><!-- DOC_ID -->
	 <datafield tag="000">
		 <subfield code="0">     n    22        4500</subfield>
	 </datafield>
	  ...
	 <datafield tag="090">
		<subfield code="a">88.53</subfield>
		<subfield code="x">К 24</subfield>
		<subfield code="c">88.53</subfield>
	 </datafield>
	 <datafield tag="245">
		<subfield code="a">Ваше преуспевание - в ваших руках</subfield>
		<subfield code="c">Д. Карнеги, Л.Д. Питер, С.Н. Паркинсон, А. Блох</subfield>
		<subfield code="h">Текст</subfield>
	 </datafield>
	 ...
  </record>
  <record>
  ...
  </record>
</collection>


Сумел сгруппировать по DOC_ID, но дальше дело встало:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
	<xsl:template match="/ROOT">
		<collection>
			<xsl:for-each select="*[not(@DOC_ID=preceding-sibling::*/@DOC_ID)]">
				<xsl:variable name="DOC_ID" select="@DOC_ID"/>
				<record>
					<leader><xsl:value-of select="@SufField"/></leader>
					<controlfield tag=" "><xsl:value-of select="$DOC_ID"/></controlfield>
					<xsl:for-each select="parent::*/*[@DOC_ID=$DOC_ID][not(@TAG=preceding-sibling::*/@TAG)]">
						<datafield tag="{@TAG}"></datafield>
					</xsl:for-each>
				</record>
			</xsl:for-each>
		</collection>
	</xsl:template>

Выводится не повторяющийся TAG для всего набора данных, а не в рамках одного DOC_ID:
Код: 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.
  <record>
    <leader>     n    22        4500</leader>
    <controlfield tag=" ">815</controlfield>
    <datafield tag="000" />
    <datafield tag="001" />
    <datafield tag="005" />
    <datafield tag="008" />
    <datafield tag="020" />
    <datafield tag="041" />
    <datafield tag="080" />
    <datafield tag="084" />
    <datafield tag="090" />
    <datafield tag="245" />
    <datafield tag="260" />
    <datafield tag="300" />
    <datafield tag="852" />
    <datafield tag="901" />
  </record>
  <record>
    <leader>     n    22        4500</leader>
    <controlfield tag=" ">1296</controlfield>
    <datafield tag="100" />
    <datafield tag="250" />
    <datafield tag="653" />
  </record>
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37941729
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
<xsl:variable name="docs" select="parent::*/*[@DOC_ID=$DOC_ID]"/>
<xsl:for-each select="$docs[not(@TAG=preceding-sibling::*/@TAG)]">
  <datafield tag="{@TAG}"></datafield>
</xsl:for-each>


???
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37941844
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<xsl:template match="/MARCSQL_DOC">
	<collection xmlns="http://www.loc.gov/MARC21/slim">
		<xsl:for-each select="*[not(@DOC_ID=preceding-sibling::*/@DOC_ID)]">
			<xsl:variable name="DOC_ID" select="@DOC_ID"/>
			<record>
				<leader><xsl:value-of select="@SufField"/></leader>
				<controlfield tag=" "><xsl:value-of select="$DOC_ID"/></controlfield>

				<xsl:variable name="docs" select="parent::*/*[@DOC_ID=$DOC_ID]"/>
				<xsl:for-each select="$docs[not(@TAG=preceding-sibling::*/@TAG)]">
					<datafield tag="{@TAG}"></datafield>
				</xsl:for-each>
			</record>
		</xsl:for-each>
	</collection>
</xsl:template>

Результат тот же самый, только чуть медленнее.
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37942123
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит ключами нужно группировать
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37942166
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это как? Не сталкивался еще с ключами.
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37942219
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37942740
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ключи частично помогли. Они вывели весь набор возможных значений @TAG для каждого @DOC_ID, потеряв сортировку по @TAG. Такого же эффекта мне удалось добиться вчера и без них, правда работало медленнее. Сортировку и фильтрацию ненужных @TAG удалось сделать шаблонами соответственно taglist и TAG.
Код: 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.
<xsl:key name="doc" match="row" use="@DOC_ID"/>

<xsl:template match="/MARCSQL_DOC">
	<collection xmlns="http://www.loc.gov/MARC21/slim">
		<xsl:apply-templates select="*[generate-id(.)=generate-id(key('doc',@DOC_ID))]" mode="key"/>
	</collection>
</xsl:template>

<xsl:template match="row" mode="key">
	<record>
		<leader><xsl:value-of select="@SufField"/></leader>
		<controlfield tag=" "><xsl:value-of select="@DOC_ID"/></controlfield>
		<xsl:apply-templates select="parent::*/*[not(@TAG=preceding-sibling::*/@TAG)]" mode="taglist">
			<xsl:sort select="@TAG" data-type="text" order="ascending" />
			<xsl:with-param name="DOC_ID" select="@DOC_ID"/>
		</xsl:apply-templates>
	</record>
</xsl:template>

<xsl:template match="row" mode="taglist">
	<xsl:param name="DOC_ID"/>
	<xsl:apply-templates select="parent::*/*[@DOC_ID=$DOC_ID][@TAG=current()/@TAG]" mode="TAG"/>
</xsl:template>

<xsl:template match="row" mode="TAG">
	<datafield tag="{@TAG}"></datafield>
</xsl:template>
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37942773
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последняя проблема:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<?xml version="1.0" encoding="utf-8"?>
<collection xmlns="http://www.loc.gov/MARC21/slim">
  <record xmlns="">
    <leader>     n    22        4500</leader>
    <controlfield tag="00X">5929</controlfield>
    <datafield tag="000" ind1=" " ind2=" ">
      <subfield code="0">     n    22        4500</subfield>
    </datafield>

У всех record появился пустой атрибут xmlns, как от него избавиться?
...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37942785
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное нужно весь шаблон приложить )
Код: 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.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
	<xsl:output method="xml" indent="yes"/>
	
	<xsl:key name="doc" match="row" use="@DOC_ID"/>
	
	<xsl:template match="/MARCSQL_DOC">
		<collection xmlns="http://www.loc.gov/MARC21/slim">
			<xsl:apply-templates select="*[generate-id(.)=generate-id(key('doc',@DOC_ID))]" mode="key"/>
		</collection>
	</xsl:template>

	<xsl:template match="row" mode="key">
		<record>
			<leader><xsl:value-of select="@SubField"/></leader>
			<controlfield tag="00X"><xsl:value-of select="@DOC_ID"/></controlfield>
			<xsl:apply-templates select="parent::*/*[not(@TAG=preceding-sibling::*/@TAG)]" mode="taglist">
				<xsl:sort select="@TAG" data-type="text" order="ascending" />
				<xsl:with-param name="DOC_ID" select="@DOC_ID"/>
			</xsl:apply-templates>
		</record>
	</xsl:template>

	<xsl:template match="row" mode="taglist">
		<xsl:param name="DOC_ID"/>
		<xsl:apply-templates select="parent::*/*[@DOC_ID=$DOC_ID][@TAG=current()/@TAG]" mode="TAG"/>
	</xsl:template>

	<xsl:template match="row" mode="TAG">
		<datafield tag="{@TAG}" ind1=" " ind2=" ">
			<xsl:apply-templates select="parent::*/*[@DOC_ID=current()/@DOC_ID][@TAG=current()/@TAG]" mode="SUBFIELD"/>
		</datafield>
	</xsl:template>

	<xsl:template match="row" mode="SUBFIELD">
		<subfield code="{@CODE}">
			<xsl:value-of select="@SubField"/>
		</subfield>
	</xsl:template>
</xsl:stylesheet>

...
Рейтинг: 0 / 0
кореллирующий подзапрос в xpath
    #37942821
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решена.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / кореллирующий подзапрос в xpath
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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