上面的两个选项都可以将您的数据带入,但他们错过了您关于颜色的其他问题。我假设在导入数据时,您希望根据唯一的序列号自动显示颜色,对吧?
所以答案分为两部分: 1. 是的,您可以将数据作为 XML 导入。这将是最简单和最灵活的方法。数据合并对于短文档来说是可以的,但对于大量数据来说,这将是一个负担。数据合并最终会为每个数据记录创建一个文本框。那将是很多额外的工作。
另一方面,可以导入 XML 以在文档中流动并自动填充页面,并根据段落和字符样式自行格式化。这本书:Adobe InDesign 和 XML 设计师指南将教您如何导入 XML。
问题 2:“你如何生成彩色芯片”涉及更多。您必须编写一个 XSLT 来根据序列号中的数字加载图形。我们通过使用xsl:choose
例程根据 XML 中的数据选择正确数量的星号,对股票投资组合情况说明书中的星号进行了类似的操作。如:
<xsl:choose>
<xsl:when test="name()='stars'">
<!-- <xsl:copy><xsl:apply-templates/></xsl:copy><xsl:text></xsl:text>-->
<xsl:choose>
<xsl:when test="current()[.=2]"><stars>H H</stars>
</xsl:when>
<xsl:when test="current()[.=3]"><stars>H H H</stars>
</xsl:when>
<xsl:when test="current()[.=4]"><stars>H H H H</stars>
</xsl:when>
<xsl:when test="current()[.=5]"><stars>H H H H H</stars>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
您可以创建一个类似的例程,甚至从硬盘驱动器或服务器加载图形。将 XML 导入 InDesign 时,您会在 XML 导入选项对话框中加载 XSLT。这可以完成根据序列号加载色卡的工作。
除了能够构建图形芯片之外,XSLT 还可以通过根据需要插入段落返回和其他样板文本和空白来帮助您构建数据内容。我喜欢用来<xsl:text></xsl:text>
插入 InDesign 所需的空白。它像冠军一样工作。
很多时候 XML 文件没有空格或太多。XSLT 方法将允许您根据需要在结果布局中添加、去除和控制空白。
希望有帮助。