2015-09-03 58 views
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> 

回答

1

見這裏回答:行13之前 https://forums.adobe.com/thread/1813381

插入:

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

最後我只是修改我的JavaScript做的修改,而不是使用XSLT電子表格。感謝您的答覆! – Natetown