【发布时间】:2012-05-01 19:28:15
【问题描述】:
我正在从 InDesign 导出一个 XML 文件。此文件中的文本包含引用特定语法概念的上标;但是,这些上标在 XML 文件中导出为文本。我需要编写一个 XSLT,这样当它应用于 InDesign 文件时,它会简单地在上标中添加一个小标签。
这是它的导出方式:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root>
<Content>
<PhraseNative aid:table="cell" aid:crows="1" aid:ccols="1" aid:ccolwidth="260.5">
<Phrase> 1. Mark is1a playing2 videogames.</Phrase>
</PhraseNative>
</Content>
</Root>
这应该是最终代码。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root>
<Content>
<PhraseNative aid:table="cell" aid:crows="1" aid:ccols="1" aid:ccolwidth="260.5">
<Phrase> 1. Mark is<tag>1a</tag> playing<tag>2</tag> videogames.</Phrase>
</PhraseNative>
</Content>
</Root>
只要数字和字母是字符串的最后两位或三位数字,这些标签就会始终出现。有时它只是一个数字。输出根本没有变化。这样做只是为了让标签在导出回网页时不会丢失。
【问题讨论】:
-
您将其重新标记为 xslt1,但是您有什么理由不能使用 xslt2(因此使用 xslt 2 要容易得多)
-
InDesign 不支持 2.0 但是,我后来发现我可以通过其他软件应用它。它已被重新标记为 XSLT 2.0。
-
好的,那么@DevNull 的回答似乎很好:-)
-
是的!你是对的。不过,我只有最后一个问题。你知道它是怎么回事,所以它只标记单词后面的数字吗?我尝试更改正则表达式以便它可以做到这一点,但它最终标记了代码中的每个数字。如果你能帮我解决这个问题,我会很高兴的!
-
@babyeumbrella - 我已经更新了我的答案。希望这能满足您的需要。
标签: xml xslt tags xslt-2.0 adobe-indesign