XmlSchemaInclude Class
Represents the include element from XML Schema as specified by the World Wide Web Consortium (W3C). This class is used to include declarations and definitions from an external schema. The included declarations and definitions are then available for processing in the containing schema.
Assembly: System.Xml (in System.Xml.dll)
System.Xml.Schema::XmlSchemaObject
System.Xml.Schema::XmlSchemaExternal
System.Xml.Schema::XmlSchemaInclude
| Name | Description | |
|---|---|---|
![]() | XmlSchemaInclude() | Initializes a new instance of the XmlSchemaInclude class. |
| Name | Description | |
|---|---|---|
![]() | Annotation | Gets or sets the annotation property. |
![]() | Id | Gets or sets the string id.(Inherited from XmlSchemaExternal.) |
![]() | LineNumber | Gets or sets the line number in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | LinePosition | Gets or sets the line position in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | Namespaces | Gets or sets the XmlSerializerNamespaces to use with this schema object.(Inherited from XmlSchemaObject.) |
![]() | Parent | Gets or sets the parent of this XmlSchemaObject.(Inherited from XmlSchemaObject.) |
![]() | Schema | Gets or sets the XmlSchema for the referenced schema.(Inherited from XmlSchemaExternal.) |
![]() | SchemaLocation | Gets or sets the Uniform Resource Identifier (URI) location for the schema, which tells the schema processor where the schema physically resides.(Inherited from XmlSchemaExternal.) |
![]() | SourceUri | Gets or sets the source location for the file that loaded the schema.(Inherited from XmlSchemaObject.) |
![]() | UnhandledAttributes | Gets and sets the qualified attributes, which do not belong to the schema target namespace.(Inherited from XmlSchemaExternal.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The included schema document must meet one of the following conditions:
The included schema must have the same target namespace as the containing schema document.
OR
The included schema cannot have a specified targetNamespace; the targetNamespace attribute must be null.
XmlSchemaInclude adds all the schema components from included schemas that have the same target namespace (or no specified target namespace) to the containing schema.
The following example creates the include element.
#using <System.Xml.dll> using namespace System; using namespace System::Xml; using namespace System::Xml::Schema; ref class ImportIncludeSample { private: static void ValidationCallBack(Object^ sender, ValidationEventArgs^ args) { if (args->Severity == XmlSeverityType::Warning) Console::Write("WARNING: "); else if (args->Severity == XmlSeverityType::Error) Console::Write("ERROR: "); Console::WriteLine(args->Message); } public: static void Main() { XmlSchema^ schema = gcnew XmlSchema(); schema->ElementFormDefault = XmlSchemaForm::Qualified; schema->TargetNamespace = "http://www.w3.org/2001/05/XMLInfoset"; // <xs:import namespace="http://www.example.com/IPO" /> XmlSchemaImport^ import = gcnew XmlSchemaImport(); import->Namespace = "http://www.example.com/IPO"; schema->Includes->Add(import); // <xs:include schemaLocation="example.xsd" /> XmlSchemaInclude^ include = gcnew XmlSchemaInclude(); include->SchemaLocation = "example.xsd"; schema->Includes->Add(include); XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet(); schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallBack); schemaSet->Add(schema); schemaSet->Compile(); XmlSchema^ compiledSchema = nullptr; for each (XmlSchema^ schema1 in schemaSet->Schemas()) { compiledSchema = schema1; } XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager(gcnew NameTable()); nsmgr->AddNamespace("xs", "http://www.w3.org/2001/XMLSchema"); compiledSchema->Write(Console::Out, nsmgr); } }; int main() { ImportIncludeSample::Main(); return 0; }
The following XML is generated for this code example.
<?xml version="1.0" encoding="IBM437"?> <schema elementFormDefault="qualified" targetNamespace="http://www.w3.org/2001/05/XMLInfoset" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://www.example.com/IPO" /> <include schemaLocation="example.xsd" /> </schema>
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


