gpt4 book ai didi

javascript - 使用 ESTK/InDesign 导出时将 XSLT 应用于 XML

转载 作者:行者123 更新时间:2023-12-03 08:58:40 26 4
gpt4 key购买 nike

脚本编写者们下午好,

我在设置此结构时得到了一些帮助,我使用它根据 XML 结构中的某些 XML 元素在桌面上动态创建一个文件夹,然后循环遍历 XML 记录,将它们拆分为单独的文件,然后将它们在各自的文件夹中。到目前为止,它工作得很好,但我需要应用一个 XSL,它将某些属性转换为元素。 ESTK 有没有办法在导出时使用 JavaScript 应用 XSLT?

    var root, records, f, n, doc;

doc = app.activeDocument;
root = doc.xmlElements[0];
records = root.evaluateXPathExpression ( "./record" );
n = records.length;
while ( n-- ) {
var ff = new Folder(Folder.desktop + "/" +app.activeDocument.xmlElements.item(0).xmlElements.item(n).xmlElements.item(0).xmlAttributes.item(0).value + "/data/" +
app.activeDocument.xmlElements.item(0).xmlElements.item(n).xmlElements.item(0).xmlElements.item(0).xmlElements.item(1).xmlAttributes.item(1).value + "/" +
app.activeDocument.xmlElements.item(0).xmlElements.item(n).xmlElements.item(0).xmlElements.item(0).xmlElements.item(2).xmlAttributes.item(1).value);
if (!ff.exists)
ff.create();

f = File ( ff +"/"+app.activeDocument.xmlElements.item(0).xmlElements.item(n).xmlElements.item(0).xmlElements.item(0).xmlElements.item(0).xmlAttributes.item(1).value);
records[n].exportFile ( ExportFormat.XML, f);
}

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">



<xsl:for-each select="Root/record">
<record name="{@name}" type="{@type}">
<item name="{item/@name}">
<value>
<xsl:for-each select="item/value/item">
<item name="{@name}">
<value><xsl:value-of select="@value"/></value>
</item>
</xsl:for-each>
</value>
</item>
</record>
</xsl:for-each>

</xsl:template>

</xsl:stylesheet>

最佳答案

在这里查看答案: https://forums.adobe.com/thread/1813381

在第 13 行之前插入:

app.activeDocument.xmlExportPreferences.allowTransform=true;
app.activeDocument.xmlExportPreferences.transformFilename=File('PATH_TO_YOUR_TRANSFROM_FILE');

关于javascript - 使用 ESTK/InDesign 导出时将 XSLT 应用于 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32381140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com