473,399 Members | 3,038 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,399 software developers and data experts.

XSD bug?

I have just started with XSD and tried to deserialize XML into a pretty
complex object which failed all the time. I have created the classes
with xsd. After two days of trying to figure out how this all works and
where the problem might be I finally concluded that this might be a
xsd.exe bug with creating code for sequences inside of a choice. But as
I am novice in these matters I thought I better ask...

I created a simple xsd from scratch for testing like that:

-------------- snippet 1 begins -----------------------

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="XMLSchema1"
targetNamespace="http://tempuri.org/XMLSchema1.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/XMLSchema1.xsd"
xmlns:mstns="http://tempuri.org/XMLSchema1.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="mytop">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="test1" type="xs:string" />
<xs:element name="test2" type="xs:string" />
</xs:sequence>
<xs:sequence>
<xs:element name="test3" type="xs:string" />
<xs:element name="test4" type="xs:string" />
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>

-------------- snippet 1 ends -----------------------

xsd.exe /classes generates for this xsd:

-------------- snippet 2 begins -----------------------
using System.Xml.Serialization;

[System.Xml.Serialization.XmlTypeAttribute(Namespac e="http://tempuri.org/XMLSchema1.xsd")]
[System.Xml.Serialization.XmlRootAttribute(Namespac e="http://tempuri.org/XMLSchema1.xsd",
IsNullable=false)]
public class mytop {
[System.Xml.Serialization.XmlElementAttribute("test 2", typeof(string))]
[System.Xml.Serialization.XmlElementAttribute("test 3", typeof(string))]
[System.Xml.Serialization.XmlElementAttribute("test 1", typeof(string))]
[System.Xml.Serialization.XmlElementAttribute("test 4", typeof(string))]

[System.Xml.Serialization.XmlChoiceIdentifierAttrib ute("ItemElementName")]
public string Item;

[System.Xml.Serialization.XmlIgnoreAttribute()]
public ItemChoiceType ItemElementName;
}

[System.Xml.Serialization.XmlTypeAttribute(Namespac e="http://tempuri.org/XMLSchema1.xsd",
IncludeInSchema=false)]
public enum ItemChoiceType {
test2,
test3,
test1,
test4,
}

-------------- snippet 2 ends -----------------------

The generated code looks like xsd basically ignored the sequences and
just put all content elements from the sequence into the choice giving
me the choice between test1-4 instead of the choice of groups test1+2
and test3+4.

Am I missing here something and did something wrong or is this actually
an incorrectly generated c# class? In the latter case, is there any good
option (or other generators) to get it working without changing the xsd?

Thanks a lot!

Regards,

Gerald
Nov 12 '05 #1
0 1116

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: William C. White | last post by:
Does anyone know of a way to use PHP /w Authorize.net AIM without using cURL? Our website is hosted on a shared drive and the webhost company doesn't installed additional software (such as cURL)...
2
by: Albert Ahtenberg | last post by:
Hello, I don't know if it is only me but I was sure that header("Location:url") redirects the browser instantly to URL, or at least stops the execution of the code. But appearantely it continues...
3
by: James | last post by:
Hi, I have a form with 2 fields. 'A' 'B' The user completes one of the fields and the form is submitted. On the results page I want to run a query, but this will change subject to which...
0
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. ...
1
by: Richard Galli | last post by:
I want viewers to compare state laws on a single subject. Imagine a three-column table with a drop-down box on the top. A viewer selects a state from the list, and that state's text fills the...
4
by: Albert Ahtenberg | last post by:
Hello, I have two questions. 1. When the user presses the back button and returns to a form he filled the form is reseted. How do I leave there the values he inserted? 2. When the...
1
by: inderjit S Gabrie | last post by:
Hi all Here is the scenerio ...is it possibly to do this... i am getting valid course dates output on to a web which i have designed ....all is okay so far , look at the following web url ...
2
by: Jack | last post by:
Hi All, What is the PHP equivilent of Oracle bind variables in a SQL statement, e.g. select x from y where z=:parameter Which in asp/jsp would be followed by some statements to bind a value...
3
by: Sandwick | last post by:
I am trying to change the size of a drawing so they are all 3x3. the script below is what i was trying to use to cut it in half ... I get errors. I can display the normal picture but not the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.