XSLT копия из внешнего документа - PullRequest
0 голосов
/ 10 ноября 2018

В XSLT 2.0 я преобразовываю документ tei-xml в HTML. В этом преобразовании мне нужен контент из другого документа: я хочу скопировать / преобразовать небольшой набор узлов из второго документа в вывод HTML.

При обработке основного tei документа я получаю идентификатор и присваиваю его переменной:

<xsl:variable name="licenseid" select="./replace(@corresp,'#','')"/>

Затем я перехожу к другому документу и выбираю узел, используя переменную, с возвращенным узлом, назначенным переменной:

<xsl:variable name="licenseloc" select="doc(concat($somepath,'includes_sourcedesc.xml'))//tei:list[@type='copyright_type']/tei:item[@xml:id=$licenseid]"/>

Этот узел, который я получаю, выглядит так:

<list type="copyright_type">
  <item xml:id="copyright-cc-by-nc-sa-4.0">
     <desc xml:lang="en">This work is made by available the author under the 
     <ref target="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 
        4.0 International License</ref>.</desc>
  </item>
</list>

И я хочу преобразовать это (из desc) в это:

<span>This work is made by available by the author under the 
     <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 
        4.0 International License</a>.</span>

Если бы это было в моем «текущем» tei документе, я бы обработал его с помощью шаблонов, но я не уверен, как копировать и преобразовывать вложенные слои из другого «текущего» документа.

...