XmlSchemaComplexType Класс

Определение

complexType Представляет элемент из схемы XML, указанной консорциумом W3C. Этот класс определяет сложный тип, определяющий набор атрибутов и содержимого элемента.

public ref class XmlSchemaComplexType : System::Xml::Schema::XmlSchemaType
public class XmlSchemaComplexType : System.Xml.Schema.XmlSchemaType
type XmlSchemaComplexType = class
    inherit XmlSchemaType
Public Class XmlSchemaComplexType
Inherits XmlSchemaType
Наследование

Примеры

В следующем примере создается complexType элемент.

using System;
using System.Xml;
using System.Xml.Schema;

class XMLSchemaExamples
{
    public static void Main()
    {

        XmlSchema schema = new XmlSchema();

        // <xs:element name="stringElementWithAnyAttribute">
        XmlSchemaElement element = new XmlSchemaElement();
        schema.Items.Add(element);
        element.Name = "stringElementWithAnyAttribute";

        // <xs:complexType>
        XmlSchemaComplexType complexType = new XmlSchemaComplexType();
        element.SchemaType = complexType;

        // <xs:simpleContent>
        XmlSchemaSimpleContent simpleContent = new XmlSchemaSimpleContent();
        complexType.ContentModel = simpleContent;

        // <extension base= "xs:string">
        XmlSchemaSimpleContentExtension extension = new XmlSchemaSimpleContentExtension();
        simpleContent.Content = extension;
        extension.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:anyAttribute namespace="##targetNamespace"/>
        XmlSchemaAnyAttribute anyAttribute = new XmlSchemaAnyAttribute();
        extension.AnyAttribute = anyAttribute;
        anyAttribute.Namespace = "##targetNamespace";

        XmlSchemaSet schemaSet = new XmlSchemaSet();
        schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne);
        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);
    }

    public static void ValidationCallbackOne(object sender, ValidationEventArgs args)
    {
        Console.WriteLine(args.Message);
    }
}
Imports System.Xml
Imports System.Xml.Schema

Class XMLSchemaExamples
    Public Shared Sub Main()

        Dim schema As New XmlSchema()

        ' <xs:element name="stringElementWithAnyAttribute">
        Dim element As New XmlSchemaElement()
        schema.Items.Add(element)
        element.Name = "stringElementWithAnyAttribute"

        ' <xs:complexType>
        Dim complexType As New XmlSchemaComplexType()
        element.SchemaType = complexType

        ' <xs:simpleContent>
        Dim simpleContent As New XmlSchemaSimpleContent()
        complexType.ContentModel = simpleContent

        ' <extension base="xs:string">
        Dim extension As New XmlSchemaSimpleContentExtension()
        simpleContent.Content = extension
        extension.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:anyAttribute namespace="##targetNamespace"/>
        Dim anyAttribute As New XmlSchemaAnyAttribute()
        extension.AnyAttribute = anyAttribute
        anyAttribute.Namespace = "##targetNamespace"

        Dim schemaSet As New XmlSchemaSet()
        AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne

        schemaSet.Add(schema)
        schemaSet.Compile()

        Dim compiledSchema As XmlSchema = Nothing

        For Each schema1 As XmlSchema In schemaSet.Schemas()
            compiledSchema = schema1
        Next

        Dim nsmgr As New XmlNamespaceManager(New NameTable())
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
        compiledSchema.Write(Console.Out, nsmgr)

    End Sub

    Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
        Console.WriteLine(args.Message)
    End Sub

End Class

Следующий XML-файл используется для предыдущего примера кода.

<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="stringElementWithAnyAttribute">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:anyAttribute namespace="##targetNamespace"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>
</xs:schema>

Комментарии

Элемент можно объявить с атрибутом типа, который ссылается на complexType элемент, определяющий структуру, содержимое и атрибуты этого элемента.

Конструкторы

Имя Описание
XmlSchemaComplexType()

