0
下午好腳本編程出口,應用XSLT到XML,而與ESTK/InDesign中
我有一些幫助建立這個結構,我使用創建我的桌面上的文件夾動態基於某些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>
最後我只是修改我的JavaScript做的修改,而不是使用XSLT電子表格。感謝您的答覆! – Natetown