Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Loading dataset from XML with Schema
Message
From
19/03/2010 04:13:17
 
 
To
18/03/2010 16:09:21
General information
Forum:
ASP.NET
Category:
XML
Environment versions
Environment:
C# 2.0
Miscellaneous
Thread ID:
01454990
Message ID:
01455665
Views:
35
Hi,
I understand that making the element optional will, of course, make it legal to omit it. But that wasn't really my point. If the XML language specification states that where a default value is specified for an element then it should be applied to any such empty element then one would expect the XML as posted by Dimitry to work.

AFAICS there's also nothing in the XML specs that says that if an optional element is missing then it should be added using the default value - which *is* what is happening. I thought a missing element in XML should represent a null value. So how do you specify a null value for a table field in XML?

In short I don't think the DataSet class is obeying the rules of XML - and in the case of empty elements I can't see *why* it should not do so. But I'm not that knowledgeable about XML (and even less about DataSets :-{ ) - maybe someone can point out where my thinking is wrong ?


>>If I remove a 'req_entry' element then the XML will not validate against the schema - ie according to the schema that's not allowed.
>>Also, AFAICS from reading the W3c specs the correct behaviour is as I mentioned before:

>
>I've never tried to validate XML, so I didn't do it in this case, but I suspect that if minOccurs="0" is added to the element in the .XSD, then it should validate just fine when the element is missing from the XML.
>
><xsd:element name="req_entry" default="false" type="xsd:boolean" minOccurs="0"/>		
>
>
>Sorry that I didn't mention that earlier, but I guess I missed that little tidbit of info. =0(
>
>~~Bonnie
>
>
>
>>Hi,
>>That's very odd.
>>If I remove a 'req_entry' element then the XML will not validate against the schema - ie according to the schema that's not allowed.
>>Also, AFAICS from reading the W3c specs the correct behaviour is as I mentioned before:
>>
>>{value constraint} establishes a default or fixed value for an element. If default is specified, and if the element being validated is empty, then the canonical form of the supplied constraint value becomes the schema normalized value of the validated element in the ·post-schema-validation infoset (my italics)
>>
>>Looks to me as if .Net has decided to define its own behaviour as far as the DataSet goes - and I guess I can see the reasoning - being able to omit elements could drastically reduce the XML size. But that still means that, even though the XML might create a valid DataSet if you attempt to pre-validate it against the defined schema it will fail :-{
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform