У меня есть TextFrames, помеченные меткой сценария, а абзацы внутри текстового фрейма имеют метку абзаца, а некоторые абзацы сгруппированы в XML и имеют имя тега. Я пытаюсь сопоставить метку сценария со структурой XML документа, чтобы понять, какой абзац необходимо поместить в какой конкретный текстовый фрейм, для чего я перебираю все абзацы и затем ищу родительский элемент XML, но его inturn дает мне документ root.
Пример кода:
// to get the parent markup tag name
TextFrame.paragraphs[2].associatedXMLElements[0].parent.markupTag.name
// this works perfectly for to get the markup for a given paragraph
TextFrame.paragraphs[2].associatedXMLElements[0].markupTag.name
документация по абзацу и связанным элементам XMLElements имеет обоих родителей для извлечения имени тега разметки
Параграф - Indesing Scripting
pc_XMLItem - Indesing Scripting
Я не уверен, что что-то упустил,
Я попробовал Склейте Code.jsx , чтобы извлечь теги XML, но я бы хотел получить его из абзаца текстового фрейма, поскольку код клея не имеет никакого отношения к макету страницы с текстовыми фреймами, и он будет предоставить всю структуру.
Например:
- Chapter
- C1
- C2
- C3
- C3-1
- C3-2
- C4
- C5
При условии, что все эти абзацы присутствуют в текстовом фрейме с именем TextFrame
Нет, я перебираю все абзацы как
for (eachP = 0; eachP < TextFrame.paragraphs.length; eachP++) {
allAssociatedXMLElements = TextFrame.paragraphs[eachP].associatedXMLElements.length
for (eachAsXML = 0; eachAsXML < allAssociatedXMLElements; eachAsXML++) {
$.writeln(TextFrame.paragraphs[eachP].associatedXMLElements[eachAsXML].markupTag.name)
}
$.witeln(" -- ")
}
Это дает мне
Chapter
C1
--
Chapter
C2
--
Chapter
--
C3
C3-2
--
Chapter
C4
--
Chapter
C5
XML Structure
<C1>Content1</C1>¶
<C2>Content2</C2>¶
<C3>
<C3-1>Content5</C3-1>¶
<C3-2>Content6</C3-2>¶
</C3>
<C4>Content3</C4>¶
<C5>Content4</C5>¶
Не уверен, почему он не получает root для C3-1
, Кто-то, пожалуйста, дайте мне знать, если я делаю это где-то не так.