ID do artigo: 307941 - Última revisão: domingo, 27 de outubro de 2002 - Revisão: 1.1

COMO: Utilizar o nome de ms:type - local - função de extensão do XPath para programa o DOM MSXML no Visual Basic para Windows

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

Este artigo passo a passo descreve como usar o ms:type nome - local - função de extensão do XPath para programar o MSXML 4.0 DOM Document Object Model () no Visual Basic.

Descrição do nome ms:type - local - função de extensão do XPath

A implementação do XPath no MSXML 4.0 apresenta um conjunto de funções de extensão XSD que pode especificar expressões que avaliar nós em um documento XML com base no tipo de dados. O nome - local - ms:type XPath extensão função pode retornar o nome não qualificado de tipo de dados de um nó conforme definido em um esquema XSD associado.

O nó nome nonqualified do tipo cujos dados a ser retornado é passado como o argumento de entrada de nome - local - ms:type função de extensão do XPath. No exemplo de código neste artigo, o nome - local - ms:type função XPath é usado para retornar o nome de tipo nonqualified dados de cada nó no arquivo Books.XML um de cada vez como a árvore DOM é partilhado com pela execução do método selectNodes DOM. Cada nó cujos dados não-qualificado digite nome é retornado como AuthorType é acrescentado à interface IXMLDOMNodeLis que o método selectNodes do objeto DOMDocument gera e retorna.

Criar o documento XML de exemplo

Use o bloco de notas para criar e salvar um documento XML chamado Books.XML que contém o seguinte XML:
<?xml version="1.0"?>
<x:catalog xmlns:x="urn:books" xsi:schemaLocation='urn:books Books.xsd' 
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>      
   <book>   
      <author>Adams</author>
      <State>NC</State>
      <title>XML Developer's Guide</title>                          
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications with XML.</description>      
   </book>
</x:catalog>
				
Books.XML faz referência a um documento de esquema XSD chamado Books.xsd que define sua estrutura.

Criar o documento XSD de exemplo

  1. Use o bloco de notas para criar um documento de esquema XSD chamado Books.xsd contém o seguinte código:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:books" xmlns:b="urn:books">
    
      <xs:element name="catalog" type="b:CatalogData"/> 
    
      <xs:complexType name="CatalogData">
        <xs:sequence>
          <xs:element name="book" type="b:bookdata" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
    
      <xs:simpleType name="AuthorType">
        <xs:restriction base="xs:string">
          <xs:maxLength value="5"/>
        </xs:restriction>
      </xs:simpleType>
      
    
      <xs:complexType name="bookdata">
        <xs:sequence>
          <xs:element name="author" type="b:AuthorType"/>
          <xs:element name="State" type="xs:string"/>
          <xs:element name="title" type="xs:string"/>
          <xs:element name="genre" type="xs:string"/>
          <xs:element name="price" type="xs:float"/>
          <xs:element name="publish_date" type="xs:date"/>
          <xs:element name="description" type="xs:string"/>      
        </xs:sequence>
    
        <xs:attribute name="id" type="xs:string"/>
    
      </xs:complexType>
    
    </xs:schema>
  2. Salve Books.xsd na mesma pasta em que você salvou Books.XML.

Criar e testar o projeto do Visual Basic

  1. No Visual Basic 6.0, crie um novo projeto Standard EXE. O Form1 é criado por padrão.
  2. Adicionar uma referência de projeto para Microsoft XML versão 4.0.
  3. Arraste um botão de comando para Form1.
  4. Cole o seguinte código no procedimento de evento Click do botão de comando e especifique o caminho para Books.XML na instrução xmldom.Load :
    Dim xmlschema As MSXML2.XMLSchemaCache40
    
    Dim xmldom As MSXML2.DOMDocument40
    Set xmldom = New MSXML2.DOMDocument40
    
    xmldom.async = False
    xmldom.setProperty "SelectionNamespaces", "xmlns:ms='urn:schemas-microsoft-com:xslt'"
    xmldom.Load "<Path to Books.xml>"
    
    Set nlist = xmldom.selectNodes("//*[ms:type-local-name(.)='AuthorType']")
    
    Dim node As MSXML2.IXMLDOMNode
    For Each node In nlist
      Debug.Print node.nodeName
    Next
    o método selectNodes do objeto DOMDocument Especifica uma expressão XPath que usa a função de extensão de nome - local - ms:type para identificar todos os nós do definido pelo usuário AuthorType XSD dados tipo complexo.

  5. Salve e execute o projeto.
  6. Clique o botão de comando para executar a consulta XPath e exibir o nome ou nomes de nós correspondentes. O elemento de autor no Books.XML é o único nó cujo tipo de dados é AuthorType . O nome deste nó (autor) é exibido na janela Verificação imediata do Visual Basic quando o código é executado.

Referências

Para obter uma lista completa de todas as funções de extensão XPath são implementados no MSXML 4.0, consulte o tópico "Microsoft XPath extensão funções" da seção de referência XPath da documentação do Software Development Kit (SDK) do MSXML 4.0.


A informação contida neste artigo aplica-se a:
  • Microsoft XML Core Services 4.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
Palavras-chave: 
kbmt kbhowto kbhowtomaster KB307941 KbMtpt
Tradução automáticaTradução automática
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: 307941  (http://support.microsoft.com/kb/307941/en-us/ )