XmlSchemaInference Třída

Definice

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)

Platí pro