2015-08-27 99 views
0

早上好一切,打破一個XML文件分成多個XML文件使用XSLT 1的InDesign

InDesign中,我試圖創建一個XML多個數據庫記錄這種結構:

<Root> 
    <record> 
    </record> 
    <record> 
    </record> 
</Root> 

我有XML導出完美,但我想應用XSLT爲每條記錄打破這些單獨的文件,並將記錄作爲每個記錄的根目錄。例如:

File1.xml: 
<record> 
</record> 

File2.xml: 
<record> 
</record> 

我已谷歌搜索,看到有人說你不能在InDesign導出功能中使用XSLT 2.0函數。用XSLT 1.0可以做到這一點嗎?

謝謝!

回答

0

我不這麼認爲InDesign XSLT引擎。在相反的腳本可以被導出到XML格蘭特定節點的工作:

var main = function() { 
 
\t var root, records, f, n, doc; 
 
\t 
 
\t if (!app.documents.length) return; 
 
\t 
 
\t doc = app.activeDocument; 
 
\t root = doc.xmlElements[0]; 
 
\t 
 
\t records = root.evaluateXPathExpression ("./record"); 
 
\t n = records.length; 
 
\t 
 
\t while (n--) { 
 
\t \t f = File (Folder.desktop+"/"+doc.name.replace (".indd", "")+"_"+(n+1)+".xml"); 
 
\t \t records[n].exportFile (ExportFormat.XML, f); 
 
\t } 
 
} 
 

 

 
main();

0

盧瓦克是正確的,InDesign使用XSLT 1.0引擎,我認爲這仍然是CC的情況下,2015年

另一種選擇是導出未轉換的XML,並運行外部腳本調用您選擇的XSLT 2.0引擎來轉換XML。

相關問題