XML/XQuery/context

Материал из Web эксперт
Перейти к: навигация, поиск

Passing the context car to the function

File: Data.xml

<order>
  <car model="A">
    <id>1111</id>
    <name language="en">name 1</name>
  </car>
  <car model="B">
    <id>2222</id>
    <name language="en">name 2</name>
  </car>
  <car model="B">
    <id>8888</id>
    <name language="en">name 3</name>
  </car>
</order>

File: Query.xquery
declare function local:prod2ndDigit($prod as element()?) as xs:string? {
    substring($prod/id, 2, 1)
};
doc("Data.xml")//car[local:prod2ndDigit(.) > "5"]

Output:
<?xml version="1.0" encoding="UTF-8"?>
<car model="B">
    <id>8888</id>
    <name language="en">name 3</name>
  </car>