2010-12-22 8 views
0
<?xml version="1.0"?> 
    <datatype xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"    
     xs:noNamespaceSchemaLocation="sampletype.xsd"> 
    <table name="emp"> 
     <columns> 
     <column> 
      <name>emp_id</name> 
      <data_type>int(200) </data_type> 
     </column> 
     </columns> 
    </table> 
    </datatype> 

Hier generiere ich das xsd für oben xml, aber es war nicht korrekt. kannst du mir helfen, das xsd für das xml zu erzeugen? Danke im Voraus.Wie schreibe ich xsd für die folgende XML?

Antwort

2

Führen Sie einfach das xsd.exe Dienstprogramm (siehe: MSDN XML Schema Definition Tool) über diese XML-Datei, und Sie Ihre Antwort erhalten:

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema id="datatype" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> 
    <xs:element name="datatype" msdata:IsDataSet="true" msdata:Locale="en-US"> 
    <xs:complexType> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element name="table"> 
      <xs:complexType> 
      <xs:sequence> 
       <xs:element name="columns" minOccurs="0" maxOccurs="unbounded"> 
       <xs:complexType> 
        <xs:sequence> 
        <xs:element name="column" minOccurs="0" maxOccurs="unbounded"> 
         <xs:complexType> 
         <xs:sequence> 
          <xs:element name="name" type="xs:string" minOccurs="0" /> 
          <xs:element name="data_type" type="xs:string" minOccurs="0" /> 
         </xs:sequence> 
         </xs:complexType> 
        </xs:element> 
        </xs:sequence> 
       </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
      <xs:attribute name="name" type="xs:string" /> 
      </xs:complexType> 
     </xs:element> 
     </xs:choice> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

Also, was ist nicht korrekt über dieses XSD ?? Die xsd.exe versucht zu erraten, was Ihr XML enthält, aber in einigen Fällen muss es nur einige Annahmen treffen, so dass diese resultierende XSD möglicherweise genau das ist, was Sie brauchen, und es könnte definitiv schöner/effizienter geschrieben werden, wenn Sie haben zusätzliches Know-how über die Struktur des XML. Z.B. Wenn Sie wissen, dass es immer nur ein einziges <table> Element geben wird, könnten Sie die Dinge viel einfacher machen.

Verwandte Themen