2011-03-30 119 views
3

我似乎無法找到一個簡單問題的解決方案。我需要寫一個xsd文件。帶屬性和最大長度限制的XSD元素

我想哈瓦一個XML文件是這樣的:

<info lang="someLang">Some long text not longer than 3000</info> 

我無法獲得最大長度的限制。現在我嘗試了這樣的事情,但這是不對的。

<element minOccurs="1" maxOccurs="1" name="Info"> 
    <complexType> 
     <simpleContent> 
      <restriction base="string"> 
       <maxLength value="3000" /> 
       <attribute name="lang" type="language"/>    
      </restriction> 
     </simpleContent> 
    </complexType> 
</element> 
+0

你是什麼意思「不正確」? – skaffman 2011-03-30 08:03:25

+0

- src-ct.2.1:類型'#AnonType_InfoAdType'的複雜類型定義表示錯誤。當使用時,基本類型必須是內容類型很簡單的complexType,或者只有在指定了限制的情況下,才能使用帶有混合內容和可變粒子的複雜類型,或者只有在指定了擴展名的情況下,類型。 '字符串'不滿足這些條件。 \t - 元素的開始標記 ivar 2011-03-30 08:05:28

回答

5

是的,這是很晦澀難懂。

具有簡單內容的複雜類型總是通過簡單類型的擴展派生而來。因此,您需要將一個簡單類型定義爲xs:string的限制,並使用maxLength約束,然後通過擴展來定義複雜類型。