XmlSchemaElement Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa o element elemento do Esquema XML conforme especificado pelo World Wide Web Consortium (W3C). Esta classe é a classe base para todos os tipos de partículas e é usada para descrever um elemento num documento XML.
public ref class XmlSchemaElement : System::Xml::Schema::XmlSchemaParticle
public class XmlSchemaElement : System.Xml.Schema.XmlSchemaParticle
type XmlSchemaElement = class
inherit XmlSchemaParticle
Public Class XmlSchemaElement
Inherits XmlSchemaParticle
- Herança
Exemplos
O exemplo seguinte cria o element elemento.
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples
{
public static void Main()
{
XmlSchema schema = new XmlSchema();
// <xs:element name="cat" type="string"/>
XmlSchemaElement elementCat = new XmlSchemaElement();
schema.Items.Add(elementCat);
elementCat.Name = "cat";
elementCat.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="dog" type="string"/>
XmlSchemaElement elementDog = new XmlSchemaElement();
schema.Items.Add(elementDog);
elementDog.Name = "dog";
elementDog.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="redDog" substitutionGroup="dog" />
XmlSchemaElement elementRedDog = new XmlSchemaElement();
schema.Items.Add(elementRedDog);
elementRedDog.Name = "redDog";
elementRedDog.SubstitutionGroup = new XmlQualifiedName("dog");
// <xs:element name="brownDog" substitutionGroup ="dog" />
XmlSchemaElement elementBrownDog = new XmlSchemaElement();
schema.Items.Add(elementBrownDog);
elementBrownDog.Name = "brownDog";
elementBrownDog.SubstitutionGroup = new XmlQualifiedName("dog");
// <xs:element name="pets">
XmlSchemaElement elementPets = new XmlSchemaElement();
schema.Items.Add(elementPets);
elementPets.Name = "pets";
// <xs:complexType>
XmlSchemaComplexType complexType = new XmlSchemaComplexType();
elementPets.SchemaType = complexType;
// <xs:choice minOccurs="0" maxOccurs="unbounded">
XmlSchemaChoice choice = new XmlSchemaChoice();
complexType.Particle = choice;
choice.MinOccurs = 0;
choice.MaxOccursString = "unbounded";
// <xs:element ref="cat"/>
XmlSchemaElement catRef = new XmlSchemaElement();
choice.Items.Add(catRef);
catRef.RefName = new XmlQualifiedName("cat");
// <xs:element ref="dog"/>
XmlSchemaElement dogRef = new XmlSchemaElement();
choice.Items.Add(dogRef);
dogRef.RefName = new XmlQualifiedName("dog");
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="cat" type="string"/>
Dim elementCat As New XmlSchemaElement()
schema.Items.Add(elementCat)
elementCat.Name = "cat"
elementCat.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="dog" type="string"/>
Dim elementDog As New XmlSchemaElement()
schema.Items.Add(elementDog)
elementDog.Name = "dog"
elementDog.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="redDog" substitutionGroup="dog" />
Dim elementRedDog As New XmlSchemaElement()
schema.Items.Add(elementRedDog)
elementRedDog.Name = "redDog"
elementRedDog.SubstitutionGroup = New XmlQualifiedName("dog")
' <xs:element name="brownDog" substitutionGroup ="dog" />
Dim elementBrownDog As New XmlSchemaElement()
schema.Items.Add(elementBrownDog)
elementBrownDog.Name = "brownDog"
elementBrownDog.SubstitutionGroup = New XmlQualifiedName("dog")
' <xs:element name="pets">
Dim elementPets As New XmlSchemaElement()
schema.Items.Add(elementPets)
elementPets.Name = "pets"
' <xs:complexType>
Dim complexType As New XmlSchemaComplexType()
elementPets.SchemaType = complexType
' <xs:choice minOccurs="0" maxOccurs="unbounded">
Dim choice As New XmlSchemaChoice()
complexType.Particle = choice
choice.MinOccurs = 0
choice.MaxOccursString = "unbounded"
' <xs:element ref="cat"/>
Dim catRef As New XmlSchemaElement()
choice.Items.Add(catRef)
catRef.RefName = New XmlQualifiedName("cat")
' <xs:element ref="dog"/>
Dim dogRef As New XmlSchemaElement()
choice.Items.Add(dogRef)
dogRef.RefName = New XmlQualifiedName("dog")
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
O seguinte ficheiro XML é usado para o exemplo de código anterior.
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<xs:element name="redDog" substitutionGroup="dog" />
<xs:element name="brownDog" substitutionGroup ="dog" />
<xs:element name="pets">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="cat"/>
<xs:element ref="dog"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Observações
Importante
- Não use esquemas de fontes ou locais desconhecidos ou não confiáveis. Isso comprometerá a segurança do seu código.
- Os esquemas XML (incluindo esquemas embutidos) são inerentemente vulneráveis a ataques de negação de serviço; Não os aceite em cenários não confiáveis.
- Mensagens de erro e exceções de validação de esquema podem expor informações confidenciais sobre o modelo de conteúdo ou caminhos de URI para o arquivo de esquema. Tenha cuidado para não expor essas informações a chamadores não confiáveis.
Construtores
| Name | Description |
|---|---|
| XmlSchemaElement() |
Inicializa uma nova instância da XmlSchemaElement classe. |
Propriedades
| Name | Description |
|---|---|
| Annotation |
Obtém ou definem a |
| Block |
Obtém ou define uma |
| BlockResolved |
Obtém o valor pós-compilação da |
| Constraints |
Obtém a coleção de restrições sobre o elemento. |
| DefaultValue |
Obtém ou define o valor padrão do elemento se o seu conteúdo for um tipo simples ou se o conteúdo do elemento for |
| ElementSchemaType |
Obtém um XmlSchemaType objeto que representa o tipo do elemento com base nos SchemaType valores ou SchemaTypeName do elemento. |
| ElementType |
Obsoleto.
Obsoleto.
Obtém um objeto de execução em linguagem comum (CLR) baseado no XmlSchemaElement ou XmlSchemaElement do elemento, que detém o valor pós-compilação da |
| Final |
Obtém ou define a |
| FinalResolved |
Obtém o valor pós-compilação da |
| FixedValue |
Obtém ou define o valor fixo. |
| Form |
Obtém ou define a forma do elemento. |
| Id |
Obtém ou define o id da cadeia. (Herdado de XmlSchemaAnnotated) |
| IsAbstract |
Obtém ou define informação para indicar se o elemento pode ser usado num documento de instância. |
| IsNillable |
Obtém ou define informação que indica se |
| LineNumber |
Obtém ou define o número da linha no ficheiro a que o |
| LinePosition |
Obtém ou define a posição da linha no ficheiro a que o |
| MaxOccurs |
Obtém ou define o número máximo de vezes que a partícula pode ocorrer. (Herdado de XmlSchemaParticle) |
| MaxOccursString |
Recebe ou define o número como valor de cadeia. Número máximo de vezes que a partícula pode ocorrer. (Herdado de XmlSchemaParticle) |
| MinOccurs |
Obtém ou define o número mínimo de vezes que a partícula pode ocorrer. (Herdado de XmlSchemaParticle) |
| MinOccursString |
Recebe ou define o número como valor de cadeia. O número mínimo de vezes que a partícula pode ocorrer. (Herdado de XmlSchemaParticle) |
| Name |
Recebe ou define o nome do elemento. |
| Namespaces |
Obtém ou define o XmlSerializerNamespaces para usar com este objeto de esquema. (Herdado de XmlSchemaObject) |
| Parent |
Obtém ou define o pai deste XmlSchemaObject. (Herdado de XmlSchemaObject) |
| QualifiedName |
Obtém o nome qualificado real para o elemento em questão. |
| RefName |
Recebe ou define o nome de referência de um elemento declarado neste esquema (ou outro esquema indicado pelo namespace especificado). |
| SchemaType |
Obtém ou define o tipo do elemento. Isto pode ser um tipo complexo ou simples. |
| SchemaTypeName |
Recebe ou define o nome de um tipo de dado incorporado definido neste esquema ou noutro esquema indicado pelo namespace especificado. |
| SourceUri |
Obtém ou define a localização de origem do ficheiro que carregou o esquema. (Herdado de XmlSchemaObject) |
| SubstitutionGroup |
Recebe ou define o nome de um elemento que está a ser substituído por este elemento. |
| UnhandledAttributes |
Obtém ou define os atributos qualificados que não pertencem ao namespace de destino do esquema atual. (Herdado de XmlSchemaAnnotated) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |