Ответы на упражнения для самоконтроля
11.1 а) Истина. b) Ложь. XPath отображает XML-документ в виде дерева, в котором каждая XML-конструкция представлена узлом, с) Истина, d) Ложь. Узел-атрибут имеет родительский узел, но не является дочерним к этому родительскому узлу, е) Истина, f) Истина, g) Истина, h) Ложь. Шаг в пути доступа иногда содержит предикат.
11.2. а) родительский, дочерних. b) корневой, с) пространств имен, d ) контекстным, е) Тесты, f) доступа, шагов, g) Функции, h) count (или last), i) Строковое, содержимое.
Упражнения
11.3. Используя XML-документ, приведенный на рис. 11.15, ответьте на следующие вопросы.
a)Какое выражение XPath выделит все элементы transaction с атрибутом date имеющим значения с 06/01/2000 по 07/30/2000?
b)Какое выражение XPath выделит все элементы transaction для amount, большего 200 USD?
c)Какое выражение XPath выделит все элементы transaction для account, равного 100392?
d)Какое выражение XPath вычисляет общее число транзакций для account, равного 203921?
e)Какое выражение XPath вычисляет среднее значение, переданное в account 203921?
f)Какое выражение XPath выделяет все транзакции, датированные 09/03/2000?
g)Какое выражение XPath выделяет все элементы amount с currency равной NTD и датой транзакции после 09/01/2000?
h) Какое выражение XPath выбирает все элементы transaction со значением account равным 100392?
<?xml version = "1.0"?>
<transactions>
<transaction date = "05/22/2000" id = "0122"> <from account = "100392"/> <to account = "203921"/>
<amount currency = "USD">15</amount>
</transaction>
<transaction date = "06/01/2000" id = "0129">
<from account = "203921"/>
<to account = "877521"/>
<amount currency = "USD">4800</amount>
</transaction>
transaction date = "06/01/2000" id = "0130"> <from account = "100392"/>
<to account = "992031"/>
<amount currency = "YEN">7000</amount> </transaction>
<transaction date » "06/10/2000" id = "0152">
<frora account = "992031"/>
<to account = "100392"/>
<amount currency = "USD">402.53</amount> </transaction>
<transaction date = "06/22/2000" id = "0188">
<from account = "100392"/>
<to account - "203921"/>
<amount currency = "USD">10000</amount>
</transaction>
<transaction date = "07/12/2000" id = "0200">
<from account = "100392"/>
<to account = "039211"/>
<amount currency = "NTD">3000</amount>
</transaction>
transaction date = "07/26/2000" id = "0211">
<from account = "203921"/>
<to account = "100392"/>
<amount currency "USD">400</amount>
</transaction>
<transaction date = "08/05/2000" id = "0225">
<from account = "039211"/>
<to account = "203921"/>
<amount currency = "USD">150</amount>
</transaction>
<transaction date = "09/03/2000" id = "0293">
<from account = "100392"/>
<to account = "039211"/>
<amount currency = "NTD">200000</amount>
</transaction>
</transactions>
Рис. 11.15. XML-документ с транзакциями со счета на счет
11.4. Создайте XML-документ, который бы удовлетворял результатам, полученным с помощью выражений XPath, приведенных на рис. 11.16.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.