Для моей домашней работы мне задали в XPATH вопрос, на который я не могу ответить. Вот вопрос: «Предоставьте выражение XPath, которое из элемента возвращает количество людей после (в порядке документа) того, чей почтовый индекс является текущим узлом».
<addressbook xmlns="https://esi-bru.be/WEBR4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://esi-bru.be/WEBR4 addressbook.xsd">
<persons>
<person id='p1'>
<identity>
<lastname>Loiselle</lastname>
<firstnames>
<firstname>Raymond</firstname>
<firstname>Claude</firstname>
</firstnames>
<sex>MALE</sex>
<birth>1991-10-15</birth>
<death>NULL</death>
</identity>
<addresses>
<postal>
<country_id>BE</country_id>
<postalcode>4850</postalcode>
<city>Plombières</city>
<street>Rue Basse</street>
<number>113</number>
</postal>
<emails>
<email use='PROFESSIONAL'>natoque.penatibus@loremipsumsodales.org</email>
<email use='PRIVATE'>id@lacusMaurisnon.net</email>
</emails>
<phones>
<phone use='PRIVATE' type='LANDLINE'>042082616</phone>
<phone use='PRIVATE' type='CELLPHONE'>0497806590</phone>
<phone use='PROFESSIONAL' type='LANDLINE'>022966411</phone>
<phone use='PROFESSIONAL' type='IPPHONE'>082648320</phone>
</phones>
</addresses>
<relations>
<relation>
<person_id>p3</person_id>
<level>1</level>
</relation>
<relation>
<person_id>p7</person_id>
<level>-1</level>
</relation>
<relation>
<person_id>p12</person_id>
<level>0</level>
</relation>
<relation>
<person_id>p5</person_id>
<level>3</level>
</relation>
</relations>
</person>
<person id='p2'>
<identity>
<lastname>Frueh</lastname>
<firstnames>
<firstname>Andreas</firstname>
</firstnames>
<sex>MALE</sex>
<birth>1984-04-15</birth>
<death>NULL</death>
</identity>
<addresses>
<postal>
<country_id>DE</country_id>
<postalcode>4850</postalcode>
<city>Vettelschoß</city>
<street>Wallstrasse</street>
<number>21</number>
</postal>
<emails>
<email use='PRIVATE'>Aenean.eget@etlibero.net</email>
<email use='PROFESSIONAL'>Proin.nisl.sem@vitaevelitegestas.edu</email>
</emails>
<phones>
<phone use='PRIVATE' type='LANDLINE'>03327839582</phone>
<phone use='PRIVATE' type='CELLPHONE'>017436797167</phone>
<phone use='PROFESSIONAL' type='LANDLINE'>07056419296</phone>
<phone use='PROFESSIONAL' type='IPPHONE'>09747178748</phone>
</phones>
</addresses>
<relations>
<relation>
<person_id>p14</person_id>
<level>4</level>
</relation>
<relation>
<person_id>p1</person_id>
<level>2</level>
</relation>
<relation>
<person_id>p3</person_id>
<level>-1</level>
</relation>
<relation>
<person_id>p10</person_id>
<level>1</level>
</relation>
<relation>
<person_id>p11</person_id>
<level>1</level>
</relation>
<relation>
<person_id>p6</person_id>
<level>2</level>
</relation>
<relation>
<person_id>p5</person_id>
<level>2</level>
</relation>
</relations>
</person>
<person id='p3'>
<identity>
<lastname>Diederich</lastname>
<firstnames>
<firstname>Juliane</firstname>
</firstnames>
<sex>FEMALE</sex>
<birth>1963-12-23</birth>
<death>2005-05-02</death>
</identity>
<addresses>
<postal>
<country_id>DE</country_id>
<postalcode>56414</postalcode>
<city>Oberahr</city>
<street>Stuttgarter Platz</street>
<number>75</number>
</postal>
<emails>
<email use='PRIVATE'>Aenean.eget@etlibero.net</email>
</emails>
<phones/>
</addresses>
<relations>
<relation>
<person_id>p12</person_id>
<level>4</level>
</relation>
<relation>
<person_id>p11</person_id>
<level>4</level>
</relation>
<relation>
<person_id>p1</person_id>
<level>4</level>
</relation>
</relations>
</person>
</persons>
</addressbook>
Я начал запрос, но не совсем понимаю, как. работает и каким будет мой текущий узел. как я могу сравнить со всеми другими узлами того же типа в порядке, не беря тот, у которого есть position () <почтовый индекс, который я сравниваю с другим. </p>
запрос:
//postalcode/(count(./text() = //person/addresses/postal/postalcode/text()))
Я не обязательно прошу исправить запрос, но больше, чтобы иметь возможность лучше понять определенные концепции, чтобы иметь возможность ответить на него.
Извините за мой плохой английский sh кстати ..