的xsl:检查,如果两个字符串是相等的,如果为true,则显示另一个字符串

我有哪些内容用于XSLT第一TEI,你可以在这里找到http://xsltfiddle.liberty-development.net/3Nqn5Y4/7的xsl:检查,如果两个字符串是相等的,如果为true,则显示另一个字符串

corpus_ilimilku.xml第二TEI,我需要在使用相同XSLT文件:

<category n="1" xml:id="contend" ana="#verb.competition"> 

<catDesc xml:lang="en">subcategory of competition verb: contend

<lang>

<ref n="1" target="http://babelnet.org">BabelNet<idno type="URI">http://live.babelnet.org/synset?word=bn:00083498v</idno></ref>

<ref n="2" target="https://framenet2.icsi.berkeley.edu/">FrameNet<idno type="URI">https://framenet2.icsi.berkeley.edu/fnReports/data/frameIndex.xml?frame=Attaching"></idno></ref>

</lang>

</catDesc>

<category ana="#transcription" xml:lang="uga">

<gloss n="1" xml:id="ḫṣb01" target="../uga/verb.xsl#ḫṣb"/>

<gloss n="2" xml:id="mḫṣ01" cert="high" target="../uga/verb.xsl#mḫṣ"/>

</category>

</category>

我没有问题来引用正确的文件。我检查过了,它正在工作。

其实,我有两个问题:

  1. refkey不工作,我认为,
  2. 所以当我想要显示的$value-doc2href5如果"$value-doc = translate($re-ana2, '#', '')是真实的,我有以下消息:

