【发布时间】:2017-08-30 07:54:57
【问题描述】:
以下是一些带有多级无序列表的简单 XML,我想将其导入 Adobe InDesign:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<STORY>
<Headline>XML test</Headline>
<Standfirst><p>Standfirst</p></Standfirst>
<Story_text>
<h1>Heading 1</h1>
<p>para text</p>
<ul>
<li>
level 1
<ul>
<li>
level 2
<ul>
<li>
level 3
<ul>
<li>
level 4
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
level 1
<ul>
<li>
level 2
</li>
</ul>
</li>
<li>
level 1
</li>
</ul>
</Story_text>
</STORY>
InDesign 允许您将其段落样式映射到 XML 标记。 (例如 <h1> 可以分配给我的 Header 1 段落样式)。这在大多数情况下都很好。但是,我的问题出现在多级/嵌套项目符号列表中。
要在 InDesign 中制作多级项目符号,我为每个级别的项目符号设置了单独的段落样式。下面是我希望无序列表在 InDesign 中的显示方式,括号中是相关的段落样式。
- 1 级(文本:项目符号 1)
- 2 级(文本:项目符号 2)
- 3 级(文本:项目符号 3)
- 4 级(文本:项目符号 4)
- 3 级(文本:项目符号 3)
- 2 级(文本:项目符号 2)
- 1 级(文本:项目符号 1)
- 2 级(文本:项目符号 2)
- 1 级(文本:项目符号 1)
问题在于 InDesign 无法区分多级项目符号。如您所料,如果我将<li> 分配给其中一个项目符号段落样式,则所有项目符号都将变为该级别,如果我将样式分配给<ul> 也是如此。
我想使用 XSLT 输出以下内容:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<STORY>
<Headline>XML test</Headline>
<Standfirst><p>Standfirst</p></Standfirst>
<Story_text>
<h1>Heading 1</h1>
<p>para text</p>
<ul>
<li1>
level 1
<ul>
<li2>
level 2
<ul>
<li3>
level 3
<ul>
<li4>
level 4
</li4>
</ul>
</li3>
</ul>
</li2>
</ul>
</li1>
<li1>
level 1
<ul>
<li2>
level 2
</li2>
</ul>
</li1>
<li1>
level 1
</li1>
</ul>
</Story_text>
</STORY>
这将允许我将项目符号级别映射到 InDesign 中的适当段落样式(例如,<li1> 可以映射到 TEXT:bullet 1,<li2> 映射到 TEXT:bullet 2 等等)。我对 XML 和 XSLT 还很陌生,因此我们将不胜感激。
【问题讨论】:
标签: xml xslt adobe-indesign