首页 > 解决方案 > XML DTD 验证错误:元素类型“图表”的内容必须匹配

问题描述

我不知道为什么会出现以下错误:第 70 行第 11 列:元素类型“图表”的内容必须匹配“(图表值,目标,质量目标,代理 *)”*。我尝试更改根元素的子元素中的 DTD 约束,但这似乎不起作用。我还确保根元素的所有子元素都包含在 xml 中,但错误仍然显示。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE diagram [
		
		<!ELEMENT diagram (diagram_value,goal,qualitygoal*,agent*)>
		<!ELEMENT diagram_value (#PCDATA)>
		
		
		<!ELEMENT goal (refinement_level*,goal_value+)>
		<!ELEMENT refinement_level (#PCDATA)>
		<!ELEMENT goal_value (#PCDATA)>
		<!ATTLIST goal goal_id ID #REQUIRED>
		<!ATTLIST goal decomposed_from IDREFS #IMPLIED>
		<!ATTLIST goal associated_to IDREFS #IMPLIED>
		
		
		<!ELEMENT qualitygoal (qualitygoal_value+)>
		<!ELEMENT qualitygoal_value (#PCDATA)>
		<!ATTLIST qualitygoal qualitygoal_id ID #REQUIRED>
		
		
		<!ELEMENT agent (agent_type+)>
		<!ELEMENT agent_type (software_agent|human_agent)>
        <!ELEMENT software_agent (#PCDATA)>
        <!ELEMENT human_agent (#PCDATA)>
		<!ATTLIST agent agent_id ID #REQUIRED>
		
		
]>

<diagram>
    <diagram_value>IdCredit value proposition, first- and second level goal model</diagram_value>

<!--list of quality goals in the diagram-->	
	<qualitygoal qualitygoal_id="q1">
		<qualitygoal_value>trustworthy</qualitygoal_value>
	</qualitygoal>
	<qualitygoal qualitygoal_id="q2">
		<qualitygoal_value>scalable</qualitygoal_value>
	</qualitygoal>	
	<qualitygoal qualitygoal_id="q3">
		<qualitygoal_value>secure</qualitygoal_value>
	</qualitygoal>

<!--list of agents in the diagram-->		
	<agent agent_id="a1">
		<agent_type >
			<software_agent>transaction rule</software_agent>
		</agent_type>
	</agent>
	
	
<!--root goal or value proposition and associations -->		
    <goal goal_id="g0">
        <refinement_level>0</refinement_level>
        <goal_value>A Decentralized Blockchain System for the Attestation and Authorization of Digital Assets</goal_value>
    </goal>

<!--goal refinement_levels and associations-->	     
		<goal goal_id="g1" decomposed_from="g0" associated_to="q1 q2 q3">
			<refinement_level>1</refinement_level>
			<goal_value>manage transaction</goal_value>
		</goal>   
				
		
 			<goal goal_id="g1.1" decomposed_from= "g1 g0" associated_to="a1">
				<refinement_level>2</refinement_level>
				<goal_value>create transaction rule</goal_value>
			</goal>
    
</diagram>

标签: xmlvalidationdtd

解决方案


通过正确排序根元素的子元素来修复它。此处的评论很有帮助:在此处输入链接描述


推荐阅读