XmlSchemaInference Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odvodí schéma XSD (XML Schema Definition Language) z dokumentu XML. Třídu XmlSchemaInference nelze zdědit.
public ref class XmlSchemaInference sealed
public sealed class XmlSchemaInference
type XmlSchemaInference = class
Public NotInheritable Class XmlSchemaInference
- Dědičnost
-
XmlSchemaInference
Příklady
Tento příklad vezme soubor XML jako vstup a vygeneruje schéma, které může ověřit příklad XML.
XmlReader reader = XmlReader.Create("contosoBooks.xml");
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchemaInference schema = new XmlSchemaInference();
schemaSet = schema.InferSchema(reader);
foreach (XmlSchema s in schemaSet.Schemas())
{
s.Write(Console.Out);
}
Dim reader As XmlReader = XmlReader.Create("contosoBooks.xml")
Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
Dim schema As XmlSchemaInference = New XmlSchemaInference()
schemaSet = schema.InferSchema(reader)
For Each s As XmlSchema In schemaSet.Schemas()
s.Write(Console.Out)
Next
Následuje vstupní soubor XML.
<bookstore xmlns="http://www.contoso.com/books">
<book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
Následuje schéma odvozené z dokumentu XML.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="bookstore">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" />
<xs:element name="author">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="first-name" type="xs:string" />
<xs:element minOccurs="0" name="last-name" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="price" type="xs:decimal" />
</xs:sequence>
<xs:attribute name="genre" type="xs:string" use="required" />
<xs:attribute name="publicationdate" type="xs:date" use="required" />
<xs:attribute name="ISBN" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Poznámky
Important
- Nepoužívejte schémata z neznámých nebo nedůvěryhodných zdrojů nebo umístění. Tím dojde k ohrožení zabezpečení vašeho kódu.
- Schémata XML (včetně vložených schémat) jsou ze své podstaty zranitelná vůči útokům na odepření služeb; nepřijímají je v nedůvěryhodných scénářích.
- Chybové zprávy a výjimky týkající se ověřování schématu mohou odhalit citlivé informace o modelu obsahu nebo cestách URI k souboru se schématem. Dávejte pozor, abyste tyto informace nezpřístupnil nedůvěryhodným volajícím.
Třída XmlSchemaInference v System.Xml.Schema oboru názvů umožňuje odvodit schéma XSD (XML Schema Definition Language) ze struktury dokumentu XML. Třída XmlSchemaInference vypíše schéma XML, které může ověřit dokument XML.
Třída XmlSchemaInference podporuje standardy W3C XML a XML Schémata. Dá se použít k odvození nového schématu nebo k upřesnění existujícího schématu.
Konstruktory
| Name | Description |
|---|---|
| XmlSchemaInference() |
Inicializuje novou instanci XmlSchemaInference třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Occurrence |
Získá nebo nastaví XmlSchemaInference.InferenceOption hodnotu, která ovlivňuje deklarace výskytu schématu odvozené z dokumentu XML. |
| TypeInference |
Získá nebo nastaví XmlSchemaInference.InferenceOption hodnotu, která ovlivňuje typy odvozené z dokumentu XML. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| InferSchema(XmlReader, XmlSchemaSet) |
Odvodí schéma XSD (XML Schema Definition Language) z dokumentu XML obsaženého v zadaném XmlReader objektu a upřesní odvozené schéma pomocí existujícího schématu v objektu XmlSchemaSet určeném se stejným cílovým oborem názvů. |
| InferSchema(XmlReader) |
Odvodí schéma XSD (XML Schema Definition Language) z dokumentu XML obsaženého v zadaném objektu XmlReader . |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |