XmlSchemaPatternFacet Class
Represents the pattern element from XML Schema as specified by the World Wide Web Consortium (W3C). This class can be used to specify a restriction on the value entered for a simpleType element.
Assembly: System.Xml (in System.Xml.dll)
System.Xml.Schema::XmlSchemaObject
System.Xml.Schema::XmlSchemaAnnotated
System.Xml.Schema::XmlSchemaFacet
System.Xml.Schema::XmlSchemaPatternFacet
| Name | Description | |
|---|---|---|
![]() | XmlSchemaPatternFacet() | Initializes a new instance of the XmlSchemaPatternFacet class. |
| Name | Description | |
|---|---|---|
![]() | Annotation | Gets or sets the annotation property.(Inherited from XmlSchemaAnnotated.) |
![]() | Id | Gets or sets the string id.(Inherited from XmlSchemaAnnotated.) |
![]() | IsFixed | Gets or sets information that indicates that this facet is fixed.(Inherited from XmlSchemaFacet.) |
![]() | LineNumber | Gets or sets the line number in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | LinePosition | Gets or sets the line position in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | Namespaces | Gets or sets the XmlSerializerNamespaces to use with this schema object.(Inherited from XmlSchemaObject.) |
![]() | Parent | Gets or sets the parent of this XmlSchemaObject.(Inherited from XmlSchemaObject.) |
![]() | SourceUri | Gets or sets the source location for the file that loaded the schema.(Inherited from XmlSchemaObject.) |
![]() | UnhandledAttributes | Gets or sets the qualified attributes that do not belong to the current schema's target namespace.(Inherited from XmlSchemaAnnotated.) |
![]() | Value | Gets or sets the value attribute of the facet.(Inherited from XmlSchemaFacet.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The following example shows the use of the XmlSchemaPatternFacet class.
#using <System.Xml.dll> using namespace System; using namespace System::Xml; using namespace System::Xml::Schema; ref class XMLSchemaExamples { private: static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args) { Console::WriteLine(args->Message); } public: static void Main() { XmlSchema^ schema = gcnew XmlSchema(); // <xs:simpleType name="ZipCodeType"> XmlSchemaSimpleType^ ZipCodeType = gcnew XmlSchemaSimpleType(); ZipCodeType->Name = "ZipCodeType"; // <xs:restriction base="xs:string"> XmlSchemaSimpleTypeRestriction^ restriction = gcnew XmlSchemaSimpleTypeRestriction(); restriction->BaseTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema"); // <xs:pattern value="[0-9]{5}(-[0-9]{4})?"/> XmlSchemaPatternFacet^ pattern = gcnew XmlSchemaPatternFacet(); pattern->Value = "[0-9]{5}(-[0-9]{4})?"; restriction->Facets->Add(pattern); ZipCodeType->Content = restriction; schema->Items->Add(ZipCodeType); // <xs:element name="Address"> XmlSchemaElement^ element = gcnew XmlSchemaElement(); element->Name = "Address"; // <xs:complexType> XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType(); // <xs:attribute name="ZipCode" type="ZipCodeType"/> XmlSchemaAttribute^ ZipCodeAttribute = gcnew XmlSchemaAttribute(); ZipCodeAttribute->Name = "ZipCode"; ZipCodeAttribute->SchemaTypeName = gcnew XmlQualifiedName("ZipCodeType", ""); complexType->Attributes->Add(ZipCodeAttribute); element->SchemaType = complexType; schema->Items->Add(element); XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet(); schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne); schemaSet->Add(schema); schemaSet->Compile(); XmlSchema^ compiledSchema = nullptr; for each (XmlSchema^ schema1 in schemaSet->Schemas()) { compiledSchema = schema1; } XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager(gcnew NameTable()); nsmgr->AddNamespace("xs", "http://www.w3.org/2001/XMLSchema"); compiledSchema->Write(Console::Out, nsmgr); } }; int main() { XMLSchemaExamples::Main(); return 0; }
The following XML file is generated for the preceding code example.
<?xml version="1.0" encoding="IBM437"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="ZipCodeType"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{5}(-[0-9]{4})?"/> </xs:restriction> </xs:simpleType> <xs:element name="Address"> <xs:complexType> <xs:attribute name="ZipCode" type="ZipCodeType"/> </xs:complexType> </xs:element> </xs:schema>
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


