COMO: Criar um elemento chave para um esquema XML

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 317688
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Use este guia passo a passo para adicionar um elemento chave por programação a um existente (XML) esquema.

Com a representação de dados relacional, você pode criar uma chave primária ou uma chave exclusiva para identificar uma única instância de dados ou uma linha. Um elemento chave é necessário para atingir uma representação semelhante, exclusiva de dados em dados hierárquicos. Representação de dados XML é um exemplo de representação de dados hierárquicos. Um esquema XML, um elemento chave torna a representação de dados exclusivo. A classe XmlSchemaKey identifica uma restrição de chave e representa o elemento de chave do World Wide Web Consortium (W3C).

O objeto XmlSchema contém a definição de um esquema. XSD todos os elementos de linguagem de definição (XSD) são filhos do elemento do esquema . XmlSchema representa o elemento de esquema World Wide Web Consortium.

back to the top

Criar um esquema XML

No bloco de notas ou outro editor de texto, digite ou cole o código a seguir e, em seguida, salve o arquivo como Key.xsd.
<xs:schema xmlns:xs="http://www.w3.org/2001/XmlSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">  <xs:element name="Parent">    <xs:complexType>      <xs:sequence>              <xs:element name="Children">          <xs:complexType>            <xs:sequence>              <xs:element name="Child" minOccurs="0" maxOccurs="unbounded">                <xs:complexType>                    <xs:attribute name="name"  type="xs:string" use="required"/>                </xs:complexType>              </xs:element>            </xs:sequence>          </xs:complexType>        </xs:element>      </xs:sequence>    </xs:complexType>      </xs:element></xs:schema>				
back to the top

Criar um aplicativo do Visual Basic .NET

  1. Siga estas etapas para criar um novo aplicativo do Windows no Visual Basic. NET:
    1. Inicie o Microsoft Visual Studio NET..
    2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
    3. Na caixa de diálogo New Project , clique em Projetos do Visual Basic em Project Types , clique em Windows Application em modelos e, em seguida, clique em OK .
  2. Arraste um controle de botão da caixa de ferramentas para Form1.
  3. Importar os namespaces a seguir:
    Imports System.XmlImports System.Xml.SchemaImports System.IO					
  4. Adicione o código a seguir como um procedimento sub que aciona eventos de validação para o objeto XmlSchema :
    Public Sub ValidationEventHandler(ByVal sender As Object, ByVal args As System.Xml.Schema.ValidationEventArgs)        Console.WriteLine(args.Message)    End Sub					
  5. Adicione o seguinte código no evento Click do Button1 :
            Try        Dim fstream As New FileStream("C:\key.xsd", FileMode.Open)        Dim myschema As New XmlSchema()        myschema = XmlSchema.Read(fstream, Nothing)        myschema.Compile(AddressOf ValidationEventHandler)        Dim schemaobjecttable As XmlSchemaObjectTable        Dim ParentElement As XmlSchemaElement        Dim ParentElementQName As New XmlQualifiedName("Parent", "")        schemaobjecttable = myschema.Elements        If schemaobjecttable.Contains(ParentElementQName) Then            ParentElement = CType(schemaobjecttable.Item(ParentElementQName), XmlSchemaElement)            Dim element_key As New XmlSchemaKey()            element_key.Name = "IDKey"            element_key.Selector = New XmlSchemaXPath()            element_key.Selector.XPath = "Children/Child"            Dim field As New XmlSchemaXPath()            field.XPath = "@name"            element_key.Fields.Add(field)            ParentElement.Constraints.Add(element_key)        End If        myschema.Compile(AddressOf ValidationEventHandler)         'Write to an external file.        Dim strmWriter As New StreamWriter("c:\NewSchema.xsd")        myschema.Write(strmWriter)        strmWriter.Close()        'Write to the Output window.        Dim strWriter As New StringWriter()        myschema.Write(strWriter)        Console.WriteLine(strWriter.ToString)        Catch GenExp As Exception            Console.WriteLine(GenExp.Message)        Catch XMLExp As XmlException            Console.WriteLine(XMLExp.Message)        Catch XmlSchemaExp As XmlSchemaException            Console.WriteLine(XmlSchemaExp.Message)        End Try					
  6. Na janela Output, observe que o XSD tem um novo elemento:
    <xs:key name="IDKey">      <xs:selector xpath="Children/Child" />      <xs:field xpath="@name" />    </xs:key>						
    Além disso, o arquivo NewSchema.xsd é criado na pasta raiz (C:\).
back to the top
Referências
Para obter informações adicionais sobre a classe XmlSchemaKeyref , consulte o seguinte a biblioteca de classe do .NET Framework documentação: back to the top
keyelement

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 317688 - Última Revisão: 12/07/2015 08:56:36 - Revisão: 2.3

Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbmt kbhowtomaster KB317688 KbMtpt
Comentários