hilfdirselbst.ch
Facebook Twitter gamper-media
netsrik
Beiträge: 91
26. Jul 2013, 15:18
Beitrag #1 von 1
Bewertung:
(476 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Seitenangabe für jeden Textrahmen beim XML-Export angeben


Hallo Leute,

ich brauch mal wieder Eure Hilfe ;-)

Wir haben jetzt auf InDesign CS6 umgestellt und jetzt funktioniert unser XML-Script nicht mehr so richtig.
In der DTD wird genau beschrieben, dass in einem Dokument jeder Textrahmen eine Seitenangabe bekommen soll. Das Script legt dann für jeden Textrahmen das Attribut "Seite" an und setzt auch die Seitenangabe ein. Jetzt aber macht das Script, das ursprünglich für CS1 geschrieben und dann für CS4 verbessert wurde, nur an einigen Textrahmen die Seitenangabe, wie es ihm gefällt und gibt keine Fehlermeldung.
Ist da irgendwas geändert worden, irgendein Begriff (myDocumentPages.textFrames) oder so?

Ich habe hier mal einen Ausschnitt aus unserem Script, vielleicht hilft das, um eine ungefähre Vorstellung davon zu kriegen:
Code
 

var myDocumentPages = myDocument.pages;
for (var p = 0; p < myDocument.pages.length; p++)
{
var myDocumentPage = myDocumentPages[p];
var myDocumentPageName = myDocumentPage.name;
var myTextFrames = myDocumentPage.textFrames;
for (var t = 0; t < myDocumentPage.textFrames.length; t++)
{
var myTextFrame = myDocumentPage.textFrames[t];
var myStory = myTextFrame.parentStory;
if (myAddedStories.contains(myStory))
{
// ok. use the first page where the story has a frame.
}
else
{
// jok 20090319: check the story: if it contains any of the mapped styles
// do NOT create an xmlElement if no mapped Tag for the paragraph styles can be found.
var doCreateStoryXmlElement = false;
var myStoryHasUnStyledParagraphs = hasParagraphsWithoutStyles(myStory);
var myStoryParagraphStyles = getParagraphStyles(myStory);
var myStoryParagraphMappedToTags = getParagraphMappedToTags(myStory, myXmlExportMaps);
//alert ("myStory.contents.length " + myStory.contents.length + "\n" + myStory.contents);
if (myStory.contents.length == undefined)
{

}
else
{
if (myStory.contents.length >= myStoryMinLength) // jok 20090618 min 3 chars
{
if (myStoryParagraphMappedToTags.length > 0)
{
// found at least one Headlie or Fliesstext tag already associated or to be associated to the Story
doCreateStoryXmlElement = true;
// if any other tag or a paragraph without style is used, then the DTD Validation will fail. the user has to correct the situation.
}
}
}

und
Code
if (myXmlElement != null) 
{
//alert ("set attribute seite: " + myDocumentPageName);
myXmlAttribute = setXmlAttributeByName(myXmlElement, "seite", myDocumentPageName);
if (tagNoStories)
{
// ok. dont add attributes
}
else if (tagSelectedStories && !mySelectedStories.contains(myStory))
{
// ok. dont add attributes if story is not selected
}
myAddedStories.push(myStory);
}



Ich hoffe, Ihr versteht was ich meine. Meistens sind ja einfach nur ein paar Begriffe umbenannt worden und schon stehste da.

Danke schön,

Kirsten
Top
 
X