0

尽管进行了广泛的搜索,但我遇到了一个无法解决的问题...这是 XML 的一部分。

<contributors>
<authors>
<author>Willett, C G</author>
<author>Tepper, J E</author>
<author>Kaufman, D S</author>
<author>Shellito, P C</author>
<author>Eliseo, R</author>
<author>Convery, K</author>
<author>Wood, W C</author>
</authors>
</contributors>

我尝试使用此 xsl(摘录)将所有作者导入 Filemaker 单元格

<FIELD EMPTYOK="YES" MAXREPEAT="15" NAME="Author" TYPE="TEXT"/>
    <COL>
<DATA>
<xsl:for-each select="contributors/authors">
<xsl:value-of select="author">
</xsl:value-of>
</xsl:for-each>
</DATA>
</COL>

不幸的是,只导入了名字。为什么?少了什么东西?

如果有人可以帮助我会很高兴...

干杯

4

2 回答 2

3

您需要遍历authors,而不是遍历 s,authors因为只有一个authors,但有很多authors:

<xsl:for-each select="contributors/authors/author">
    <xsl:value-of select="concat(., ' ')" />
</xsl:for-each>
于 2013-02-05T16:57:17.373 回答
0
<FIELD EMPTYOK="YES" MAXREPEAT="15" NAME="Author" TYPE="TEXT"/>
  <COL>
    <DATA>
      <xsl:for-each select="contributors/authors/author">
        <xsl:value-of select="."/>
        <xsl:if test="position() &lt; last()">; </xsl:if>
      </xsl:for-each>
    </DATA>
  </COL>

这将生成所有作者值的分号分隔列表。<xsl:if>那里是为了避免在最后一个作者姓名之后添加尾随分号。

于 2013-02-05T17:22:54.360 回答