如何使用XML数据生成InDesign内容

时间:2011-11-16 19:57:18

标签: xml adobe-indesign

我正在尝试通过导入XML数据在InDesign中生成一些内容,但我无法弄清楚如何做到这一点。这就是我所拥有的:

XML

<stuff>
    <person>
        <name>John</name><age>42</age>
        <name>Oscar</name><age>39</age>
    </person>
</stuff>

这就是我想要的结果:

的InDesign

Person: John, 42
Person: Oscar, 39

我该怎么做呢?这是发布此类问题的正确网站吗?

3 个答案:

答案 0 :(得分:2)

这不是一个编程问题,因此不适合stackoverflow。您可以查看http://help.adobe.com/en_US/indesign/cs/using/index.html,其中有一节涉及XML。如果您仍然遇到问题,可以尝试在http://forums.adobe.com/community/indesign/indesign_general的InDesign社区论坛中提问。

答案 1 :(得分:2)

这实际上很容易做到这一点。完整的说明可以在设计师的Adobe InDesign和XML指南中找到。

最简单的方法是将XML源导入InDesign。将一个数据节点拖到布局中。在数据前面添加重复的文本元素,例如“Person:”格式化所有占位符(将它们保存在xml中的顺序),然​​后从结构面板中删除不属于主占位符的所有节点。

重新导入XML源并在Import xml对话框中选中复选框:克隆重复元素...,仅导入与...匹配的元素,并“忽略空格......”

这将在XML数据中,并以您想要的方式格式化。您的布局可能仅针对一个数据节点进行结构化。要流动其余部分,只需将适当的父元素从结构面板拖到布局中。

InDesign具有有限的XSLT功能,主要是XML导入选项对话框中的选项。如果你需要更复杂的东西,你必须在导入过程中使用外部XSLT。

InDesign仅支持XSLT 1.0版

答案 2 :(得分:1)

Pandoc有很多导入程序(例如来自HTML或DocBook XML),现在可以导出为InDesign的ICML格式(基于XML的IDML format的开放子集)。然后,生成的文件可以像任何其他外部依赖项一样放在InDesign中。

还有一个可用的XSLT stylesheet可以将XHTML直接转换为InDesign的ICML格式。

确保您的HTML输入文件以:

开头
<?xml version="1.0" encoding="utf-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml">