Я думаю, что если вы не хотите поставить префикс всех ваших путей в этом шаблоне, совпадающих с /
, с переменной, которую я предложил сохранить результат вставки маркера, один из способов объединить существующий код с моим предложением - это изменить соответствиеот /
до /*
, например, используйте
<xsl:template match="/*">
<!-- div for text -->
<div>
<!-- LATIN : always present -->
<h3>Latin</h3>
<xsl:apply-templates select="//tei:body//tei:p"/>
<!-- ENGLISH : always present -->
<h3>English</h3>
<xsl:apply-templates select="//tei:back//tei:p[@xml:lang='EN']"/>
<!-- FRENCH : sometimes present -->
<xsl:if test="//tei:back//tei:p[@xml:lang='FR']">
<h3>French</h3>
<xsl:apply-templates select="//tei:back//tei:p[@xml:lang='FR']"/>
</xsl:if>
<!-- FOOTER for notes -->
<div class="footer">
<!-- FOOTNOTES (uses mode="build_footnotes" to construct a block of footnotes in <div>) -->
<xsl:if test="$footnote-sources">
<div class="footnotes" id="footnotesdiv">
<xsl:apply-templates select="$footnote-sources" mode="build_footnotes"/>
</div>
</xsl:if>
</div>
</div>
</xsl:template>
, что будет означать, что мое предложение использовать
<xsl:template match="/">
<xsl:apply-templates select="$fn-markers-added/node()"/>
</xsl:template>
может быть сохранено, и процессор XSLT его применяет.
Однако эта переменная $footnote-sources
используется в конце шаблона, насколько я вижу из фрагмента, ее использование на узлах из исходного входного документа не будет затронуто введениемвременный результат с добавлением маркеров, но как-то мне было бы неправильно в этом месте продолжать обрабатывать исходный ввод, в то время как остальные работают с временным результатом, поэтому я был бы склонен изменить объявление переменной на
<xsl:variable name="footnote-sources" select="$fn-markers-added/tei:text//tei:seg//date[@type='deposition_date'] |
$fn-markers-added/tei:text//tei:seg//note[@type='public_note'] | $fn-markers-added/tei:text//tei:seg[@corresp]"/>
С этими двумя изменениями я думаю, что мое предложение в предыдущем ответе должно быть применено.Хотя теперь, снова обращаясь к опубликованному источнику с корневым элементом tei
, мне интересно, как глобальная переменная с путями, начинающимися с tei:text
, выбрала бы что угодно, но, возможно, это упущение в примере.