XmlSchemaDatatype.ParseValue Method

Definition

Overloads

ParseValue(String, XmlNameTable, IXmlNamespaceResolver)

When overridden in a derived class, validates the string specified against a built-in or user-defined simple type.

ParseValue(String, XmlNameTable, XmlNamespaceManager)

When overridden in a derived class, validates the specified string against a built-in or user-defined simple type.

ParseValue(String, XmlNameTable, IXmlNamespaceResolver)

Source:
XmlSchemaDataType.cs
Source:
XmlSchemaDataType.cs
Source:
XmlSchemaDataType.cs

When overridden in a derived class, validates the string specified against a built-in or user-defined simple type.

C#
public abstract object ParseValue(string s, System.Xml.XmlNameTable? nameTable, System.Xml.IXmlNamespaceResolver? nsmgr);
C#
public abstract object ParseValue(string s, System.Xml.XmlNameTable nameTable, System.Xml.IXmlNamespaceResolver nsmgr);

Parameters

s
String

The string to validate against the simple type.

nameTable
XmlNameTable

The XmlNameTable to use for atomization while parsing the string if this XmlSchemaDatatype object represents the xs:NCName type.

nsmgr
IXmlNamespaceResolver

The IXmlNamespaceResolver object to use while parsing the string if this XmlSchemaDatatype object represents the xs:QName type.

Returns

An Object that can be cast safely to the type returned by the ValueType property.

Exceptions

The input value is not a valid instance of this W3C XML Schema type.

The value to parse cannot be null.

Examples

The following example retrieves the LotteryNumber simple type from the example.xsd file as an XmlSchemaSimpleType and then validates the string value of 5 using the ParseValue method.

C#
using System;
using System.Xml;
using System.Xml.Schema;

class XMLSchemaExamples
{
    public static void Main()
    {
        XmlTextReader xtr = new XmlTextReader("example.xsd");
        XmlSchema schema = XmlSchema.Read(xtr, new ValidationEventHandler(ValidationCallbackOne));

        XmlSchemaSet schemaSet = new XmlSchemaSet();
        schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne);
        schemaSet.Add(schema);
        schemaSet.Compile();

        XmlSchema compiledSchema = null;

        foreach (XmlSchema schema1 in schemaSet.Schemas())
        {
            compiledSchema = schema1;
        }

        foreach (XmlSchemaObject schemaObject in compiledSchema.Items)
        {
            if (schemaObject.GetType() == typeof(XmlSchemaSimpleType))
            {
                XmlSchemaSimpleType simpleType = (XmlSchemaSimpleType)schemaObject;
                Console.WriteLine("{0} {1}", simpleType.Name, simpleType.Datatype.ValueType);
            }
            if (schemaObject.GetType() == typeof(XmlSchemaComplexType))
            {
                XmlSchemaComplexType complexType = (XmlSchemaComplexType)schemaObject;
                Console.WriteLine("{0} {1}", complexType.Name, complexType.Datatype.ValueType);
            }
        }
        xtr.Close();
    }

    public static void ValidationCallbackOne(object sender, ValidationEventArgs args)
    {
        Console.WriteLine(args.Message);
    }
}

The following XML file is used for the preceding code example.

XML
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType name="LotteryNumber">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="99"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>

Remarks

The ParseValue method validates the string specified against a built-in or user-defined simple type. For example, if this XmlSchemaDatatype represents the type xs:date, then an instance of DateTime is returned.

The following are the steps performed during the ParseValue method's validation process.

  1. Convert the value specified as a string to its corresponding Common Language Runtime (CLR) type.

  2. Verify that the value does not violate any facets defined for the simple type.

The converted value is then returned as an Object and can be cast safely to the type returned by the ValueType property.

When the XmlSchemaDatatype object represents a list type, the input string value is converted to a list of one or more objects. When the XmlSchemaDatatype object represents a list type, an attempt is made to parse the input value as a member type of the union. If the parse attempt fails, then the conversion is attempted with the next member of the union until the parse is successful or there are no other member types to parse. If the parse is unsuccessful, an exception is thrown.

Applies to

.NET 10 and other versions
Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

ParseValue(String, XmlNameTable, XmlNamespaceManager)

When overridden in a derived class, validates the specified string against a built-in or user-defined simple type.

C#
public abstract object ParseValue(string s, System.Xml.XmlNameTable nameTable, System.Xml.XmlNamespaceManager nsmgr);

Parameters

s
String

The string to validate against the simple type.

nameTable
XmlNameTable

The XmlNameTable to use for atomization while parsing the string if this XmlSchemaDatatype object represents the xs:NCName type.

nsmgr
XmlNamespaceManager

The XmlNamespaceManager object to use while parsing the string if this XmlSchemaDatatype object represents the xs:QName type.

Returns

An Object that can be safely cast to the type that is returned by the ValueType property.

Exceptions

The input value is not a valid instance of this W3C XML Schema type.

The value to parse cannot be null (Nothing in Visual Basic).

Remarks

The ParseValue method validates the specified string against a built-in or user-defined simple type. For example, if this XmlSchemaDatatype represents the type xs:date, then an instance of DateTime is returned.

The following are the steps performed during the ParseValue method's validation process.

  1. Convert the specified string to its corresponding Common Language Runtime (CLR) type.

  2. Verify that the value does not violate any facets that are defined for the simple type.

The converted value is then returned as an Object and can be cast safely to the type that is returned by the ValueType property.

When the XmlSchemaDatatype object represents a list type, the input string value is converted to a list of one or more objects. When the XmlSchemaDatatype object represents a list type, an attempt is made to parse the input value as a member type of the union. If the parse attempt fails, then the conversion is attempted with the next member of the union until the parse is successful or there are no other member types to parse. If the parse is unsuccessful, an exception is thrown.

Applies to

.NET Framework 1.1
Product Versions
.NET Framework 1.1