【问题标题】:XSL style sheet for import into Filemaker用于导入 Filemaker 的 XSL 样式表
【发布时间】:2014-02-04 16:52:07
【问题描述】:

我已经使用 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>

【问题讨论】:

  • 您能否展示您目前编写的 XSLT 以及您卡在其中的哪一部分?
  • 谢谢你,伊恩。以下是我到目前为止所做的:
  • 我没有看到任何代码 - 使用上面的 edit 链接将附加信息编辑到问题中。
  • 我无法在此评论框中获取整个 xslt。第一个示例有效,第二个示例无效: 跨度>
  • 你不需要在cmets中放代码,只需编辑原始问题。

标签: xslt filemaker


【解决方案1】:
<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']" />

【讨论】:

    猜你喜欢
    • 2016-02-09
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多