Lar Finanças Pessoais Analisando eventos XML com SAX - dummies

Analisando eventos XML com SAX - dummies

Índice:

Vídeo: ➥Analisando os Leiautes do eSocial Para SST |⛑ eSocial Para SST | ? Leiautes do eSocial 2024

Vídeo: ➥Analisando os Leiautes do eSocial Para SST |⛑ eSocial Para SST | ? Leiautes do eSocial 2024
Anonim

A palavra evento evoca todos os tipos de imagens. Para um não programador, um evento é apenas "algo que acontece". "Se você está acostumado a lidar com janelas e quadros em Java, então você provavelmente pensa em um evento como uma ocorrência que desperta um pedaço de código. Por exemplo, o clique do mouse ou o toque de um usuário despertam o código que define uma opção e exibe uma caixa OK. O clique ou a batida de teclas é chamado de evento porque acontece independentemente do programa em execução. Somente o usuário sabe quando ele ou ela pressionará esse botão. E quando o botão é pressionado, parte do programa Java acaba de acordar e lida com a situação. Esse cenário é chamado programação baseada em eventos .

Programas baseados em eventos

Os programas SAX são conduzidos por eventos . Por exemplo, você entra na cama para uma boa noite de sono. Você alcança para configurar seu despertador e depois se instala, fecha seus olhos e fica inconsciente por um número de horas. Então ocorre um acontecimento importante: chega um certo momento do dia. Quando o evento ocorre, o despertador entra no modo "acordar" - e faz um ruído horrível para excitá-lo do sono reparador.

Aqui está outro cenário. Você é um executivo ocupado e você estará fora por várias horas, mas você não quer perder nenhum negócio importante. Antes de deixar o escritório, diga ao seu assistente: "Ligue-me se alguma coisa importante surgir. "A emissão deste pedido é semelhante à configuração do despertador. Você está dizendo ao seu assistente (seu despertador) que o acorde se um evento acontecer. Fazer este pedido ao seu assistente (ou ao seu despertador) é chamado de registro . Em ambos os casos, você está se registrando com um serviço de despertar. Depois de se cadastrar, você pode prosseguir sua atividade sem atividades, ignorando todos os negócios reais até algum evento acontecer. Então …

Anel, anel. Seu telefone celular está gritando com você. "Olá? "

" Olá. Este é o seu assistente. Tenho os números de vendas do primeiro trimestre. Eles são 1 milhão, 4 milhões e 2 milhões. "

" Vamos ver. Isso é um total de 7 milhões ", diz. "Eu vou notar no meu PalmPilot. Obrigado. " Você desliga.

Vários momentos depois, você recebe outra ligação. "O presidente da Big Bucks, Inc., quer fechar esse acordo. Eles estão falando 10 milhões de dólares. "

"Hmm", você responde. "Isso trará nossa receita acumulada até 17 megabucks. Eu armazenarei essas informações no meu aplicativo de planilha eletrônica. Obrigado por ligar. "

Cada uma dessas interações é conhecida como uma chamada de retorno .No início do dia, quando você registrou seu desejo com o assistente, você solicitou um retorno de chamada. Então, sempre que um evento ocorre, o assistente faz uma chamada de retorno para notificá-lo sobre o evento. Em termos de programação Java, o assistente chama um dos seus vários métodos (um de seus subprogramas Java).

A essência da programação baseada em eventos

A programação baseada em eventos tem três partes:

  • Registro: Você regista seu desejo de ser notificado sempre que ocorrer um evento. Você registra esse desejo com outro pedaço de código - outro objeto, geralmente algo que você importou (como um pedaço de código que faz parte da API de outra pessoa). Este objeto, então, assiste, nos bastidores, para a ocorrência do evento que você especificou.
  • Ocorrência do evento: Ocorre um evento específico.
  • Callback: A outra parte do código executa um retorno de chamada. Um dos seus métodos é chamado.

Dois tipos de código

Distinguir entre código ativo e passivo é útil:

  • O código ativo tem um método principal. Código ativo, uma vez que ele começa a correr, assume o centro do palco. O código ativo contém o segmento de execução que controla todo o jogo de bola.
  • O código passivo só fica ali, esperando ser chamado. Uma classe de dados passiva não faz nada até que algum outro código chame dados. lista().

Agora, você pode pensar que o código passivo é tudo o que você precisa para a programação baseada em eventos, mas não é. Para o manuseio de eventos, você precisa desta etapa de registro. O código passivo começa ficando registrado com algum outro código.

Para firmar essa noção de registro, pense em um exemplo do mundo na tela de camundongos, janelas e botões. Você cria uma janela ou quadro. Você quer que seu quadro responda aos cliques do mouse, então você emite o seguinte comando:

botão. addMouseListener (this);

Este comando regista seu quadro com o botão. O comando diz, com efeito, Sempre que ocorre um evento de mouse, chame um dos métodos de tratamento do mouse do quadro . Mais tarde, quando o usuário clicar no mouse, o quadro recebe um retorno de chamada. O computador chama o método mouseClicked do frame.

Eventos SAX

Claro, o SAX é orientado para eventos, mas isso não significa que um programa SAX aguarde os cliques do mouse. Em vez disso, o código SAX segue o modelo de retorno de registro-evento descrito nos últimos vários parágrafos. Todo programa SAX tem duas partes indispensáveis ​​de código:

  • Um pedaço de código que você escreve - chamado manipulador . (Seu manipulador pode estender uma classe pré-escrita DefaultHandler.)
  • O manipulador é como o executivo de milhões de dólares na seção anterior.
  • Um pedaço de código que você normalmente não escreve - o analisador . O analisador desempenha um papel como o assistente do executivo. A API Java 1. 4 possui um analisador interno. Você cria uma instância deste analisador e, em seguida, você registra seu manipulador com essa instância do analisador. Com efeito, você diz à instância que recorde seu manipulador sempre que ocorrer um evento.

Qualquer coisa que tenha que ver com XML é nova e ainda está em um estado de fluxo. Devido a isso, a terminologia é corrigida de forma peculiar. Ao desenvolver a versão 2 da SAX, alguns técnicos tiveram um festival de make-up-new-names. O que normalmente é chamado de "analisador" é incorporado em uma interface Java chamada XMLReader. Costumava ser uma classe chamada org. xml. saxofone. Parser, mas a classe obteve obsoleto (o que significa que você deve arranhá-lo no fundo do seu sapato). Para tornar as coisas um pouco mais complicadas, ainda há outra ferramenta de análise, javax. xml. analisadores. SAXParser. Você usa este SAXParser para tornar-se um XMLReader. Com alguma sorte, você rapidamente se acostumará a esta terminologia complicada. Por enquanto, lembre-se de que o que é chamado de "analisador" geralmente é uma instância do XMLReader.

O cenário register-and-callback é o que faz com que o SAX seja conduzido por eventos. Agora, o engraçado é que um evento SAX não é tangível. Um evento SAX não lembrará um toque de tecla ou um clique no botão. No SAX, o analisador verifica um documento XML de cima para baixo. Sempre que o analisador encontrar algo interessante, o analisador dispara um evento e chama o manipulador. Então, cabe ao manipulador fazer algo sobre esse encontro interessante.

Analisando eventos XML com SAX - dummies

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...