2009-11-16 29 views
5

我正在調查XML架構中的替換組,我似乎無法找到官方規範。任何人都可以指向我嗎?XML架構:替換組

我不知道是否與替換組屬性的元素可以內部的複合物或僅全局元素替換元素如權利要求w3schools

「注意,在 substitutionGroup所有元素(頭元件 和可替換元素)必須聲明爲全局元素 ,否則它將不起作用!「

上述說法是否正確?

因爲全局元素都可以是XML實例的根 - 定義它們上的替換組的意義何在?

回答

6

替代組是一個非常複雜的野獸。從本質上講,它給出的是一種表達<xs:choice>結構的替代方式,而不必列出所有可能的選擇。這意味着您可以在稍後的日期和附加選項中進行選擇,而無需修改原始模式。

實際上有用的用例非常少且很多,僅限於被第三方設計爲可擴展的模式。事實上,他們很難與之合作,並且很難理解(參見here有更多理由避免它們)。

+0

這是真的,但我正在編寫一個需要支持替換組的工具。你能指點我的規格嗎? – Gady 2009-11-16 15:05:08

+0

那麼規範在http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/#SubsGroups。不過,祝你好運。 – skaffman 2009-11-16 15:08:10

+0

我認爲這取決於。在抽象的「父」元素上使用替換組會產生比使用選擇或序列更好的JAXB生成的類。 – Marc 2010-03-12 21:06:11