У меня есть фрагмент XML, который я сгенерировал через xquery, и я пытаюсь применить к нему таблицу стилей xsl. Я знаю, что таблица стилей работает с файлами xml, которые я использовал для построения запроса, но я не уверен, почему он не работает с моим сгенерированным xml:Нечеткое поведение с шаблонами xsl
У меня есть следующий фрагмент xml в одном из исходных документов :
<zone n="EETS.QD.4">
<line n="l.1">
<orig><hi>O</hi> alle ye <gap quantity="8" unit="chars" reason="illegible"
/>s of ierusaleem<note place="bottom" anchored="true"
xml:id="explanatory">The “l” in “ierusaleem” in the final word is
determined from context.</note></orig>
</line>
в XQUERY сгенерированный документ, это сочетается с линиями других документов, чтобы получить следующее:
<list xml:id="compare">
<item>
<orig>London, British Library Harley 2251: <ref target=".html">O alle ye doughtres · of Jerusalem</ref>
</orig>
</item>
<item>
<orig>London, British Library Harley 2255: <ref target=".html">
<hi rend="blue_pilcrow">¶</hi>O alle ye douħtren of <hi rend="underline">ierusaleem</hi>
</ref>
</orig>
</item>
<item>
<orig>Long Melford, Holy Trinity Church Clopton Chantry Chapel: <ref target=".html">
<hi>O</hi> alle ye <gap quantity="8" unit="chars" reason="illegible"/>s of ierusaleem<note place="bottom" anchored="true" xml:id="explanatory">The “l” in “ierusaleem” in the final word is
determined from context.</note>
</ref>
</orig>
</item>
<item>
<orig>Cambridge, Jesus College Q.G.8: <ref target=".html">
<hi>A</hi>ll the <hi rend="underline">doughtren </hi>of <hi rend="underline">Ierusalem</hi> .</ref>
</orig>
</item>
<item>
<orig>Oxford, Bodleian Library Laud 683: <ref target=".html">O alle ẏe douhtren of jerusaleem</ref>
</orig>
</item>
</list>
в обоих случаях следующий шаблон применяется:
<xsl:template match="tei:orig/tei:gap">
<xsl:text>[</xsl:text>
<xsl:variable name="max" select="@quantity"/>
<xsl:for-each select="1 to $max">
<xsl:text>.</xsl:text>
</xsl:for-each>
<xsl:text>]</xsl:text>
</xsl:template>
В стандартном документе, он показывает, что я хочу правильно:
O alle ye [........]s of ierusaleem
Но при нанесении на генерируемый документ, я получаю следующее:
O alle ye s of ierusaleem
Очевидно, что это не поиск дочерних узлов, но я не уверен, почему, поскольку шаблон работает с тегом orig.
Вторая проблема заключается в том, что я не могу заставить элемент примечания подавить либо через xquery, либо xslt, но я подозреваю, что это связано с этой проблемой с пробелом. Любой совет будет оценен, спасибо!
В создаваемом XQuery документе «gap» не является дочерним элементом 'orig'; это ребенок 'ref'. –
Я не вижу никаких элементов 'gap' ... –
Именно так. Я чувствую себя полным идиотом, чтобы не поймать это. Спасибо, Майкл! – medievalmatt