我已经成功地将一些元素从Zotero mods文件中导入到Filemaker中使用XSL样式表。但是,某些元素似乎嵌套在其他元素中,我无法弄清楚代码。这是我要导入的.xml文件的一部分:
- <relatedItem type="host">
<genre authority="marcgt">journal</genre>
- <part>
- <detail type="volume">
<number>3</number>
</detail>
我希望该期刊的卷号转到名为"音量"的Filemaker中的字段。有人可以帮助代码吗?
这是我尝试过的,它们都没有起作用:
"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>
<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="..."
,则它 dies 需要路径其他步骤上的名称空间前缀,请尝试而是:
<xsl:value-of select="mod:part/mod:detail[@type='volume']" />