XSLT:如何获取祖先文本内容
XSLT: How to get ancestor-text content
我有以下样式表,是在大家的大力帮助下创建的!
<xsl:template match="/">
<xsl:for-each select="$files">
<xsl:result-document href="{substring-before(document-uri(), '.xml')}.txt" method="text">
Kuerzel;AT/NT;Stelle;Zitat
<xsl:apply-templates select="//note"></xsl:apply-templates>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
<xsl:template match="//note">
<xsl:choose>
<xsl:when test="child::*[1][self::ref[@type='biblical']]">
<xsl:for-each select="child::*[@type='biblical']/@cRef">
<xsl:value-of select="."/>
<xsl:text>;</xsl:text>
</xsl:for-each>
<xsl:text></xsl:text>
<xsl:text>test;</xsl:text>
<xsl:value-of select="."/>
<xsl:choose>
<xsl:when test="ancestor::q[1]"> <!-- this is the part in question -->
<xsl:value-of select="ancestor::q[1]"></xsl:value-of>
<xsl:text>;</xsl:text>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:template>
本XML的艺术应该是在<note><ref type="biblical">
之前抢到<q>
:
<text><body>
<div><head facs="#facs_13_TextRegion_1624022854326_321">
<pb facs="#facs_13" xml:id="img_0013" n="4v"/>
<lb facs="#facs_13_line_1624022854428_324" n="N001"/>Von dem Menschen vor dem fall.</head>
<p facs="#facs_13_TextRegion_1624022900738_331">
<lb facs="#facs_13_line_1624022854429_325" n="N001"/>Gott hat von anfang den Menschen erschaffen
<lb facs="#facs_13_r2l4" n="N002"/><note place="margin-left" facs="#facs_13_TextRegion_1624023026742_370">
<lb facs="#facs_13_r1l1" n="N001"/>Gen. 1.</note>zu seinem Ebenbilde und gleichnuß<note type="annotation">Vgl. <ref type="biblical" cRef="Gn_1,26-27">Gen 1,26f.</ref></note> und in mit
<lb facs="#facs_13_r2l5" n="N003"/>gnaden geziert, auch durch die erblich <w>gerechtig<pc>-</pc>
<lb facs="#facs_13_r2l7" n="N004"/>keit</w> dermassen zugerichtet, das er in allen <w>kreff<pc>-</pc>
<lb facs="#facs_13_r2l8" n="N005"/>ten</w> deß leibs und der seelen gantz recht were und von <w>kei<pc>-</pc>
<lb facs="#facs_13_r2l9" n="N006"/>nen</w> bösen unnd unordenlichen bewegungen angefochten
<lb facs="#facs_13_r2l10" n="N007"/>wurde, sonder das inn ime das fleisch dem Geist und die
<lb facs="#facs_13_r2l11" n="N008"/>understen krefften der seele den obersten (welche allein zu
<lb facs="#facs_13_r2l12" n="N009"/>dem guten anweyßten) gehorsam weren.
</p>
<p facs="#facs_13_TextRegion_1624022922087_339">
<lb facs="#facs_13_line_1624022900872_333" n="N001"/>Da nun das<note type="crit_app"><bibl><ref type="bibl" target="#mehlhausen_augsburger_interim"><surname type="editor">Mehlhausen</surname>, Augsburger Interim</ref>, S. 36</bibl>: des.</note> menschen gemüt dermassen wol <w>zuge<pc>-</pc>
<lb facs="#facs_13_r2l14" n="N002"/><note place="margin-left" facs="#facs_13_TextRegion_1624023026742_369">
<lb facs="#facs_13_r1l2" n="N001"/>Eccle. 15.</note>richtet</w> was, <q>hat in Gott gelassen inn der hand seines <w>eig<pc>-</pc>
<lb facs="#facs_13_r2l15" n="N003"/>nen</w> Raths</q><note type="annotation"><ref type="biblical" cRef="Sir_15,14">Sir 15,14</ref>.</note>, Also weyt, das er nicht weniger macht hette
<lb facs="#facs_13_r2l16" n="N004"/>zu wölen das gut als das böse.
</p>
<p facs="#facs_13_TextRegion_1624022943633_345">
<lb facs="#facs_13_r2l17" n="N001"/>Wo sich dann der Mensch diser seiner freiheit recht
<lb facs="#facs_13_r2l18" n="N002"/>gebraucht, auch den gebotten, die ime Gott selbs gegeben,
<lb facs="#facs_13_r2l19" n="N003"/>gehorsam gewesen were, so hette er die güter und <w>gerechtig<pc>-</pc>
<lb facs="#facs_13_r2l20" n="N004"/>keit</w>, die er empfangen, ime selbst und allen seinen <w>nachkom<pc>-</pc>
<lb facs="#facs_13_r2l21" n="N005"/>men</w> erhalten, auch ime und inen nicht gemangelt, <w>frümb<pc>-</pc>
<lb facs="#facs_13_r2l22" n="N006"/>klich</w> und seligklich zuleben. Es het ine auch weder hunger
<lb facs="#facs_13_r2l23" n="N007"/>noch durst, hitz noch kelte, schmertz noch kranckheit noch
<lb facs="#facs_13_r2l24" n="N008"/>der todt betrübt oder geengstiget. Besonder het er alle <w>sün<pc>-</pc>
<lb facs="#facs_13_r2l25" n="N009"/>den</w> und gebrechen gemitten und<note type="crit_app">Fehlt <bibl><ref type="bibl" target="#mehlhausen_augsburger_interim"><surname type="editor">Mehlhausen</surname>, Augsburger Interim</ref>, S. 36</bibl>.</note> von den straffen als <w>be<pc>-</pc>
<lb facs="#facs_13_r2l26" n="N010"/>lonungen</w> der sünden sich keinerley gefahr weder für sich
<lb facs="#facs_13_r2l27" n="N011"/>selbst noch seine nachkommen besorgen dürffen.
</p>
</div>
</body></text>
我的预期输出是这样的:
Kuerzel;AT/NT;Stelle;Zitat
Gn_1,26-27;test;Vgl. Gen 1,26f.;
Sir_15,14;test;Sir 15,14.;hat Gott gelassen inn der hand seines...
因此我在模板中添加了有问题的行,希望以这种方式解决这个问题。
但是,它似乎不起作用:-/
或者,我可能也可以查找子字符串“Vgl”。在注释元素中,然后直接转到 <q>
之前。
谁能帮帮我?
q
元素和带有 ref/@type = 'biblical'
的 note
之间似乎没有任何祖先关系。
也许 preceding::q[1]
是您正在寻找的东西,但如果您不将样本减少到最低限度来证明问题,那么您让我们很难提供帮助。
我有以下样式表,是在大家的大力帮助下创建的!
<xsl:template match="/">
<xsl:for-each select="$files">
<xsl:result-document href="{substring-before(document-uri(), '.xml')}.txt" method="text">
Kuerzel;AT/NT;Stelle;Zitat
<xsl:apply-templates select="//note"></xsl:apply-templates>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
<xsl:template match="//note">
<xsl:choose>
<xsl:when test="child::*[1][self::ref[@type='biblical']]">
<xsl:for-each select="child::*[@type='biblical']/@cRef">
<xsl:value-of select="."/>
<xsl:text>;</xsl:text>
</xsl:for-each>
<xsl:text></xsl:text>
<xsl:text>test;</xsl:text>
<xsl:value-of select="."/>
<xsl:choose>
<xsl:when test="ancestor::q[1]"> <!-- this is the part in question -->
<xsl:value-of select="ancestor::q[1]"></xsl:value-of>
<xsl:text>;</xsl:text>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:template>
本XML的艺术应该是在<note><ref type="biblical">
之前抢到<q>
:
<text><body>
<div><head facs="#facs_13_TextRegion_1624022854326_321">
<pb facs="#facs_13" xml:id="img_0013" n="4v"/>
<lb facs="#facs_13_line_1624022854428_324" n="N001"/>Von dem Menschen vor dem fall.</head>
<p facs="#facs_13_TextRegion_1624022900738_331">
<lb facs="#facs_13_line_1624022854429_325" n="N001"/>Gott hat von anfang den Menschen erschaffen
<lb facs="#facs_13_r2l4" n="N002"/><note place="margin-left" facs="#facs_13_TextRegion_1624023026742_370">
<lb facs="#facs_13_r1l1" n="N001"/>Gen. 1.</note>zu seinem Ebenbilde und gleichnuß<note type="annotation">Vgl. <ref type="biblical" cRef="Gn_1,26-27">Gen 1,26f.</ref></note> und in mit
<lb facs="#facs_13_r2l5" n="N003"/>gnaden geziert, auch durch die erblich <w>gerechtig<pc>-</pc>
<lb facs="#facs_13_r2l7" n="N004"/>keit</w> dermassen zugerichtet, das er in allen <w>kreff<pc>-</pc>
<lb facs="#facs_13_r2l8" n="N005"/>ten</w> deß leibs und der seelen gantz recht were und von <w>kei<pc>-</pc>
<lb facs="#facs_13_r2l9" n="N006"/>nen</w> bösen unnd unordenlichen bewegungen angefochten
<lb facs="#facs_13_r2l10" n="N007"/>wurde, sonder das inn ime das fleisch dem Geist und die
<lb facs="#facs_13_r2l11" n="N008"/>understen krefften der seele den obersten (welche allein zu
<lb facs="#facs_13_r2l12" n="N009"/>dem guten anweyßten) gehorsam weren.
</p>
<p facs="#facs_13_TextRegion_1624022922087_339">
<lb facs="#facs_13_line_1624022900872_333" n="N001"/>Da nun das<note type="crit_app"><bibl><ref type="bibl" target="#mehlhausen_augsburger_interim"><surname type="editor">Mehlhausen</surname>, Augsburger Interim</ref>, S. 36</bibl>: des.</note> menschen gemüt dermassen wol <w>zuge<pc>-</pc>
<lb facs="#facs_13_r2l14" n="N002"/><note place="margin-left" facs="#facs_13_TextRegion_1624023026742_369">
<lb facs="#facs_13_r1l2" n="N001"/>Eccle. 15.</note>richtet</w> was, <q>hat in Gott gelassen inn der hand seines <w>eig<pc>-</pc>
<lb facs="#facs_13_r2l15" n="N003"/>nen</w> Raths</q><note type="annotation"><ref type="biblical" cRef="Sir_15,14">Sir 15,14</ref>.</note>, Also weyt, das er nicht weniger macht hette
<lb facs="#facs_13_r2l16" n="N004"/>zu wölen das gut als das böse.
</p>
<p facs="#facs_13_TextRegion_1624022943633_345">
<lb facs="#facs_13_r2l17" n="N001"/>Wo sich dann der Mensch diser seiner freiheit recht
<lb facs="#facs_13_r2l18" n="N002"/>gebraucht, auch den gebotten, die ime Gott selbs gegeben,
<lb facs="#facs_13_r2l19" n="N003"/>gehorsam gewesen were, so hette er die güter und <w>gerechtig<pc>-</pc>
<lb facs="#facs_13_r2l20" n="N004"/>keit</w>, die er empfangen, ime selbst und allen seinen <w>nachkom<pc>-</pc>
<lb facs="#facs_13_r2l21" n="N005"/>men</w> erhalten, auch ime und inen nicht gemangelt, <w>frümb<pc>-</pc>
<lb facs="#facs_13_r2l22" n="N006"/>klich</w> und seligklich zuleben. Es het ine auch weder hunger
<lb facs="#facs_13_r2l23" n="N007"/>noch durst, hitz noch kelte, schmertz noch kranckheit noch
<lb facs="#facs_13_r2l24" n="N008"/>der todt betrübt oder geengstiget. Besonder het er alle <w>sün<pc>-</pc>
<lb facs="#facs_13_r2l25" n="N009"/>den</w> und gebrechen gemitten und<note type="crit_app">Fehlt <bibl><ref type="bibl" target="#mehlhausen_augsburger_interim"><surname type="editor">Mehlhausen</surname>, Augsburger Interim</ref>, S. 36</bibl>.</note> von den straffen als <w>be<pc>-</pc>
<lb facs="#facs_13_r2l26" n="N010"/>lonungen</w> der sünden sich keinerley gefahr weder für sich
<lb facs="#facs_13_r2l27" n="N011"/>selbst noch seine nachkommen besorgen dürffen.
</p>
</div>
</body></text>
我的预期输出是这样的:
Kuerzel;AT/NT;Stelle;Zitat
Gn_1,26-27;test;Vgl. Gen 1,26f.;
Sir_15,14;test;Sir 15,14.;hat Gott gelassen inn der hand seines...
因此我在模板中添加了有问题的行,希望以这种方式解决这个问题。
但是,它似乎不起作用:-/
或者,我可能也可以查找子字符串“Vgl”。在注释元素中,然后直接转到 <q>
之前。
谁能帮帮我?
q
元素和带有 ref/@type = 'biblical'
的 note
之间似乎没有任何祖先关系。
也许 preceding::q[1]
是您正在寻找的东西,但如果您不将样本减少到最低限度来证明问题,那么您让我们很难提供帮助。