Инициализирует новый экземпляр класса XmlSchemaComplexType.

Свойства

Имя Описание
Annotation

Возвращает или задает annotation свойство.

(Унаследовано от XmlSchemaAnnotated)
AnyAttribute

Возвращает или задает значение для XmlSchemaAnyAttribute компонента сложного типа.

Attributes

Возвращает коллекцию атрибутов для сложного типа.

AttributeUses

Возвращает коллекцию всех соблюденных атрибутов этого сложного типа и его базовых типов.

AttributeWildcard

Возвращает значение после компиляции для anyAttribute этого сложного типа и его базовых типов.

BaseSchemaType
Устаревшие..
Устаревшие..
Устаревшие..

Возвращает тип объекта после компиляции или встроенный тип данных языка определения схемы XML (XSD), элемент simpleType или сложный элементType. Это свойство набора сведений о наборе сведений после компиляции схемы.

(Унаследовано от XmlSchemaType)
BaseXmlSchemaType

Возвращает значение после компиляции базового типа этой схемы.

(Унаследовано от XmlSchemaType)
Block

Возвращает или задает block атрибут.

BlockResolved

Возвращает значение после компиляции типа в набор сведений после проверки схемы (infoset). Это значение указывает, как тип применяется при xsi:type использовании в документе экземпляра.

ContentModel

Возвращает или задает после компиляции XmlSchemaContentModel этого сложного типа.

ContentType

Возвращает модель содержимого сложного типа, который содержит значение после компиляции.

ContentTypeParticle

Возвращает частицу, содержащую значение после компиляции ContentType частицы.

Datatype

Возвращает значение после компиляции для типа данных сложного типа.

(Унаследовано от XmlSchemaType)
DerivedBy

Получает сведения о том, как этот элемент был производным от базового типа.

(Унаследовано от XmlSchemaType)
Final

Возвращает или задает окончательный атрибут производного типа, указывающий, разрешены ли дальнейшие производные.

(Унаследовано от XmlSchemaType)
FinalResolved

Возвращает значение свойства после компиляции Final .

(Унаследовано от XmlSchemaType)
Id

Возвращает или задает идентификатор строки.

(Унаследовано от XmlSchemaAnnotated)
IsAbstract

Возвращает или задает сведения, определяющие, может ли complexType элемент использоваться в документе экземпляра.

IsMixed

Возвращает или задает сведения, определяющие, имеет ли сложный тип смешанной модели содержимого (разметку в содержимом).

LineNumber

Возвращает или задает номер строки в файле, к которому schema ссылается элемент.

(Унаследовано от XmlSchemaObject)
LinePosition

Получает или задает позицию строки в файле, к которому schema ссылается элемент.

(Унаследовано от XmlSchemaObject)
Name

Возвращает или задает имя типа.

(Унаследовано от XmlSchemaType)
Namespaces

Возвращает или задает XmlSerializerNamespaces для использования с этим объектом схемы.

(Унаследовано от XmlSchemaObject)
Parent

Возвращает или задает родительский элемент этого XmlSchemaObjectэлемента.

(Унаследовано от XmlSchemaObject)
Particle

Возвращает или задает тип компостатора в качестве одного из XmlSchemaGroupRefклассов , XmlSchemaChoiceXmlSchemaAllили XmlSchemaSequence классов.

QualifiedName

Возвращает полное имя типа, созданного из Name атрибута этого типа. Это свойство после компиляции схемы.

(Унаследовано от XmlSchemaType)
SourceUri

Возвращает или задает исходное расположение файла, загруженного схемой.

(Унаследовано от XmlSchemaObject)
TypeCode

XmlTypeCode Возвращает тип.

(Унаследовано от XmlSchemaType)
UnhandledAttributes

Возвращает или задает квалифицированные атрибуты, которые не принадлежат целевому пространству имен текущей схемы.

(Унаследовано от XmlSchemaAnnotated)

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к