I have a simple vb.net program that creates an xmlschema using the dataset method Writexmlschema (see #1). It creates a file (see #2), but I would like a file that looks like #3
#3 is DIFFERENT from #2 is that
#2 is "xml-msdata" where as #3 is "mapping-schema"
#2 does not have "relation" attribute but #3 has
Why is my code producing this when others
produce #3?
====================
#1 - My Code
====================
Dim ds As New DataSet()
Dim cn As New SqlClient.SqlConnection("u
ser id=sa;password=;initial
catalog=criminals;data source=(local);Connect Timeout=30;pooling=true")
cn.Open()
Dim cmd As New SqlClient.SqlCommand("SELE
CT * from serialkillers ", cn)
Dim da As New Data.SqlClient.SqlDataAdap
ter(cmd)
da.Fill(ds)
ds.Tables(0).TableName = "serialkillers"
Dim schemaFileName = "c:\XmlSchemaFile.xsd"
Dim xmlFileName = "c:\XmlDataFile.xml"
ds.WriteXml(xmlFileName)
ds.WriteXmlSchema(schemaFi
leName)
====================
#2 - My Output Schema - Why no 'XSD:'??
====================
<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns=""
xmlns:xs="
http://www.w3.org/2001/XMLSchema";
xmlns:msdata="urn:schemas-
microsoft-
com:xml-ms
data">
<xs:element name="NewDataSet" msdata:IsDataSet="true";>
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Pivot">
<xs:complexType>
<xs:sequence>
<xs:element name="Piv_Identity" type="xs:int" minOccurs="0" />
<xs:element name="Year" type="xs:short" minOccurs="0" />
<xs:element name="Quarter" type="xs:unsignedByte"
minOccurs="0" />
<xs:element name="Amount" type="xs:decimal" minOccurs="0" />
<xs:element name="Hrs" type="xs:int" minOccurs="0" />
<xs:element name="Hrs_F" type="xs:double" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
====================
#3 - Other people's schemas
====================
<xsd:schema xmlns:xsd="
http://www.w3.org/2001/XMLSchema";
xmlns:sql="urn:schemas-mic
rosoft-com
:mapping-s
chema"
xmlns:codegen="urn:schemas
-microsoft
-com:xml-m
sprop">
<xsd:element name="TestTableNew" sql:relation="TestTableNew
" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="A" type="xsd:string" />
<xsd:element name="B" type="xsd:integer" />
<xsd:element name="C" type="xsd:integer" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Start Free Trial