Indesign脚本通过添加标记来创建更深层的结构

时间:2010-01-28 19:35:05

标签: scripting tags structure adobe-indesign

我首先开始使用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>

1 个答案:

答案 0 :(得分:1)

首先,您必须为每个Paragraph / Tag定义一个XMLExportMap-Object,如下所示:

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

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

当您定义了all时,请调用以下方法:

<yourDoc>.mapStylesToXMLTags();

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

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

所以我很感激导出平面XML-Structure并应用XSL-Stylesheet来获得深化的结构。

希望有所帮助