Este tema agrupa os comandos XML SAX de 4D.
Para informação geral sobre XML (apresentação, conjunto de caracteres, glossário) assim como sobre as diferenças entre os modos DOM e SAX, consulte a seção Visão Geral dos comandos XML DOM.
Nota sobre comandos thread-seguros: referências XML criadas por um processo preemptivo só podem ser usadas naquele processo específico. Por outro lado, referências XML ciradas por um processo cooperativo podem ser usadas por qualquer outro processo cooperativo (mesmo comportamento que em versões anteriores) mas não podem ser usadas em qualquer processo preemptivo.
Os comandos SAX trabalham com as referencias de documentos padrão de 4D (DocRef, referencia de tipo Hora). Portanto é possível utilizar estes comandos de forma conjunta com os comandos 4D utilizados para administrar documentos, tais como SEND PACKET ou Append document.
A criação e abertura por programação de documentos XML são realizadas utilizando os comandos Create document e Open document. Posteriormente, o uso de um comando de um comando XML com estes documentos provocará a implementação automática dos mecanismos XML tais como a codificação. Por exemplo, o cabeçalho <?xml version="1.0" encoding="… encodage …" standalone = "não "?> se escreverá automaticamente no documento.
Nota: os documentos que vão ser lidos por comandos SAX devem ser abertos em modo apenas leitura pelo comando Open document. Isto evita conflitos entre 4D e a biblioteca Xerces ao abrir simultaneamente documentos “padrão” e documentos XML. Se executar um comando de análise SAX com um documento aberto em modo leitura escrita, se mostra uma mensagem de alerta e a análise é impossível.
O fechamento de um documento XML SAX deve ser realizado utilizando o comando CLOSE DOCUMENT. Se houver elementos XML abertos, serão fechados automaticamente.
Quando escrever documentos SAX, 4D usa as configurações padrão abaixo para caracteres de final de linha e BOM (byte order mask) :
- Caracteres CRLF em Windows e LF em macOS para caracteres de final de linha
- arquivos são escritos sem BOM.
Nota de compatibildade: Em bancos de dados/projetos criados com versões 4D anteriores a v19.x, por padrão 4D usa CRLF como caracteres de final de linha em macOS para SAX e um BOM. Pode controlar o final de linha XML e gerenciamento de BOM usando o comando XML SET OPTIONS e as configurações de compatibilidade (see Página Compatibilidade).
Importante: Já que arquivos SAX são escritos diretamente em cada declaração, se precisar estabelecer o BOM ou as opções final de linha, precisa chamar o comando XML SET OPTIONS antes do primeiro comando SAX de escrita.
Os comando abaixo XML SAX estão envolvidos:
SAX ADD PROCESSING INSTRUCTION
SAX ADD XML CDATA
SAX ADD XML COMMENT
SAX ADD XML DOCTYPE
SAX ADD XML ELEMENT VALUE
SAX CLOSE XML ELEMENT
SAX OPEN XML ELEMENT
SAX OPEN XML ELEMENT ARRAYS
SAX SET XML DECLARATION