描述:多个项目的序列不允许作为标记化的()中的第一个参数(“” http://live.babelnet.org/synse ... “” https://framenet2.icsi.berkeley.edu ...“)

目前,"$value-doc = translate($re-ana2, '#', '')的作品,因为我有几个值进行测试,其结果是truefalse。看到每个<li>$check-id">

最后一个字,我想什么来显示:

<h3>mḫṣ</h3><em> 

mean.: </em>to figth, to destroy. Inflected forms attested:

<ul>

<li>tmtḫṣ: gram. → Gt. ind. imperf. trans, 2msg, 3fsg. <em>trans. </em>she fought -- remark(s): iterative function // with “<a href="../computation/corpus_ilimilku.xml#ktu1-3_ii_l6b_t%E1%B8%ABt%E1%B9%A3b">tḫtṣb</a>.” Occur.: <a href="">ktu1.3:ii:l5b-6a</a> -- <em>analysis: </em>suggestion of

<a href="../computation/corpus_ilimilku.xml#ktu1-3_ii_l5b_6a_int">hermeneutics;</a> taxo., subcat. of competition v. “<a href="../computation/corpus_ilimilku.xml#m%E1%B8%AB%E1%B9%A301">contend</a>.”

<!-- DATA THAT I CANNOT DISPLAY : --> <a href="http://live.babelnet.org/synset?word=bn:00083498v">BabelNet</a>, <a href="https://framenet2.icsi.berkeley.edu/fnReports/data/frameIndex.xml?frame=Attaching">Framework</a>

</li>

<li>tmḫṣ: gram. → D. ind. perf. trans, 2msg, 3fsg. <em>trans. </em>she destroyed -- remark(s):

Occur.: <a href="">ktu1.3:ii:l7</a> -- <em>analysis: </em>suggestion of <a href="../computation/corpus_ilimilku.xml#ktu1-3_ii_l7_int">hermeneutics;</a> taxo., subcat. of emotion's v. as a concept of “<a href="../computation/corpus_ilimilku.xml#m%E1%B8%AB%E1%B9%A302">humiliation</a>.”

<!-- DATA THAT I CANNOT DISPLAY : --> <a href="http://live.babelnet.org/synset?word=bn:00083498v">BabelNet</a>, <a href="https://framenet2.icsi.berkeley.edu/fnReports/data/frameIndex.xml?frame=Attaching">Framework</a>

</li>

</ul>

综上所述:如果第二TEIcorpus_ilimilku.xml<gloss>@xml:id =电流TEI<re>@ana[2](在小提琴内容),然后显示属于gloss的相同父节点的每个refidno @type URI

我希望我的解释清楚。对不起,我缺少英语......

提前,谢谢。

回答:

我在@Martin的支持下找到了解决方案。首先,我改变第二TEI

<category n="1" xml:id="humiliation" ana="#verb.emotion"> 

<catDesc >subcategory of emotion's verb as a concept of: humiliation

<term ana="#mḫṣ02 #ṣmt01" type="baseForm">

<ptr n="1" target="http://babelnet.org/synset?word=bn:00086117v" source="BabelNet" />

<ptr n="2" target="" source="WordNet" next="{01804206}" />

<ptr n="3" target="http://verbs.colorado.edu/propbank/framesets-english-aliases/humiliate.html" source="VerbNet" />

<ptr n="4" target="http://verbs.colorado.edu/html_groupings/wound-n.html" source="VerbNet" />

<ptr n="5" target="https://framenet2.icsi.berkeley.edu/fnReports/data/frameIndex.xml?frame=Stimulate_emotion" source="FrameNet" />

</term>

</catDesc>

<category ana="#verb.emotion #humiliation" xml:lang="uga">

<gloss n="1" xml:id="mḫṣ02" cert="high"/>

</category>

</category>

然后对于XSL,下列加法:

<xsl:param name="f2" select="'../computation/corpus_ilimilku.xml'"/> 

<!-- key to look for @xml:id of <gloss> within TEI -->

<xsl:key name="gloss-ref" match="category[category/gloss]" use="category/gloss/@xml:id"/>

<!-- variable for "f2" -->

<xsl:variable name="doc2" select="document($f2)"/>

<!-- within template match="entryFree" and <ul><li> -->

<xsl:apply-templates select="key('gloss-ref', translate($re-ana2, '#', ''), $doc2)//term/ptr[@target]"/>

<!-- template to display <xsl:apply-templates> -->

<xsl:template match="ptr">

<xsl:variable name="href-ptr-target" select="@target"/>

<a href="{$href-ptr-target}">

<xsl:value-of select="@source"/>

<xsl:if test="@next">

<xsl:value-of select="@next"/>

</xsl:if>

<xsl:choose> <xsl:when test="position() != last()">

<xsl:text>, </xsl:text> </xsl:when>

<xsl:otherwise><xsl:text>. </xsl:text></xsl:otherwise>

</xsl:choose></a>

</xsl:template>

结果,根据小提琴http://xsltfiddle.liberty-development.net/3Nqn5Y4/9,新XSL(之间<!-- -->在小提琴),和第二TEI内容:

<ul> 

<li>tmḫṣ: gram. → D. ind. perf. trans, 2msg, 3fsg. <em>trans. </em>she destroyed -- remark(s): Occur.: <a href="">ktu1.3:ii:l7</a> -- <em>analysis: </em>suggestion of <a href="../computation/corpus_ilimilku.xml#ktu1-3_ii_l7_int">hermeneutics;</a> taxo., subcat. of emotion's v. as a concept of “<a href="../computation/corpus_ilimilku.xml#m%E1%B8%AB%E1%B9%A302">humiliation</a>.” Related to: <a href="http://babelnet.org/synset?word=bn:00086117v">BabelNet, </a><a href="">WordNet{01804206}, </a><a href="http://verbs.colorado.edu/propbank/framesets-english-aliases/humiliate.html">VerbNet, </a><a href="http://verbs.colorado.edu/html_groupings/wound-n.html">VerbNet, </a><a href="https://framenet2.icsi.berkeley.edu/fnReports/data/frameIndex.xml?frame=Stimulate_emotion">FrameNet.</a></li>

</ul>

回答:

如果线路

<!-- DATA THAT I CANNOT DISPLAY : --> <a href="http://live.babelnet.org/synset?word=bn:00083498v">BabelNet</a>, <a href="https://framenet2.icsi.berkeley.edu/fnReports/data/frameIndex.xml?frame=Attaching">Framework</a> 

是为了说明您要变换的

document('../computation/corpus_ilimilku.xml')//lang/ref/idno 

元素融入链接然后要创建这些链接中使用

<xsl:apply-templates select="document('../computation/corpus_ilimilku.xml')//lang/ref/idno"/> 

然后写一个模板

<xsl:template match="idno"> 

<a href="{.}">

<xsl:value-of select="preceding-sibling::node()[1]"/>

</a>

</xsl:template>

产生这些链接(我不太确定链接的内容,第一个BabelNet看起来如上所述,第二个是FrameNetFramework)。

至于使用按键与几个文件,钥匙在每个文件的基础工作和key函数可以指定从如上下文文件与价值观搜索e.g $doc2一个可选的第三个参数key('key-name', (key-value-or-values), $doc2)

我想你的口头描述

如果@xml:第二TEI(corpus_ilimilku.xml)的ID = @ana [2]的电流TEI(在小提琴含量) ,然后显示IDNO @键入属于光泽

的相同父节点的每个参考文献的URI 转换成一个密钥声明

<xsl:key name="gloss-ref" match="category[category/gloss]" use="category/gloss/@xml:id"/> 

然后让我们假设我们有一个全局变量<xsl:variable name="doc2" select="doc('../computation/corpus_ilimilku.xml')"/>我认为你想要在例如

<xsl:apply-templates select="key('gloss-ref', $re-ana2, $doc2)//lang/ref/idno"/> 

处理相关的idno元素。

以上是 的xsl:检查,如果两个字符串是相等的,如果为true,则显示另一个字符串 的全部内容, 来源链接: utcz.com/qa/266628.html

回到顶部