下面編輯標籤是一些簡單的XML與多級無序列表,我想導入到Adobe InDesign中:使用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>
<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>
可以分配給我的標題1段落樣式)。這在很大程度上是好的;然而,我的問題出現在多級/嵌套項目符號列表中。
要在InDesign中執行多級項目符號,我對每個項目符號級別都有單獨的段落樣式。以下是我希望無序列表在InDesign中出現的方式,括號中的相關段落樣式。
- 級別1(TEXT:子彈1)
- 級別2(TEXT:子彈2)
- 級別3(TEXT:彈頭3)
- 級別4(TEXT: bullet 4)
- 級別3(TEXT:彈頭3)
- 級別2(TEXT:子彈2)
- 級別1(TEXT:子彈1)
- 級別2(TEXT:子彈2)
- 級別1(TEXT:子彈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:子彈1,<li2>
映射到TEXT:bullet 2等等)。我對XML和XSLT相當陌生,所以任何幫助都會受到大量讚賞。
太感謝你了,真的也很好解釋!屬性值模板是一個有趣的方法。不幸的是,儘管這確實如我所願,但InDesign仍然不滿意XML。這與XML文件中存在的unicode有關(特別是,段落返回)。可以使用XSLT編輯XML文件中的unicode嗎? – lightworks
您可以使用包含該字符的文本節點上的'translate'功能將其去掉。 ''。 –