2015-08-27 73 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。

相关问题