使用 XSLT 获取单个 TEI 标签的不同属性
Get different attributes of a single TEI-Tags with XSLT
我有一个 xml 代码 (TEI),如下所示:
<pb n="19"/> <lb n="1"/><rs type="author" xml:id="MH"><rs type="patient" xml:id="BavoilMr">Mr. Bavoil</rs> - 56 ans - clincailler au quai au<supplied reason="omitted">x</supplied> fleur<supplied reason="omitted">s</supplied> - <lb n="2"/>100 toujours l'ouïe dure <lb n="3"/>26 mai<note>"mai" korrigiert aus "mars".</note>- l'oreille droite jette du pus depuis 6 ou 8 mois - ce mois<supplied reason="omitted">-</supplied> <lb n="4"/>ci encore plus
- surdité de cette oreille depuis 2 mois <lb n="5"/>il a eu un coup d'air en route - depuis 15 ans il a eu <lb n="6"/>l'oreille dure alternativement l'une et l'autre - <lb n="7"/>maintenant alternativement aussi <lb n="8"/>douleur <del rend="crossout">dans</del> sur l'os externe du coude il ne peut rien lever en
并想将其翻译成一个 html 文件,其中 RS-Tag <rs type="author" xml:id="MH"> ... </rs>
是一个像这样的锚点 <a id=MH"> ... </a>
我的 XSL 代码可以翻译一个具有特殊属性的 rs 标签:
<xsl:template match= "//tei:rs[@xml:id='MH']">
<a id="MH">
<xsl:apply-templates/>
</a>
</xsl:template>
但我无法遍历所有 rs 标签以获取所有 xml:id 作为属性并将其作为 id 写入 <a id="MH">
喜欢:
<a id="Bavoil"> ... </a>
<a id="xml_id_of_person2> ... </a>
<a id="xml_id_of_person3"> ... </a>
有人可以帮助我吗?
您可以使用以下匹配具有 @id
属性的所有 <rs>
节点。
<xsl:template match="rs[@id]">
样本XML
<root>
<rs type="author" id="MH"></rs>
<rs type="patient" id="BavoilMr"></rs>
</root>
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="rs[@id]">
<a id="{@id}"></a>
</xsl:template>
</xsl:stylesheet>
输出
<a id="MH"/>
<a id="BavoilMr"/>
我有一个 xml 代码 (TEI),如下所示:
<pb n="19"/> <lb n="1"/><rs type="author" xml:id="MH"><rs type="patient" xml:id="BavoilMr">Mr. Bavoil</rs> - 56 ans - clincailler au quai au<supplied reason="omitted">x</supplied> fleur<supplied reason="omitted">s</supplied> - <lb n="2"/>100 toujours l'ouïe dure <lb n="3"/>26 mai<note>"mai" korrigiert aus "mars".</note>- l'oreille droite jette du pus depuis 6 ou 8 mois - ce mois<supplied reason="omitted">-</supplied> <lb n="4"/>ci encore plus
- surdité de cette oreille depuis 2 mois <lb n="5"/>il a eu un coup d'air en route - depuis 15 ans il a eu <lb n="6"/>l'oreille dure alternativement l'une et l'autre - <lb n="7"/>maintenant alternativement aussi <lb n="8"/>douleur <del rend="crossout">dans</del> sur l'os externe du coude il ne peut rien lever en
并想将其翻译成一个 html 文件,其中 RS-Tag <rs type="author" xml:id="MH"> ... </rs>
是一个像这样的锚点 <a id=MH"> ... </a>
我的 XSL 代码可以翻译一个具有特殊属性的 rs 标签:
<xsl:template match= "//tei:rs[@xml:id='MH']">
<a id="MH">
<xsl:apply-templates/>
</a>
</xsl:template>
但我无法遍历所有 rs 标签以获取所有 xml:id 作为属性并将其作为 id 写入 <a id="MH">
喜欢:
<a id="Bavoil"> ... </a>
<a id="xml_id_of_person2> ... </a>
<a id="xml_id_of_person3"> ... </a>
有人可以帮助我吗?
您可以使用以下匹配具有 @id
属性的所有 <rs>
节点。
<xsl:template match="rs[@id]">
样本XML
<root>
<rs type="author" id="MH"></rs>
<rs type="patient" id="BavoilMr"></rs>
</root>
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="rs[@id]">
<a id="{@id}"></a>
</xsl:template>
</xsl:stylesheet>
输出
<a id="MH"/>
<a id="BavoilMr"/>