Логический порядок Story XML в IDML
Я новичок в IDML, и я пытаюсь понять это.
Я понял, что IDML - это zip-файл, содержащий несколько XML-файлов. Я открыл designmap.xml
и увидел StoryLine
приписывать Document
элемент. Однако этот порядок в StoryLine
Атрибут не обязательно должен соответствовать логическому порядку текста, отображаемого на реальном контенте.
Например, BusinessCardTemplate внутри IDML SDK имеет следующий логический порядок:
John Doe
Software Developer
InDesign
Adobe Systems Incorporated
801 North 34th Street
Seattle, WA 98103
Phone: 206.675.7000
jdoe@adobe.com
www.adobe.com
Однако в соответствии с StoryList
атрибут следующим является порядок, который он ссылается следующим образом:
Software Developer
InDesign
John Doe
jdoe@adobe.com
www.adobe.com
Phone: 206.675.7000
801 North 34th Street
Seattle, WA 98103
Adobe Systems Incorporated
Есть ли способ узнать из содержания IDML, чтобы узнать логический порядок (предпочтительно слева направо и снизу слева) этих историй?
заранее спасибо
2 ответа
Рассказ - это просто текстовое содержание, абстрагированное от его использования в документе. Если вы хотите, чтобы истории были в правильном порядке, вам необходимо:
1) Найдите файл designmap.xml в корне распакованного файла IDML (сначала распакуйте его целиком - думаю, вы уже это знаете)
2) Получить порядок спредов, найдя элементы спреда:
<idPkg:Spread src="Spreads/Spread_uc6.xml" />
3) Внутри каждого развёрнутого документа получите порядок TextFrames:
<TextFrame Self="uec" ParentStory="uda" PreviousTextFrame="n" NextTextFrame="n" ContentType="TextType" ... (many more parameters) ... />
4) Проверьте ссылку ParentStory каждого текстового фрейма:
<TextFrame Self="uec" ParentStory="uda" ... />
5) Найдите связанную историю: в этом случае это будет Stories/Story_uda.xml.
В простом документе, где каждый текстовый фрейм сопоставлен с одной историей, это даст вам порядок, в котором ваши истории появляются в документе.
Однако существуют некоторые обстоятельства - например, несколько фреймов, связанных с одной историей, или многопоточные фреймы, где одна история разбита на несколько текстовых фреймов - где это отображение не будет таким простым. Также обратите внимание на сложность, представленную MasterSpreads.
Вы найдете документацию по Adobe IDML полезной: http://www.adobe.com/devnet/indesign/documentation.html
Работать напрямую с историями довольно сложно. Это проще, если вы используете функции тегов. Откройте файл InDesign и импортируйте файл XML с правильной структурой для ваших данных. Затем можно пометить части документа для сопоставления с узлами XML.
Как только это будет сделано, экспортируйте документ в IDML, а затем посмотрите в каталоге XML на файл BackingStory.xml
где вы найдете такие узлы:
<XMLElement Self="di3i29" MarkupTag="XMLTag/Instructions" XMLContent="u16a" />
Это определяет отображение для XML-узла Instructions в файл Story_u16a.xml. Однако вам больше не нужно беспокоиться об истории, поскольку у вас уже есть доступ к значению узла, которое будет введено в историю.
В этом руководстве объясняется использование тегов InDesign XML.