Extensions Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bu sınıf, XSD doğrulaması için LINQ to XML uzantısı yöntemlerini içerir.
public ref class Extensions abstract sealed
public static class Extensions
type Extensions = class
Public Module Extensions
- Devralma
-
Extensions
Örnekler
Örnek XSD dosyasındaki XSD: Müşteriler ve siparişler, Örnek XML dosyasındaKI XML belgesini doğrulamak için kullanılabilecek bir şema içerir: Müşteriler ve siparişler. Aşağıdaki örnek şemayı ve belgeyi yükler, belgeyi doğrular, ve xs:keyref
ilişkisinin geçerli olmaması için belgeyi xs:key
değiştirir ve sonra yeniden doğrulamayı dener.
XmlSchemaSet schemas = new XmlSchemaSet();
schemas.Add("", "CustomersOrders.xsd");
XDocument custOrd = XDocument.Load("CustomersOrders.xml");
Console.WriteLine("Validating custOrd");
bool errors = false;
custOrd.Validate(schemas, (o, e) =>
{
Console.WriteLine("{0}", e.Message);
errors = true;
});
Console.WriteLine("custOrd {0}", errors ? "did not validate" : "validated");
// Modify the custOrd tree so that it is no longer valid.
custOrd.Root.Element("Orders").Element("Order").Element("CustomerID").Value = "AAAAA";
Console.WriteLine();
Console.WriteLine("Validating custOrd");
errors = false;
custOrd.Validate(schemas, (o, e) =>
{
Console.WriteLine("{0}", e.Message);
errors = true;
});
Console.WriteLine("custOrd {0}", errors ? "did not validate" : "validated");
Dim errors As Boolean = False
Private Sub XSDErrors(ByVal o As Object, ByVal e As ValidationEventArgs)
Console.WriteLine("{0}", e.Message)
errors = True
End Sub
Sub Main()
Dim schemas As XmlSchemaSet = New XmlSchemaSet()
schemas.Add("", "CustomersOrders.xsd")
Console.WriteLine("Validating custOrd")
Dim custOrd As XDocument = XDocument.Load("CustomersOrders.xml")
errors = False
custOrd.Validate(schemas, AddressOf XSDErrors)
Console.WriteLine("custOrd {0}", IIf(errors, "did not validate", "validated"))
Console.WriteLine()
Console.WriteLine("Validating custOrd")
' Modify the source document so that it will not validate.
custOrd.Root.Element("Orders").Element("Order").Element("CustomerID").Value = "AAAAA"
errors = False
custOrd.Validate(schemas, AddressOf XSDErrors)
Console.WriteLine("custOrd {0}", IIf(errors, "did not validate", "validated"))
End Sub
Bu örnek aşağıdaki çıkışı oluşturur:
Validating custOrd
custOrd validated
Validating custOrd
The key sequence 'AAAAA' in Keyref fails to refer to some key.
custOrd did not validate
Açıklamalar
Bu sınıf ayrıca doğrulanmış bir XML düğümünün şema doğrulama sonrası bilgi kümesini (PSVI) alma yöntemlerini de içerir.
Bir XDocument, XElementveya XAttributedoğruladığınızda, isteğe bağlı olarak XML ağacını şema doğrulama sonrası bilgi kümesiyle de doldurabilirsiniz. PSVI bilgileri türüne System.Xml.Schema.XmlSchemaInfoek açıklama olarak eklenir.
Yöntemler
GetSchemaInfo(XAttribute) |
Doğrulanmış özniteliğin şema doğrulama sonrası bilgi kümesini (PSVI) alır. |
GetSchemaInfo(XElement) |
Doğrulanmış bir öğenin şema doğrulama sonrası bilgi kümesini (PSVI) alır. |
Validate(XAttribute, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler) |
Bu yöntem, belirtilen XAttributeXmlSchemaObject ve XmlSchemaSetile uyumlu olduğunu doğrular. |
Validate(XAttribute, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean) |
bir XAttribute öğesinin belirtilen XmlSchemaObject ve XmlSchemaSetile uyumlu olduğunu doğrular ve isteğe bağlı olarak XML ağacını şema doğrulama sonrası bilgi kümesi (PSVI) ile doldurur. |
Validate(XDocument, XmlSchemaSet, ValidationEventHandler) |
Bu yöntem, içindeki XDocument bir XSD ile XmlSchemaSetuyumlu olduğunu doğrular. |
Validate(XDocument, XmlSchemaSet, ValidationEventHandler, Boolean) |
xml XDocument ağacını şema sonrası doğrulama bilgi kümesi (PSVI) ile isteğe bağlı olarak dolduran bir XmlSchemaSetiçindeki XSD'ye uygun olduğunu doğrular. |
Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler) |
Bu yöntem, bir XElement alt ağacın belirtilen XmlSchemaObject ve XmlSchemaSetile uyumlu olduğunu doğrular. |
Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean) |
Bir XElement alt ağacın belirtilen XmlSchemaObject ve ile uyumlu olduğunu doğrular ve XmlSchemaSetisteğe bağlı olarak XML ağacını şema sonrası doğrulama bilgi kümesi (PSVI) ile doldurur. |