wie für die folgenden XML schreiben XSD?
-
12-10-2019 - |
Frage
<?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 ich die XSD für über XML generieren, aber es war nicht korrekt. können Sie mir helfen, die XSD für die XML zu generieren? Vielen Dank im Voraus.
Lösung
Sie einfach das xsd.exe
Dienstprogramm ausführen (siehe: MSDN XML Schema Definition-Tool ) über diese XML-Datei, und Sie erhalten Ihre Antwort:
<?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 diese XSD ?? Die xsd.exe
versucht zu erraten, was Ihre XML enthalten, aber in einigen Fällen hat es nur einige Annahmen zu machen, so dass diese resultierenden XSD könnte oder nicht genau das, was Sie brauchen, und es könnte auf jeden Fall schöner geschrieben werden / effiziente, wenn Sie haben zusätzliches Know-how über die Struktur des XML. Z.B. Wenn Sie wissen , dass es immer geht nur ein einziges <table>
Element sein, können Sie die Dinge viel einfacher machen könnte.