Получите первый дочерний узел в XSLT с помощью local-name ()

Предположим, у нас есть этот простой xml ...

 <books>   
    <book>
       <author/>
       <title/>
    </book>
    <book>
       <author/>
       <title/>
    </book>
 </books>

Я использую этот xpath для получения элементов первого экземпляра книги.

//books[1]/*

Returns

<author/>
<title/>

И это работает нормально, но мне нужно заставить его работать с помощью local-name (). Я пробовал следующее, но ни одна из этих работ ...

//*[local-name()='books']/*

это возвращает повторяющиеся элементы author и title, не очень хорошо, они нужны мне только от первого дочернего элемента

//*[local-name()='books'][0]/*

это ничего не возвращает

В основном, я хотите создать файл CSV, поэтому первая строка вывода будет заголовком, в котором перечислены имена атрибутов книги, за которыми следуют произвольные значения данных. Мне нужно только заставить работать заголовок.

author,title
john,The End is Near
sally,Looking for Answers
6
задан raffian 5 April 2013 в 14:22
поделиться