Смешанный контент DTD с оператором AND - PullRequest
1 голос
/ 24 октября 2019

Я создал .dtd с Framemaker .edd. Я сделал это со старым скриптом, но он создает некоторые ошибки ...

Я не знаю, возможно ли это, потому что я долго искал безуспешно.

Сценарий создаетОпределение элемента примерно так:

<!ELEMENT BodyText 
      ((#PCDATA | Bold | Data | Link | Subscript | Graphic | SpecialCharacter |
      SpecialTerm | Superscript | Italic | E_Norm | H_Norm | WebCable | fm:Linefeed | 
      fm:UserVar)*, Index*, CCN*) >

Я думаю, ясно, что я хотел бы получить:

Элементы в первых скобках могут встречаться так часто, как это предполагалось. Другие элементы (индекс и CCN) должны располагаться в таком порядке, и после этих элементов не должно быть возможности добавить один из других.

Может ли кто-нибудь предложить решение?

1 Ответ

2 голосов
/ 24 октября 2019

Желаемая модель содержимого не может быть выражена с использованием моделей содержимого XML, поскольку XML требует, чтобы модели содержимого с #PCDATA (модели смешанного содержимого) имели форму (#PCDATA) или (#PCDATA | element1 | ...) в соответствии с Спецификация расширяемой разметки, раздел 3.2.2 . FrameMaker EDD / FrameMaker SGML может использовать неограниченный, полный SGML, который не имеет этого ограничения (наряду со всеми другими ограничениями, налагаемыми на подмножество / профиль XML в SGML, такими как отсутствие вывода тега в XML и другие).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...