我想知道类似这样一段xml文档 的架构应该 怎么写这段xml文档是合法的吗?(我觉得好象可以)<root>
 aaaa
 <item1 attr1="1">x</item1>
</root>
 我尝试一下 这样写
<xs:element name="root" type="tt"/>
<xs:complexType name="tt">
  <xs:complexContent>
    <xs:extension base="?"><--如果?处写xs:string的话好象不行,这里好象只能写其它的complexType的名称,就此来求证是不是果真如此;-->
      <xs:sequence>
        <xs:element name="item1" type="xs:string" />
      </xs:sequence>
      <xs:attribute name="attr1" type="xs:int" fixed="US" />
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

解决方案 »

  1.   

    好象这样可以<xs:complexType name="sex">
     <xs:simpleContent>
      <xs:extention base="string">
        <xs:enumeration value="male" />
        <xs:enumeration value="female" />
     </xs:simpleContent> 
    </xs:complexType><xs:complexType name="tt">
     <xs:complexContent>
      <xs:extention base="sex">
       <xs:sequence>
        <xs:element name="item1" type="xs:string"/>    
       </xs:sequence>
       <xs:attribute name="attr1" type="xs:int"/>
      </xs:extention>
     </xs:complexContent>
    </xs:complexType><xs:element name="root" type="tt"/>//<root>
     male
     <item1 attr1="1">abcde</item1>
    </root>
      

  2.   

    1.合法
    2.可以,base可以是内置的数据类型, XML Schema extension Element
    用xsd工具自动生成的schema:<?xml version="1.0" encoding="utf-8"?>
    <xs:schema id="root" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
      <xs:element name="root" msdata:IsDataSet="true" msdata:Locale="en-US">
        <xs:complexType mixed="true">
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="item1" nillable="true">
              <xs:complexType>
                <xs:simpleContent msdata:ColumnName="item1_Text" msdata:Ordinal="1">
                  <xs:extension base="xs:string">
                    <xs:attribute name="attr1" type="xs:string" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:schema>
      

  3.   

    http://www.w3school.com.cn/schema/schema_complex_mixed.asp就是加个属性 mixed="true"就可以变成混合内容的元素了我想复杂了,而且 1楼的代码 错误太多,呵呵