XML模式:特定元素的某些子元素的keyref
我需要为此XML语言编写一个XML模式:XML模式:特定元素的某些子元素的keyref,xml,xsd,Xml,Xsd,我需要为此XML语言编写一个XML模式: <wfInfo> <worflow name="wf1"> <action name="act1" role="seller"/> <action name="act2" role="buyer"/> ... </workflow> <workflow name="wf2"> ... </wor
<wfInfo>
<worflow name="wf1">
<action name="act1" role="seller"/>
<action name="act2" role="buyer"/>
...
</workflow>
<workflow name="wf2">
...
</workflow>
<process workflow="wf1">
<actionStatus action="act2" takenInCharge="true"/>
</process>
<process ...> ... </process>
...
</wfInfo>
...
...
...
...
我几乎成功地编写了模式的每一部分,包括大多数key和keyref元素。
不管怎么说,有一个限制我似乎不能写。我想让actionStatus元素的属性“action”指向正确的操作,而不是文档中的任何操作。我的意思是,在这种情况下,在验证过程中,应该验证动作“act2”是否存在于工作流“wf1”中,而不是任何工作流中。是否可以使用W3CXML模式语言
谢谢,任何答案都将不胜感激您可以使用key/keyref-但这可能会变得相当混乱 更好的方法可能是使用W3CXMLSchema之外的另一种技术。例如,Schematron可以与模式结合使用,并且易于添加和理解。或者,在代码中实现这种依赖关系也很容易
另外,请参见:谢谢您的回答。不幸的是,我不能使用schematron,因为这是一项大学作业,我应该严格地只使用W3CXMLSchema。无论如何,谢谢你的建议,我一定会看看Schematron的个人知识!我不确定是否可以在不改变底层XML结构的情况下使用纯XML模式来完成所需的工作。看:是的,我已经看到了你链接的问题。实际上,最后我决定更改我的XML格式,以便让流程元素及其actionStatus在工作流中。我更愿意将工作流程和流程分开,但我想这也是一个很好的解决方案。无论如何,非常感谢你的回答!