Tôi có một chương trình AppleScript tạo thẻ XML và các phần tử trong tài liệu Adobe InDesign. Dữ liệu nằm trong các bảng và việc gắn thẻ mỗi ô sẽ mất 0,5 giây. Toàn bộ tập lệnh mất vài giờ để hoàn thành.Làm cách nào để cải thiện hiệu suất khi thêm InDesign XMLElements thông qua AppleScript?
Tôi có thể đăng mã vòng lặp bên trong, nhưng tôi không chắc liệu SO có phải là chung chung hoặc cụ thể hay không. Tôi sẽ để đám đông quyết định.
[sửa] Mã tạo danh sách (trước vòng lặp này) chứa một mục cho mỗi hàng trong bảng. Ngoài ra còn có một danh sách chứa một chuỗi cho mỗi cột trong bảng. Đối với mỗi ô, chương trình tạo ra một phần tử XML và một thẻ XML bằng cách nối các mục trong các vị trí [hàng]/[cột] của hai danh sách. Nó cũng liên kết văn bản trong ô đó với phần tử mới được tạo ra.
Tôi hoàn toàn mới đối với AppleScript nên một số mã này được sửa đổi thô sơ từ các mẫu của Adobe. Nếu mã là tàn bạo, tôi sẽ không bị xúc phạm.
Dưới đây là các mã:
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
EDIT: Tôi đã viết lại các câu hỏi để phản ánh tốt hơn câu trả lời đúng.