SAX2 C++ Common Notices

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Este tópico discute o seguinte:

  • Seqüências de caracteres
  • Conflitos de declaração
  • Entidades ignoradas
  • Recursos XML
  • Propriedades
  • Return valores

Seqüências de caracteres

Na XML SAX (XMLSAX) para implementação sistema operacional (OS) Windows CE 5.0, todas as seqüências de caracteres retornadas ao retornos de chamada manipulador consistem em duas partes: Um ponteiro para o WCHAR reserva e o comprimento da seqüência de caracteres. Isso inclui seqüências de caracteres passadas um diretamente, tais como nome de elemento a startElement método, ou indiretamente, como seqüências de caracteres fornecidas pelo ISAXAttributes e ISAXLocator Classes. Seqüências de caracteres retornadas dessas implementações pertencem as implementações, não a processo de chamada. Portanto, sua memória deve não ser lançada, liberada ou excluída. Seqüências, representadas como um ponteiro para o caractere reserva e Comprimento, podem não ser zero finalizado.

Quando um seqüência de caracteres consiste de dois um ponteiro para a reserva e um comprimento, o comprimento sempre conterá o tamanho correto do seqüência de caracteres; Ou ele é zero-finalizada ou não. Para entrada parâmetros, a representação de seqüências de caracteres a seguir tradicional zero-Terminated Unicode formato da seqüência de caracteres, de exemplo, Rdr.putBase(L"https://microsoft.com/"). Ele não é garantido que a de conteúdo do seqüência de caracteres será ainda manter o valor no próximo chamar para um manipulador.

Após qualquer bem-sucedido GetProperty chamar, o chamador deve a memória livre.

Observação

As seqüências propriedade XMLSAX são a exceção à regra geral COM que System-allocated objetos são alocados pela fonte de dados e liberados pelo consumidor.

Conflitos de declaração

É a implementação XMLSAX de SAX2 nonvalidating. Como resultado, um erro de validação não ocorrer se o mesmo elemento é declarado duas vezes, com diferentes definições, em um DTD interno. Ao elemento/declaração entidade está em conflito ocorrer, a primeira declaração terá prioridade.

Entidades ignoradas

Em uma entidade é declarado em um externo DTD, XMLSAX relatórios-los como entidades ignoradas e o valor da entidade (ignorada) non-Declared é padronizado para vazio. No entanto, XMLSAX não entidades relatório nos atributos. Eles silenciosamente são ignorados.

Recursos XML

O seguinte recursos XML são tratados e reconhecidos pelo SAXXMLReader:

  • "http://xml.org/SAX/Features/namespaces"
  • "http://xml.org/SAX/Features/Namespace-prefixes"
  • "http://xml.org/SAX/Features/External-General-Entities"
  • "http://xml.org/SAX/Features/External-Parameter-Entities"
  • "normalizar-linha-quebras"
  • "solicitação servidor - HTTP -"

Propriedades

O seguinte propriedades são tratadas e reconhecidas pelo SAXXMLReader:

  • "http://xml.org/SAX/Properties/lexical-handler"
  • "http://xml.org/SAX/Properties/declaration-handler"
  • " xmldecl-codificação "
  • " xmldecl-versão "
  • " xmldecl-autônomo "

Valores Return

Todos os manipuladores podem retornar S_OK para continuar ou qualquer outro código de erro non-S_OK. Para códigos de erro não-S_OK, análise é anulada e a valor de retorno é retornado pela Analisar, parseURL, ou continuar método.

A seguinte tabela mostra os códigos de erro geral a maioria dos métodos analisador podem retornar.

Código de erro Descrição

E_POINTER

NULL instead of o ponteiro para parâmetro.

E_OUTOFMEMORY

Memória insuficiente.

E_INVALIDARG

Parâmetro de entrada é inválido.

E_FAIL

Falha geral.

See Also

Other Resources

XML SAX