я уверен, что я что-то просто не хватает здесь ...XSLT выбрать из вложенного элемента
Я не могу выбрать вложенный элемент XML с помощью трансформирующего XLST.
Вот XML-
<collection>
<record>
<leader>01814nam a2200205Ia 4500</leader>
<controlfield tag="003">PSCA</controlfield>
<controlfield tag="005">20141201150951.0</controlfield>
<controlfield tag="008">131110s9999 xx 000 0 und d</controlfield>
<datafield tag="040" ind1=" " ind2=" ">
<subfield code="a">PSCA</subfield>
<subfield code="c">Calyx</subfield>
</datafield>
<datafield tag="110" ind1=" " ind2=" ">
<subfield code="9">76</subfield>
<subfield code="a">Children's Services Central</subfield>
</datafield>
<datafield tag="245" ind1="0" ind2="0">
<subfield code="a">What's Pedagogy Anyway?</subfield>
<subfield code="b">Using pedagogical documentation to engage with the Early Years Learning Framework </subfield>
</datafield>
</record>
</collection
нужно выбрать следующие данные:
/коллекция
/запись
/DataField
->/@ tag = '245'
---->/subfield/@ code = 'a'
Ожидаемый результат: «Что такое педагогика?»
Мой XLST выбрать этот узел/данных как таковой:
<xsl:for-each select="collection/record/datafield">
<xsl:choose>
<xsl:when test="@tag=245">
<xsl:choose>
<xsl:when test="/subfeild/@code=a">
<xsl:value-of select="/subfeild"/>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:for-each>
Я бегу это с помощью библиотеки LXML в Python, если это важно. Код компилируется и запускается без ошибок. Мой выход равен нулю.
Любые идеи? Спасибо заранее.
И вот оно! – bitsar
Спасибо, Джоэл ..... очень ценим. – bitsar
Хорошо, возможно, было слишком рано ...... Как я могу перебирать все «поля данных», используя для каждого вместо прямого выбора? – bitsar