|
Posted by Standards Guy on 02/20/07 22:15
On Feb 19, 5:02 pm, "rrowles2000" <rich...@rowles.co.uk> wrote:
> Hi, Am I right in saying that by default, an element of complex type
> in an XSD annotated schema maps to the table with the same name in the
> specified database. If so does anyone have any idea why my app runs
> with no errors, but doesn't add anything to the table in the DB. I was
> hoping to find the value 'GDS-2392265' in the table.
>
> Any Ideas?
> Thanks in advance.
> Rich
>
> vb.net code
> -----------------
>
> Dim objBL
> objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
> objBL.ConnectionString = "provider=SQLOLEDB.1;data source=xxx
> \SQLEXPRESS;database=xxx;uid=sa;pwd=xxxxx"
> objBL.ErrorLogFile = "c:\error.log"
> objBL.KeepIdentity = False
> objBL.Execute("c:\SCHEMA.XML", "c:\INPUT.XML")
> objBL = Nothing
>
> Me.Enabled = True
>
> DB Table Def
> -------------------
>
> CREATE TABLE [dbo].[FeatureCollection](
> [fid] [nchar](20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
> ) ON [PRIMARY]
>
> Schema File
> ------------------
>
> <?xml version="1.0" ?>
> <xsd:schema xmlns="urn:schemas-microsoft-com:xml-data"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sql="urn:schemas-microsoft-com:mapping-schema"
> xmlns:osgb="http://www.ordnancesurvey.co.uk/xml/namespaces/osgb"
> xmlns:gml="http://www.opengis.net/gml"
> xmlns:xlink="http://www.w3.org/1999/xlink"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>
> <xsd:element name="FeatureCollection">
> <xsd:complexType>
> <xsd:attribute name="fid" type="xsd:string"/>
> </xsd:complexType>
> </xsd:element>
>
> </xsd:schema>
>
> XML File
> ------------
>
> <?xml version='1.0' encoding='UTF-8'?>
> <osgb:FeatureCollection
> xmlns:osgb='http://www.ordnancesurvey.co.uk/xml/namespaces/osgb'
> xmlns:gml='http://www.opengis.net/gml'
> xmlns:xlink='http://www.w3.org/1999/xlink'
> xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
> xsi:schemaLocation='http://www.ordnancesurvey.co.uk/xml/namespaces/
> osgbhttp://www.ordnancesurvey.co.uk/xml/schema/v5/OSDNFFeatures.xsd'
> fid='GDS-2392265'>
> </osgb:FeatureCollection>
Hi -
Got this information from a GML guru. Not sure if it helps, but
perhaps worth a try:
Looks like the SQLXMLBulkLoad utility only wants to load the
"default"
namespace (i.e. no prefix). So, simply make GML the the default
namespace:
<MyFeatureCollection xmlns="http://www.opengis.org/gml" ... >
....
</MyFeatureCollection>
This way any "unqualified" elements are assumed to be in the gml
namespace and, presumably, SQLXMLBulkLoad would load the data.
Regards
Carl
[Back to original message]
|