XmlSchemaInclude Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет элемент include
из схемы XML, определенной консорциумом World Wide Web Consortium (W3C). Этот класс используется для включения объявлений и определений из внешней схемы. Включенные объявления и определения затем становятся доступными для обработки в содержащей их схеме.
public ref class XmlSchemaInclude : System::Xml::Schema::XmlSchemaExternal
public class XmlSchemaInclude : System.Xml.Schema.XmlSchemaExternal
type XmlSchemaInclude = class
inherit XmlSchemaExternal
Public Class XmlSchemaInclude
Inherits XmlSchemaExternal
- Наследование
Примеры
В следующем примере создается include
элемент.
#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;
}
using System;
using System.Collections;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.Schema;
public 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 = new XmlSchema();
schema.ElementFormDefault = XmlSchemaForm.Qualified;
schema.TargetNamespace = "http://www.w3.org/2001/05/XMLInfoset";
// <xs:import namespace="http://www.example.com/IPO" />
XmlSchemaImport import = new XmlSchemaImport();
import.Namespace = "http://www.example.com/IPO";
schema.Includes.Add(import);
// <xs:include schemaLocation="example.xsd" />
XmlSchemaInclude include = new XmlSchemaInclude();
include.SchemaLocation = "example.xsd";
schema.Includes.Add(include);
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
schemaSet.Add(schema);
schemaSet.Compile();
XmlSchema compiledSchema = null;
foreach (XmlSchema schema1 in schemaSet.Schemas())
{
compiledSchema = schema1;
}
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
compiledSchema.Write(Console.Out, nsmgr);
}/* Main() */
} //ImportIncludeSample
Imports System.Collections
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.Schema
Public Class ImportIncludeSample
Private Shared Sub ValidationCallBack(ByVal sender As Object, ByVal args As ValidationEventArgs)
If args.Severity = XmlSeverityType.Warning Then
Console.Write("WARNING: ")
Else
If args.Severity = XmlSeverityType.Error Then
Console.Write("ERROR: ")
End If
End If
Console.WriteLine(args.Message)
End Sub
Public Shared Sub Main()
Dim schema As New XmlSchema()
schema.ElementFormDefault = XmlSchemaForm.Qualified
schema.TargetNamespace = "http://www.w3.org/2001/05/XMLInfoset"
' <xs:import namespace="http://www.example.com/IPO" />
Dim import As New XmlSchemaImport()
import.Namespace = "http://www.example.com/IPO"
schema.Includes.Add(import)
' <xs:include schemaLocation="example.xsd" />
Dim include As New XmlSchemaInclude()
include.SchemaLocation = "example.xsd"
schema.Includes.Add(include)
Dim schemaSet As New XmlSchemaSet()
AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallBack
schemaSet.Add(schema)
schemaSet.Compile()
Dim compiledSchema As XmlSchema = Nothing
For Each schema1 As XmlSchema In schemaSet.Schemas()
compiledSchema = schema1
Next
Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(New NameTable())
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
compiledSchema.Write(Console.Out, nsmgr)
End Sub
End Class
'ImportIncludeSample
Следующий XML-код создается для этого примера кода.
<?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>
Комментарии
Включенный документ схемы должен соответствовать одному из следующих условий:
Включенная схема должна иметь то же целевое пространство имен, что и содержащий документ схемы.
ИЛИ
Включенная схема не может иметь указанное targetNamespace
значение; targetNamespace
атрибут должен иметь значение NULL.
XmlSchemaInclude
добавляет все компоненты схемы из включенных схем с одинаковым целевым пространством имен (или без указанного целевого пространства имен) в содержащую схему.
Конструкторы
XmlSchemaInclude() |
Инициализирует новый экземпляр класса XmlSchemaInclude. |
Свойства
Annotation |
Возвращает или задает свойство |
Id |
Получает или задает идентификатор строки. (Унаследовано от XmlSchemaExternal) |
LineNumber |
Получает или задает номер строки в файле, на которую ссылается элемент |
LinePosition |
Получает или задает позицию в строке файла, на которую ссылается элемент |
Namespaces |
Получает или задает XmlSerializerNamespaces для использования с данным объектом схемы. (Унаследовано от XmlSchemaObject) |
Parent |
Получает или задает родительский элемент данного XmlSchemaObject. (Унаследовано от XmlSchemaObject) |
Schema |
Получает или задает |
SchemaLocation |
Получает или задает универсальный код ресурса (URI) для схемы, сообщающий процессору схемы физическое расположение схемы. (Унаследовано от XmlSchemaExternal) |
SourceUri |
Получает или задает исходного расположение для файла, загрузившего данную схему. (Унаследовано от XmlSchemaObject) |
UnhandledAttributes |
Получает или задает полные атрибуты, не принадлежащие целевому пространству имен схемы. (Унаследовано от XmlSchemaExternal) |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |