我正在研究将XML-DITA导入InDesign的JavaScript。在InDesign CC 2018中,仅缺少具有命名锚点的交叉引用或超链接。这是DITA-XML的示例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Root><body><p>Sehr geehrte Kundin, sehr geehrter Kunde,</p><p>wir bedanken uns, dass Sie sich für ein Qualitätsprodukt aus unserem Hause entschieden haben.</p><title class="h1" id="topic1">Zu dieser Anleitung</title><p id="EG-Richtlinie">Diese Anleitung ist eine Originalbetriebsanleitung im Sinne der EG-Richtlinie 2006/42/EG.</p><p>Diese Anleitung enthält wichtige Informationen zum Produkt.</p><xref href="#topic1/EG-Richtlinie">Kapitel 1</xref></body></Root>
并再次打算:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root>
<body>
<p>Sehr geehrte Kundin, sehr geehrter Kunde,</p>
<p>wir bedanken uns, dass Sie sich für ein Qualitätsprodukt aus unserem Hause entschieden haben.</p>
<title class="h1" id="topic1">Zu dieser Anleitung</title>
<p id="EG-Richtlinie">Diese Anleitung ist eine Originalbetriebsanleitung im Sinne der EG-Richtlinie 2006/42/EG.</p>
<p>Diese Anleitung enthält wichtige Informationen zum Produkt.</p>
<xref href="#topic1/EG-Richtlinie">Kapitel 1</xref>
</body>
</Root>
每个外部参照都应进行转换,因此我尝试使用XPath收集外部参照元素。
var root = app.activeDocument.xmlElements[0];
var xref = root.evaluateXPathExpression("//body/xref");
获取LinkID xmlAttributes.itemByName(“ id”)。value 的其他可能提示 当然还有InDesign JS的一些提示: crossReferenceSources , hyperlinkTextDestinations 我希望那里有更多具有脚本编写经验的人。
这是指向InDesign-File, the shortened XML and the Script I already have的链接。