我已成功使用xsl样式表将Zotero MODS文件中的某些元素导入Filemaker。但是,有些元素似乎嵌套在其他元素中,我无法弄清楚代码。以下是我要导入的.xml文件的一部分:
- <relatedItem type="host">
<genre authority="marcgt">journal</genre>
- <part>
- <detail type="volume">
<number>3</number>
</detail>
我希望日志的卷号转到Filemaker中名为“volume”的字段。请问有人可以帮忙解决这些问题吗?
这是我尝试过的,但没有一个有效:
"mod:part" />
"mod:part/mod:detail[@type='volume']" />
"mod:part/mod:detail[@type='volume']/number" />
"mod:relatedItem[@type='volume']" />
"mod:relatedItem[@type='host']/volume" />
"mod:relatedItem[@type='host']/mod:detail[@type='volume']" />
我想我明白了:
"mod:relatedItem[@type='host']/mod:part/mod:detail[@type='volume']" />
现在我有另一个问题。当两个元素(如作者姓名)相同但只导入一个元素时,如何同时导入两个元素?这是一个例子:
- <name type="personal">
<namePart type="family">Cleveland</namePart>
<namePart type="given">Jonnie</namePart>
- <role>
<roleTerm type="code" authority="marcrelator">aut</roleTerm>
</role>
</name>
- <name type="personal">
<namePart type="family">Crowe</namePart>
<namePart type="given">Margie W</namePart>
我已经让第一个作者使用它进行导入:
<COL>
<DATA>
<xsl:value-of select="mod:name/mod:namePart[@type='family']" />
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="mod:name/mod:namePart[@type='given']" />
</DATA>
</COL>
答案 0 :(得分:0)
<COL>
<DATA>
<xsl:value-of select="mod:genre[@authority='local']" />
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="mod:relatedItem[@type='host']/part/detail[@type='volume']" />
</DATA>
</COL>
你说“第一个有效”,这表明这里的上下文是relatedItem
元素。在这种情况下,第二个value-of
不需要路径中的relatedItem
位,但如果原始文档具有全局xmlns="..."
,那么 需要在路径的其他步骤上使用名称空间前缀,请尝试以下方法:
<xsl:value-of select="mod:part/mod:detail[@type='volume']" />