【问题标题】:How to generate InDesign content using XML data如何使用 XML 数据生成 InDesign 内容
【发布时间】:2011-11-16 19:57:17
【问题描述】:

我试图通过导入 XML 数据在 InDesign 中生成一些内容,但我不知道该怎么做。这是我所拥有的:

XML

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

这就是我想要的结果:

设计

Person: John, 42
Person: Oscar, 39

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

【问题讨论】:

  • 这是 InDesign 特有的。它可能涉及 InDesign 脚本,也可能只是配置。在 Adob​​e InDesign 论坛上可能更合适。
  • 你想以什么方式导入它? InDesign 中的菜单命令? InDesign 插件? InDesign 脚本?
  • @MatsT,文件菜单上有一个名为“导入 XML”的选项,我认为应该这样做。还有我很确定参与该过程的结构和标签面板。这些都是 InDesign 附带的内容。
  • 另一种选择是Importing XML into InDesign

标签: xml adobe-indesign


【解决方案1】:

这实际上很容易做到。完整的指导可以在 Adob​​e InDesign 和 XML 设计师指南一书中找到。

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

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

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

InDesign 的 XSLT 功能有限,主要是 XML 导入选项对话框中的选项。如果您需要更详细的内容,则必须在导入期间使用外部 XSLT。

InDesign 仅支持 XSLT 1.0 版

【讨论】:

    【解决方案2】:

    这不是一个编程问题,因此不太适合 stackoverflow。你可以查看http://help.adobe.com/en_US/indesign/cs/using/index.html,有一个关于 XML 的部分。如果您仍有问题,可以尝试在 InDesign 社区论坛中提问,地址为 http://forums.adobe.com/community/indesign/indesign_general

    【讨论】:

      【解决方案3】:

      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">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多