I've tried to reproduce this but get no root elements to select from during the import process. Is it possible that the XSD pasted here is different from what you're using?
>
Hello. I've downloaded and installed the snapshot as of today (8/31/2009) and, using the designer:
>
1. Used Import->XML Schema as Relational Source Model
>
2. Selected Document over HTTP with no request parameters
>
3. Selected No Catalog
>
4. Chose "File System" as source of XML Schema (inlined below)
>
5. Chose "client" (I've tried w/"clients" as well) as the root element and "Finish"
>
6. Create a "purchasing" View Model and, with "purchasing" selected, created an "example" BaseTable. I then drag-and-drop "client" from clients.xmi Source Model into SOURCES pane. (This View abstraction turns out not to be the problem -- I query the Source via the
Execute'd VDB with the same outcome.)
>
7. Created a "billing" vdb, cleaned, built, and synchronized.
>
8. Then, with this data served up by apache:
>
<?xml version="1.0" encoding="UTF-8"?>
<clients>
<client>
<name>acme</name>
<rate>15</rate>
</client>
<client>
<name>toolwerks</name>
<rate>20</rate>
</client>
</clients>
>
I issued the following query:
>
select * from clients.client
>
and received the expected
result:
>
null;acme;15
null;toolwerks;20
>
9. Then I did this:
>
select * from clients.client where name = 'acme'
>
and received *two rows*:
>
null;acme;15
null;toolwerks;20
>
10. So I did this:
>
select * from clients.client where name != 'acme'
>
and received the expected one row:
>
null;toolwerks;20
>
???
>
Is there something goofy with the equality operator against XML data? Is there flag that needs flipped on these attributes? I went with the "string" mapping on the 'XML Schema as Relational Source Model' dialog wizard (pane 4 IIRC). Oughtn't I have? I also changed XML node names that might
have been SQL keywords ('name' -> 'fullname') but no
dice...
>
Thoughts?
>
- Mike
>
Schema:
>
<?xml version="1.0"?>
>
<!-- our client database -->
>
<xs:element name="clients">
<xs:complexType>
<xs:sequence>
>
<!-- the client -->
<xs:element name="client" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
>
<!-- client name -->
>
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
>
<!-- bill rate -->
>
<xs:element name="rate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive
value="50"/>
<xs:maxInclusive value="250"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
>
</xs:sequence>
>
</xs:complexType>
>
</xs:element>
>
</xs:sequence>
</xs:complexType>
>
</xs:element>
</xs:schema>
>
>