我是XML Schema noob,這是我的第一個堆棧溢出問題。請原諒我對兩種標準和禮儀的無知。XML架構 - 如何更改ref'ed元素的名稱?
在一個XML Schema文件(.xsd)中,我包含另一個Schema(我的控制之外),它代表了我的組正在使用的一種事實標準。內外部架構是一個具有悠久名稱的複雜元素:
<xs:element name="AnnoyingLongElementNameOfSuffering">
<xs:complexType>
<xs:sequence>
...sub-elements galore...
</xs:sequence>
</xs:complexType>
</xs:element>
在我的架構文件,有問題的元素被複制,我認爲不好的做法,而且它被賦予的縮寫,微小的名稱。我想要做的是將複製的代碼替換爲其他模式中原始引用的代碼,但我需要維護現有實例文件中已經使用的小名稱(也在我的控制之外)。我想要做類似這樣的事情:
<xsd:element name="TinyName" ref="AnnoyingLongElementNameOfSuffering"/>
但是,'name'和'ref'屬性是互斥的。我無法重新定義它並重新列出子元素,因爲它們沒有在其他模式中全局聲明。我不能創建派生類型,因爲它被定義爲另一個模式中的元素而不是類型。唉,我的搜索都沒有產生任何有用的,大概是因爲你通常會改變元素名稱或修改其他文件,這兩者都不是我的選擇。可能有一個簡單的答案,所以我期待着你的啓發性迴應。
我必須指出,這與模式1.0處理器不兼容。無論如何,它的工作。 – gyorgyabraham 2015-05-21 15:26:33