XmlSchemaPatternFacet 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
W3C(World Wide Web 컨소시엄)에서 지정한 대로 XML 스키마의 pattern
요소를 나타냅니다. 이 클래스를 사용하여 simpleType
요소에 입력한 값에 대한 제한을 지정할 수 있습니다.
public ref class XmlSchemaPatternFacet : System::Xml::Schema::XmlSchemaFacet
public class XmlSchemaPatternFacet : System.Xml.Schema.XmlSchemaFacet
type XmlSchemaPatternFacet = class
inherit XmlSchemaFacet
Public Class XmlSchemaPatternFacet
Inherits XmlSchemaFacet
- 상속
예제
다음 예제에서는 사용 된 XmlSchemaPatternFacet
클래스입니다.
#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;
}
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples
{
public static void Main()
{
XmlSchema schema = new XmlSchema();
// <xs:simpleType name="ZipCodeType">
XmlSchemaSimpleType ZipCodeType = new XmlSchemaSimpleType();
ZipCodeType.Name = "ZipCodeType";
// <xs:restriction base="xs:string">
XmlSchemaSimpleTypeRestriction restriction = new XmlSchemaSimpleTypeRestriction();
restriction.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:pattern value="[0-9]{5}(-[0-9]{4})?"/>
XmlSchemaPatternFacet pattern = new 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 = new XmlSchemaElement();
element.Name = "Address";
// <xs:complexType>
XmlSchemaComplexType complexType = new XmlSchemaComplexType();
// <xs:attribute name="ZipCode" type="ZipCodeType"/>
XmlSchemaAttribute ZipCodeAttribute = new XmlSchemaAttribute();
ZipCodeAttribute.Name = "ZipCode";
ZipCodeAttribute.SchemaTypeName = new XmlQualifiedName("ZipCodeType", "");
complexType.Attributes.Add(ZipCodeAttribute);
element.SchemaType = complexType;
schema.Items.Add(element);
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;
}
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
compiledSchema.Write(Console.Out, nsmgr);
}
public static void ValidationCallbackOne(object sender, ValidationEventArgs args)
{
Console.WriteLine(args.Message);
}
}
Imports System.Xml
Imports System.Xml.Schema
Class XMLSchemaExamples
Public Shared Sub Main()
Dim schema As New XmlSchema()
' <xs:simpleType name="ZipCodeType">
Dim ZipCodeType As New XmlSchemaSimpleType()
ZipCodeType.Name = "ZipCodeType"
' <xs:restriction base="xs:string">
Dim restriction As New XmlSchemaSimpleTypeRestriction()
restriction.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:pattern value="[0-9]{5}(-[0-9]{4})?"/>
Dim pattern As New XmlSchemaPatternFacet()
pattern.Value = "[0-9]{5}(-[0-9]{4})?"
restriction.Facets.Add(pattern)
ZipCodeType.Content = restriction
schema.Items.Add(ZipCodeType)
' <xs:element name="Address">
Dim element As New XmlSchemaElement()
element.Name = "Address"
' <xs:complexType>
Dim complexType As New XmlSchemaComplexType()
' <xs:attribute name="ZipCode" type="ZipCodeType"/>
Dim ZipCodeAttribute As New XmlSchemaAttribute()
ZipCodeAttribute.Name = "ZipCode"
ZipCodeAttribute.SchemaTypeName = New XmlQualifiedName("ZipCodeType", "")
complexType.Attributes.Add(ZipCodeAttribute)
element.SchemaType = complexType
schema.Items.Add(element)
Dim schemaSet As New XmlSchemaSet()
AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne
schemaSet.Add(schema)
schemaSet.Compile()
Dim compiledSchema As XmlSchema = Nothing
For Each schema1 As XmlSchema In schemaSet.Schemas()
compiledSchema = schema1
Next
Dim nsmgr As New XmlNamespaceManager(New NameTable())
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
compiledSchema.Write(Console.Out, nsmgr)
End Sub
Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
Console.WriteLine(args.Message)
End Sub
End Class
다음 XML 파일은 앞의 코드 예제에 대 한 생성 됩니다.
<?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>
생성자
XmlSchemaPatternFacet() |
XmlSchemaPatternFacet 클래스의 새 인스턴스를 초기화합니다. |
속성
Annotation |
|
Id |
문자열 ID를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaAnnotated) |
IsFixed |
이 패싯이 고정되었음을 나타내는 정보를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaFacet) |
LineNumber |
|
LinePosition |
|
Namespaces |
이 스키마 개체에 사용할 XmlSerializerNamespaces를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaObject) |
Parent |
이 XmlSchemaObject의 부모를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaObject) |
SourceUri |
스키마를 로드한 파일의 소스 위치를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaObject) |
UnhandledAttributes |
현재 스키마의 대상 네임스페이스에 속하지 않는 정규화된 특성을 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaAnnotated) |
Value |
패싯의 |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |