2008-11-12 71 views
2

我想使用XSD爲jdpl流程定義文件添加額外的驗證。XSD - 如何確保具有給定屬性的特定元素的存在?

我們有幾條規則要添加;但引起我的問​​題的一個是,它必須存在一個「節點」元素,它的「名稱」屬性=「問題」。

所以這是有效的:

<process-definition name='sample'> 
    <node name="Problem"> 
    </node> 
    <node name="Do Work"> 
    </node> 
</process-definition> 

,這是不是

<process-definition name='sample'> 
    <node name="Do Work"> 
    </node> 
</process-definition> 

因此,要總結,我需要強制執行的規則是具有

  • 節點屬性值「問題」
  • 存在名爲「問題」的1個節點
  • 允許與其他名稱

任何想法在那裏任意數量的節點?

+0

你必須調用「Problem」節點嗎? 如果您可以更改名稱,那麼可以完成 – 2008-11-12 11:15:42

+0

是的羅伯特它必須仍然是一個節點,因爲這是jpdl所做的額外驗證。 此驗證對我們的應用程序特別有用,並且更改文檔格式會導致底層jbpm框架崩潰。 謝謝 – 2008-11-12 11:22:16

回答

1

對不起,這是不可能的XSD。

由於性能方面的原因,XML-Schema旨在永不展望未來,並且永遠不會超越當前節點。這意味着必須始終定義驗證程序在模式樹中的哪個位置。而這使得用XSD定義這樣的要求變得不可能。

相關問題