Filemaker 列出了 xml 相关项目的导出

Filemaker tabled xml export of related items

导出 Filemaker 13 table:为了收集关系记录(michael.hor257k 对我帮助很大)我的 xslt 模板如下所示:

<subitems>
    <xsl:for-each select="fm:item_number/fm:DATA">
        <xsl:variable name="i" select="position()" />
        <subitem>
        <item_number>
            <xsl:value-of select="."/>
        </item_number>
        <item_name>
            <xsl:value-of select="../../fm:item_name/fm:DATA[$i]"/>
        </item_name>
        </subitem>
    </xsl:for-each>
</subitems>

出于布局原因,我需要相关数据流入 Indesign table 单元格:

<table_related xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" aid:table="table" aid:trows="??" aid:tcols="1">
<xsl:variable name="i" select="position()" />
<xsl:for-each select="fm:item_number/fm:DATA">   
   <cell_related aid:table="cell" aid:crows="1" aid:ccols="1" aid:ccolwidth="250">
      <item_number><xsl:value-of select="."/></item_number>
      <item_name><xsl:value-of select="../../fm:item_name/fm:DATA[$i]"/</item_name>
   </cell_related>
</xsl:for-each>
</table_related>

要获得正确的格式,table 需要输入行数 (aid:trows="??") 相关记录的数量不同,因此 table 行的数量不同。 如何获取问号位置的相关记录数? 编辑:打错了..当然是??需要进入 table 规范。

请让您的问题自给自足,不要指望我们知道的比您实际发布的内容更多。

相关记录的数量可以通过计算作为相关字段子项的 DATA 个元素来确定。我不确定为什么你需要为每个单元格重复这个事实。在任何情况下,为了避免重复计数,定义一个变量 而你仍然在 ROW 的上下文中为:

<xsl:variable name="count-rows" select="count(fm:item_number/fm:DATA)" />

然后在需要的地方使用这个变量:

<cell_related aid:table="cell" aid:crows="{$count-rows}" aid:ccols="1" aid:ccolwidth="250">