不要在根元素中添加Indesign标签吗?

时间:2014-10-06 09:34:50

标签: javascript xml adobe-indesign extendscript

以下代码示例:

var myDocument = app.documents.add();
var myTextFrame = myDocument.pages.item(0).textFrames.add();
myTextFrame.geometricBounds = ["6p", "6p", "24p", "24p"];
myTextFrame.contents = "Hello World!";

myBounds = myTextFrame.geometricBounds;


var myX = "" + myBounds[1];
var myY = "" + myBounds[0];

var myTag = myDocument.xmlTags.add("text-area");

var myXMLElement =  myDocument.xmlElements.item(0).xmlElements.add(myTag, myTextFrame);
myXMLElement.xmlAttributes.add("x", myX);
myXMLElement.xmlAttributes.add("y", myY);

这将给出以下xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root><text-area x="25.4" y="25.4000000000001">Hello World!</text-area></Root>

我可以以某种方式不显示根标签吗?删除它或不让它出现在.xml中?我搜索了不同的关键字,但我无法找到解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:2)

默认情况下,每个文档都有一个新的根元素。如果你抓住第一个xmlElement,那就是根元素。以下是将text-area作为根元素所做的更改示例:

var myDocument = app.documents.add();
var myTextFrame = myDocument.pages[0].textFrames.add();
myTextFrame.geometricBounds = ["6p", "6p", "24p", "24p"];
myTextFrame.contents = "Hello World!";

var myRootElem = myDocument.xmlElements[0];
myRootElem.markupTag.name = "text-area";

var myBounds = myTextFrame.geometricBounds;
var myX = "" + myBounds[1];
var myY = "" + myBounds[0];

myRootElem.xmlAttributes.add("x", myX);
myRootElem.xmlAttributes.add("y", myY);

myTextFrame.markup(myRootElem);