XmlSchemaInference.Occurrence Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger det XmlSchemaInference.InferenceOption värde som påverkar schemaförekomstdeklarationer som härleds från XML-dokumentet.
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
Egenskapsvärde
Ett XmlSchemaInference.InferenceOption objekt.
Exempel
Det här exemplet illustrerar hur förekomsten påverkas av egenskapen Occurrence . Exempelkoden härleder förekomst från en XML-fil på två olika sätt: avslappnad och begränsad. Följande är xml-exempelfilen.
<?xml version="1.0"?>
<root>
<subElement1 attribute1="text">ABC</subElement1>
</root>
I följande exempelkod instrueras XmlSchemaInference klassen att härleda förekomst av element och attribut på ett avslappnat sätt.
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
Eftersom egenskapen Occurrence har angetts till Relaxedgenererades följande schema.
<?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>
Om egenskapen inte har angetts till OccurrenceRelaxedi exempelkoden ovan XmlSchemaInference skulle klassen som standard ha genererat Restricted följande schema.
<?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>
Kommentarer
Om egenskapen Occurrence är inställd på Restricted, första gången element påträffas i XML-dokumentet, härleds schemadeklarationen som minOccurs="1". När attribut påträffas härleds schemadeklarationen som use="required".
Om egenskapen Occurrence är inställd Relaxedpå , härleds elementschemadeklarationer som minOccurs="0"och attributschemadeklarationer härleds som use="optional".
Standardvärdet för Occurrence egenskapen är Restricted.