Toon posts:

openxml xml schema vraag

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi tweakers,

Ik heb een vraagje over openxml. Om te beginnen heb ik hier vrij weinig ervaring mee. Ik heb op het internet informatie hierover gelezen en zelf wat uitgeprobeerd maar ben tegen een probleem aan gelopen die ik helaas niet kan oplossen.

het volgende:

ik heb een simpele xml schema gemaakt genaamd customer.xsd
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.something.nl" 
xmlns="http://www.something.nl"
elementFormDefault="qualified">
<xs:element name="customer">
    <xs:complexType>
          <xs:sequence>
            <xs:element name="cname" type="xs:string"/>
            <xs:element name="cdate" type="xs:string"/>
          </xs:sequence>
    </xs:complexType>
</xs:element>
</xs:schema>


ook heb ik een xml gemaakt die gebruikt maakt van de bovenstaande schema:
code:
1
2
3
4
5
6
<?xml version="1.0"?>
<customer xmlns="http://www.something.nl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.something.nl
C:\\customer.xsd">
    <cname>pietje</cname>
    <cdate>1900-01-01</cdate>
</customer>


Zowel de schema als de xml heb ik gevalideerd met een xml validator. Ik kreeg geen enkele foutmeldingen.

Vervolgens heb ik het volgende sql statement uitgevoerd op sql server 200:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DECLARE @idoc int
DECLARE @doc nvarchar(300)
SET @doc =
'<?xml version="1.0"?>
<customer xmlns="http://www.something.nl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.something.nl
C:\\customer.xsd">
    <cname>pietje</cname>
    <cdate>1900-01-01</cdate>
</customer>
'
--Create an internal representation of the XML document.

exec sp_xml_preparedocument @idoc OUTPUT, @doc
-- SELECT statement using OPENXML rowset provider
SELECT    *
FROM   OPENXML (@idoc, '/customer',2)
         WITH ( cname  varchar(10) '@cname',
                cdate  varchar(10) '@cdate')


Na het uitvoeren van deze statement krijg ik niks te zien (alleen column namen).

Kan iemand mij misschien vertellen wat ik hier fout doe?

Groet b