Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 带有AND运算符的DTD混合内容_Xml_Dtd_Mixed Content - Fatal编程技术网

Xml 带有AND运算符的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_

我用Framemaker.edd创建了一个.dtd。 我用一个旧剧本做了这件事,但它造成了一些错误

我不知道这是否可能,因为我搜索了很长一段时间没有成功

脚本将创建如下所示的元素定义:

<!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
约束不被强制执行,例如