0

我首先开始使用 XSLT,然后使用 PHP。现在我将不得不尝试使用 Indesign 脚本(可能是 javascript)

我的问题是我有一个没有结构的 indesign 文件(没有标记,但一切都有段落样式)

我要做的是 1)根据样式为段落添加标签 2)通过向标签添加父元素来加深结构

一个例子:

本文:

Titel 1 (style = title1)
Titel 2 (style = title2)
    some text (style = text1)
    listitem 1 (style = listitem)
    listitem 2 (style = listitem)

必须成为(导出到 XML 时)

<GR.SEQ level="1">
<TITLE>
    <TI>
        <HT>
            Titel 1
        </HT>
    </TI>
</TITLE>

    <GR.SEQ level="2">
        <TITLE>
            <TI>
               <HT>
                    Titel 2
                </HT>
            </TI>
        </TITLE>
        <P>
            some text
        </P>
        <LIST>
            <ITEM>
                <ITEM.CONT>
                    listitem 1
                 </ITEM.CONT>
            </ITEM>
            <ITEM>
                <ITEM.CONT>
                    listitem 2
                </ITEM.CONT>
            </ITEM>
        </LIST>
    </GR>
</GR>

任何帮助表示赞赏!这样做的代码示例将非常棒,但也非常欢迎朝着正确的方向前进。

当我可以改变这一点时,我已经很高兴了:

Titel 1

对此

<TITLE>
    <TI>
        <HT>
            Titel 1
        </HT>
    </TI>
</TITLE>
4

1 回答 1

1

首先,您必须为每个段落/标签定义一个 XMLExportMap-Object,如下所示:

<yourDoc>.xmlExportMaps.add(<yourParagraphStyle>, <yourParagraphStyle>.name);

(而是考虑您的样式名称中没有空格)

当你定义了所有,然后你调用以下方法:

<yourDoc>.mapStylesToXMLTags();

因此,根元素中应该有一个扁平的 XML 结构

然后:有一些功能可以将 Xpath 与 InDesign 和 Javascript 一起使用,但在我看来很难使用并且很少实现。

因此,我很欣赏导出平面 XML 结构并应用 XSL 样式表来获得更深层次的结构。

希望有帮助

于 2010-12-06T17:34:42.560 回答