Larry (archive)
Usenet Archive
- Joined
- Jan 13, 2000
- Messages
- 241
- Reaction score
- 0
Reposting due to lack of response - I believe the .Net
XmlValidatingReader should fail when validating XML that contains a ComplexType element with white space when the ComplexType element has the mixed attribute set to false in the XSD used for validation.
XSD fragment:
<xs:element name="TRSellerBuyerData">
<xs:complexType mixed="false">
<xs:sequence>
<xs:element ref="BuyerSellerReferrorFlag" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>
XML fragment:
<TRSellerBuyerData>
</TRSellerBuyerData>
XML Spy will catch the valdation error and report: "Text not allowed inside element 'TRSellerBuyerData'
But the following code does not catch the validation error. Is this a bug in XmlValidatingReader - or am I missing code to catch this? I assume by XSD is correct since XmlSpy catches the error.
XmlTextReader textReader = new XmlTextReader(reader);
textReader.WhitespaceHandling = WhitespaceHandling.All; //this is the default
textReader.Normalization = false; //this is the default
XmlValidatingReader validatingReader = new XmlValidatingReader(textReader);
validatingReader.ValidationType = ValidationType.Schema;
validatingReader.Schemas.Add(schemaCollection);
try
{
while(validatingReader.Read);
}
catch(Exception ex)
{
Debug.WriteLine(ex.Message);
}
-Larry
XmlValidatingReader should fail when validating XML that contains a ComplexType element with white space when the ComplexType element has the mixed attribute set to false in the XSD used for validation.
XSD fragment:
<xs:element name="TRSellerBuyerData">
<xs:complexType mixed="false">
<xs:sequence>
<xs:element ref="BuyerSellerReferrorFlag" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>
XML fragment:
<TRSellerBuyerData>
</TRSellerBuyerData>
XML Spy will catch the valdation error and report: "Text not allowed inside element 'TRSellerBuyerData'
But the following code does not catch the validation error. Is this a bug in XmlValidatingReader - or am I missing code to catch this? I assume by XSD is correct since XmlSpy catches the error.
XmlTextReader textReader = new XmlTextReader(reader);
textReader.WhitespaceHandling = WhitespaceHandling.All; //this is the default
textReader.Normalization = false; //this is the default
XmlValidatingReader validatingReader = new XmlValidatingReader(textReader);
validatingReader.ValidationType = ValidationType.Schema;
validatingReader.Schemas.Add(schemaCollection);
try
{
while(validatingReader.Read);
}
catch(Exception ex)
{
Debug.WriteLine(ex.Message);
}
-Larry