Я только что проходил через PragProg Continuous Testing With Ruby , где говорится о вызове IRB
в контексте текущего класса чтобы проверить код вручную.
Однако они цитируют, что если вы вызываете IRB.start
в классе, t независимо от того, к какому xml вы его применяете, он генерирует свои собственные данные).
Результатом этого (с использованием xsltproc) является:
<?xml version="1.0" encoding="utf-8"?>
<root xmlns="http://www.w3.org/1999/xhtml" xmlns:set="http://exslt.org/sets">
<values>
<node>1</node>
<node>2</node>
<node>3</node>
</values>
<count>1</count>
</root>
Учитывая, что вызываемый шаблон возвращает три узла, я ожидал "count ($ elements ) "будет 3, но это один. Я подозревал, что, возможно, результаты были заключены в какой-то корневой узел, но любая попытка выполнить count ($ elements / *) или что-то подобное не удалось, я полагаю, потому что $ elements является фрагментом дерева результатов, а не набором узлов.
У меня нет доступа ни к одному из преимуществ exslt или xslt2.0, конечно, есть способ получить количество узлов, хранящихся в переменной?
Я также был бы счастлив посчитать узлы возвращается шаблоном вызова без использования промежуточной переменной, но я не понимаю, как это возможно.