XmlSchemaInference.Occurrence Vlastnost
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í.
Získá nebo nastaví XmlSchemaInference.InferenceOption hodnotu, která ovlivňuje deklarace výskytu schématu odvozené z dokumentu XML.
public:
property System::Xml::Schema::XmlSchemaInference::InferenceOption Occurrence { System::Xml::Schema::XmlSchemaInference::InferenceOption get(); void set(System::Xml::Schema::XmlSchemaInference::InferenceOption value); };
public System.Xml.Schema.XmlSchemaInference.InferenceOption Occurrence { get; set; }
member this.Occurrence : System.Xml.Schema.XmlSchemaInference.InferenceOption with get, set
Public Property Occurrence As XmlSchemaInference.InferenceOption
Hodnota vlastnosti
Objekt XmlSchemaInference.InferenceOption.
Příklady
Tento příklad ukazuje, jak je výskyt ovlivněn vlastností Occurrence . Ukázkový kód odvodí výskyt ze souboru XML dvěma různými způsoby: uvolněným a omezeným. Následuje příklad souboru XML.
<?xml version="1.0"?>
<root>
<subElement1 attribute1="text">ABC</subElement1>
</root>
Následující příklad kódu dává třídě pokyn, XmlSchemaInference aby odvodil výskyt prvků a atributů uvolněným způsobem.
XmlReader reader = XmlReader.Create("input.xml");
XmlSchemaSet schemaSet = new XmlSchemaSet();
XmlSchemaInference schema = new XmlSchemaInference();
schema.Occurrence = XmlSchemaInference.InferenceOption.Relaxed;
schemaSet = schema.InferSchema(reader);
foreach (XmlSchema s in schemaSet.Schemas())
{
s.Write(Console.Out);
}
Dim reader As XmlReader = XmlReader.Create("input.xml")
Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
Dim schema As XmlSchemaInference = New XmlSchemaInference()
schema.Occurrence = XmlSchemaInference.InferenceOption.Relaxed
schemaSet = schema.InferSchema(reader)
For Each s As XmlSchema In schemaSet.Schemas()
s.Write(Console.Out)
Next
Vzhledem k tomu, že Occurrence vlastnost byla nastavena na Relaxed, následující schéma bylo generováno.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="subElement1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="attribute1" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
V příkladu kódu výše, pokud Occurrence vlastnost nebyla nastavena na Relaxed, XmlSchemaInference třída by ve výchozím nastavení a vygenerovala Restricted následující schéma.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="subElement1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="attribute1" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Poznámky
Pokud je vlastnost nastavena Occurrence na Restricted, první čas, elementy jsou zjištěny v dokumentu XML, deklarace schématu je odvozena jako minOccurs="1". Pokud jsou zjištěny atributy, deklarace schématu je odvozena jako use="required".
Pokud je vlastnost nastavena Occurrence na Relaxed, deklarace schématu elementu jsou odvozeny jako minOccurs="0"a deklarace schématu atributů jsou odvozeny jako use="optional".
Výchozí hodnota Occurrence vlastnosti je Restricted.