У меня есть программа AppleScript, которая создает теги XML и элементы в документе Adobe InDesign. Данные находятся в таблицах, и маркировка каждой ячейки занимает 0,5 секунды. Весь сценарий занимает несколько часов.
Я могу опубликовать код внутреннего цикла, но я не уверен, должен ли SO быть общим или конкретным. Я позволю толпе решить.
[править]
Код строит список (до этого цикла), который содержит один элемент на строку в таблице. Существует также список, содержащий одну строку для каждого столбца в таблице. Для каждой ячейки программа создает элемент XML и тег XML путем объединения элементов в позициях [row] / [column] двух списков. Он также связывает текст в этой ячейке с вновь созданным элементом.
Я совершенно новичок в AppleScript, поэтому часть этого кода грубо модифицирована из примеров Adobe. Если код зверский, я не обижусь.
Вот код:
repeat with columnNumber from COL_START to COL_END
select text of cell ((columnNumber as string) & ":" & (rowNumber as string)) of ThisTable
tell activeDocument
set thisXmlTag to make XML tag with properties {name:item rowNumber of symbolList & "_" & item columnNumber of my histLabelList}
tell rootXmlElement
set thisXmlElement to make XML element with properties {markup tag:thisXmlTag}
end tell
set contents of thisXmlElement to (selection as string)
end tell
end repeat
РЕДАКТИРОВАТЬ: я перефразировал вопрос, чтобы лучше отразить правильный ответ.