The following code does produce the warning:
"The value of the 'schemaVersion' attribute does not equal its fixed
value."
static void Main(string[] args) {
Directory.SetCurrentDirectory("..\\..");
ValidationEventHandler handler = new
ValidationEventHandler(OnValidationEvent);
XmlTextReader reader = new XmlTextReader("test.xml");
XmlValidatingReader validator = new XmlValidatingReader(reader);
validator.Schemas.Add(XmlSchema.Read(new
StreamReader("test.xsd"), handler));
validator.ValidationType = ValidationType.Schema;
validator.ValidationEventHandler += handler;
while (validator.Read()) {
}
return;
}
static void OnValidationEvent(object sender, ValidationEventArgs e)
{
Console.WriteLine(e.Message);
}
[quoted text, click to view] "uttara" <planetu99@hotmail.com> wrote in message
news:e1cn4kyBGHA.3580@TK2MSFTNGP11.phx.gbl...
> Stan,
> I won't be utterly surprised if I missed out something. I am using the
> XMLValidatingReader. Here is the schema I am using:
> <?xml version="1.0" encoding="utf-8"?>
> <xs:schema id="Schema" xmlns:xs="
http://www.w3.org/2001/XMLSchema"> > <xs:element name="Products">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="ItemCode" minOccurs="1"
> maxOccurs="unbounded">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="SKU" type="xs:string"
> minOccurs="0" maxOccurs="unbounded" />
> </xs:sequence>
> <xs:attribute name="code" type="xs:string" />
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> <xs:attribute name="schemaVersion" type="xs:decimal"
> use="required" fixed="1.0" />
> </xs:complexType>
> </xs:element>
> </xs:schema>
>
> Here is the instance
> <?xml version="1.0" encoding="utf-8" ?>
> <Products schemaVersion="1.1">
> <ItemCode code="10098"></ItemCode>
> <ItemCode code="10047">
> <SKU>0023</SKU>
> <SKU>0025</SKU>
> </ItemCode>
> </Products>
>
> Thanks again,
> Uttara
>
> Stan Kitsis [MSFT] wrote:
>> Either you didn't do what you thought you did or the validator has a
>> problem. Which validator did you use and what are your schema/instance?
>>