Xml 带有AND运算符的DTD混合内容
我用Framemaker.edd创建了一个.dtd。 我用一个旧剧本做了这件事,但它造成了一些错误 我不知道这是否可能,因为我搜索了很长一段时间没有成功 脚本将创建如下所示的元素定义:Xml 带有AND运算符的DTD混合内容,xml,dtd,mixed-content,Xml,Dtd,Mixed Content,我用Framemaker.edd创建了一个.dtd。 我用一个旧剧本做了这件事,但它造成了一些错误 我不知道这是否可能,因为我搜索了很长一段时间没有成功 脚本将创建如下所示的元素定义: <!ELEMENT BodyText ((#PCDATA | Bold | Data | Link | Subscript | Graphic | SpecialCharacter | SpecialTerm | Superscript | Italic | E_Norm | H_
<!ELEMENT BodyText
((#PCDATA | Bold | Data | Link | Subscript | Graphic | SpecialCharacter |
SpecialTerm | Superscript | Italic | E_Norm | H_Norm | WebCable | fm:Linefeed |
fm:UserVar)*, Index*, CCN*) >
我想我想生产的产品是明确的:
第一个括号中的元素可以按其假设的频率出现。其他元素(索引和CCN)必须按该顺序出现,并且在这些元素之后不可能添加其他元素之一
任何人都能提供解决方案吗?您想要的内容模型不能使用XML内容模型来表达,因为XML要求具有
#PCDATA
(混合内容模型)的内容模型具有(#PCDATA)
或(#PCDATA | element1 |…)
的形式。FrameMaker EDDs/FrameMaker SGML可以使用不受限制的完整SGML,该SGML没有此限制(以及对SGML的XML子集/配置文件施加的所有其他限制,如XML中缺少标记推断等)。非常感谢。解决这个问题的唯一办法是改变我的结构还是我在工作?@MarlonRoss yes;您可以将粗体
,数据
。。。(但不要将索引
和CCN
)元素添加到另一个元素中,或者放松内容模型,使所有其他元素之后出现的索引
和CCN
约束不被强制执行,例如