Логический порядок 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.

Другие вопросы по тегам