2012-04-03 88 views
0

對不起,我的英語。如何指定沒有特定名稱的元素

我需要爲我的XML文件編寫XML模式。我的XML文件樣本:

<?xml version="1.0" encoding="utf-8"?> 
<styles> 

    <style name="p"> 
    <text-indent>25px</text-indent> 
    </style> 

    <style name="td"> 
    <border>solid 2px</border> 
    <border-color>Black</border-color> 
    <padding-left>5px</padding-left> 
    </style> 

    <style name="p.withoutRedLine"> 
    <text-indent>0px</text-indent> 
    </style> 

</styles> 

每個「風格」元素可以有任何名的項目。

我寫的下一個XML模式(問題在代碼中的註釋中定義):

<?xml version="1.0" encoding="utf-8"?> 
<xsd:schema 
    xmlns="http://www.mia-orbis.com/2012/XMLSchema/styles" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

    <xsd:complexType name="style"> 
    <xsd:sequence minOccurs="1" maxOccurs="1"> 
     <!--Error in it place (I don't need to specify value 
     of attribute 'name', but from me it demand):--> 
     <xsd:element type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>  
    </xsd:sequence> 
    <xsd:attribute name="name" type="xsd:ID" use="required"/> 
    </xsd:complexType> 

    <xsd:element name="styles"> 
    <xsd:complexType> 
     <xsd:sequence minOccurs="1" maxOccurs="1"> 
     <xsd:element name="style" minOccurs="0" maxOccurs="unbounded"/> 
     </xsd:sequence> 
    </xsd:complexType> 
    </xsd:element> 

</xsd:schema> 

問候

回答

0

您需要使用的xsd:any:對

<?xml version="1.0" encoding="utf-8"?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:complexType name="style"> 
     <xsd:sequence> 
      <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="skip"/> 
     </xsd:sequence> 
     <xsd:attribute name="name" type="xsd:ID" use="required"/> 
    </xsd:complexType> 
    <xsd:element name="styles"> 
     <xsd:complexType> 
      <xsd:sequence> 
       <xsd:element name="style" minOccurs="0" maxOccurs="unbounded" type="style"/> 
      </xsd:sequence> 
     </xsd:complexType> 
    </xsd:element> 
</xsd:schema> 

我做了一些修正,以你的模式:刪除默認名稱空間,將類型設置爲樣式元素等。

如果你同意使用xsd:any,這可能是一種很好的習慣來定義你所知道的,並將xsd:any留給其他任何東西。

+0

這也不行。錯誤行: 2012-04-05 12:56:49

+0

我無法理解您的代碼感 – 2012-04-05 13:05:06

+0

@Bush,我發佈的XSD是完全有效;你用什麼工具來驗證它? – 2012-04-05 14:04:18

相關問題