我正在尝试通过导入XML数据在InDesign中生成一些内容,但我无法弄清楚如何做到这一点。这就是我所拥有的:
<stuff>
<person>
<name>John</name><age>42</age>
<name>Oscar</name><age>39</age>
</person>
</stuff>
这就是我想要的结果:
Person: John, 42
Person: Oscar, 39
我该怎么做呢?这是发布此类问题的正确网站吗?
答案 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">