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 |
Возвращает или задает |
| AnyAttribute |
Возвращает или задает значение для XmlSchemaAnyAttribute компонента сложного типа. |
| Attributes |
Возвращает коллекцию атрибутов для сложного типа. |
| AttributeUses |
Возвращает коллекцию всех соблюденных атрибутов этого сложного типа и его базовых типов. |
| AttributeWildcard |
Возвращает значение после компиляции для |
| BaseSchemaType |
Устаревшие..
Устаревшие..
Устаревшие..
Возвращает тип объекта после компиляции или встроенный тип данных языка определения схемы XML (XSD), элемент simpleType или сложный элементType. Это свойство набора сведений о наборе сведений после компиляции схемы. (Унаследовано от XmlSchemaType) |
| BaseXmlSchemaType |
Возвращает значение после компиляции базового типа этой схемы. (Унаследовано от XmlSchemaType) |
| Block |
Возвращает или задает |
| BlockResolved |
Возвращает значение после компиляции типа в набор сведений после проверки схемы (infoset). Это значение указывает, как тип применяется при |
| ContentModel |
Возвращает или задает после компиляции XmlSchemaContentModel этого сложного типа. |
| ContentType |
Возвращает модель содержимого сложного типа, который содержит значение после компиляции. |
| ContentTypeParticle |
Возвращает частицу, содержащую значение после компиляции ContentType частицы. |
| Datatype |
Возвращает значение после компиляции для типа данных сложного типа. (Унаследовано от XmlSchemaType) |
| DerivedBy |
Получает сведения о том, как этот элемент был производным от базового типа. (Унаследовано от XmlSchemaType) |
| Final |
Возвращает или задает окончательный атрибут производного типа, указывающий, разрешены ли дальнейшие производные. (Унаследовано от XmlSchemaType) |
| FinalResolved |
Возвращает значение свойства после компиляции Final . (Унаследовано от XmlSchemaType) |
| Id |
Возвращает или задает идентификатор строки. (Унаследовано от XmlSchemaAnnotated) |
| IsAbstract |
Возвращает или задает сведения, определяющие, может ли |
| IsMixed |
Возвращает или задает сведения, определяющие, имеет ли сложный тип смешанной модели содержимого (разметку в содержимом). |
| LineNumber |
Возвращает или задает номер строки в файле, к которому |
| LinePosition |
Получает или задает позицию строки в файле, к которому |
| Name |
Возвращает или задает имя типа. (Унаследовано от XmlSchemaType) |
| Namespaces |
Возвращает или задает XmlSerializerNamespaces для использования с этим объектом схемы. (Унаследовано от XmlSchemaObject) |
| Parent |
Возвращает или задает родительский элемент этого XmlSchemaObjectэлемента. (Унаследовано от XmlSchemaObject) |
| Particle |
Возвращает или задает тип компостатора в качестве одного из XmlSchemaGroupRefклассов , XmlSchemaChoiceXmlSchemaAllили XmlSchemaSequence классов. |
| QualifiedName |
Возвращает полное имя типа, созданного из |
| SourceUri |
Возвращает или задает исходное расположение файла, загруженного схемой. (Унаследовано от XmlSchemaObject) |
| TypeCode |
XmlTypeCode Возвращает тип. (Унаследовано от XmlSchemaType) |
| UnhandledAttributes |
Возвращает или задает квалифицированные атрибуты, которые не принадлежат целевому пространству имен текущей схемы. (Унаследовано от XmlSchemaAnnotated) |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |