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>
I first set out to do this with XSLT, then with PHP. Now i'll have to have a go at it with Indesign scripting (javascript probably)
My problem is that i have an indesign file without structure (nothing is tagged, but everything has a paragraph style)
Wat i have to do is
1) ad tags to paragraphs based on their styles
2) deepen the structure by adding parent-elements to the tags
An example:
This text:
Titel 1 (style = title1)
Titel 2 (style = title2)
some text (style = text1)
listitem 1 (style = listitem)
listitem 2 (style = listitem)
Has to become (on export to 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>
Any help is appreciated! a code-example that does this would be marvelous but a push in the right direction is also very welcome.
I would be very pleased already when i could change this:
Titel 1
to this
<TITLE>
<TI>
<HT>
Titel 1
</HT>
</TI>
</TITLE>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,您必须为每个段落/标签定义一个 XMLExportMap-Object,如下所示:(
而是考虑样式名称中没有空格)
当您定义所有内容时,然后调用以下方法:
因此应该有一个平面根元素中的 XML 结构 然后
: InDesign 和 Javascript 有一些使用 Xpath 的功能,但在我看来很难使用,而且很少实现。
因此,我很高兴导出平面 XML 结构并应用 XSL 样式表来获得更深层次的结构。
希望有帮助
First you have to define an XMLExportMap-Object for each Paragraph/Tag like this:
(Rather consider that there is no whitespace in your Style-Names)
When you defined all, then you call following method:
As a result there should be a flat XML-structure in the Root-element then
Then: There are some abilities to use Xpath with InDesign and Javascript, but in my opinion hard to use and very less implemented.
So I appreciate to export the flat XML-Structure and apply an XSL-Stylesheet to get a deepened structure.
Hope that helps