Analisar :: Planície

Modelo de Parsing Engine
Baixe Agora

Analisar :: Planície Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Andrew Alexandre Novikov
  • Site do editor:
  • http://search.cpan.org/~andrewn/

Analisar :: Planície Tag


Analisar :: Planície Descrição

Motor de análise de modelo Parse :: Planície é uma classe Perl para analisar modelos baseados em texto. Ele foi projetado para usar com html, xhtml, xml e outros idiomas de marcação, mas geralmente pode ser usado com arquivos de texto arbitrário, bem como construções básicas nos modelos são tags e blocos. Ambos devem ter nomes. Símbolos válidos para usar em nomes de tag e block são dígitos, letras latinas, sublinhados, traços, pontos, ponto e vírgula, colônios, vírgulas, parênteses, asteriscos, ampersands, barras e símbolos de caret. Uma marca de exclamação ('!') Tem significado especial e será discutido mais tarde. Todos os nomes são sensíveis a maiúsculas e minúsculas.Tag é uma string no formulário %% tagname %%. Pode haver qualquer número de tags com o mesmo nome e qualquer número de tags diferentes no modelo.Block é uma construção que começa com a linha {{blocknamand termina com símbolos}} elemento de início do bloco deve estar em linha separada. Não pode haver outros símbolos desde o início da linha até o elemento Block-End. No entanto, você pode ter outro texto (exceto block-start) após o bloco no final da mesma linha (igual a tendo esses símbolos na próxima linha). Símbolos entre o corpo de bloco de início de bloco e bloco. Blocos são especialmente úteis para elementos iterativos, como linhas de mesa. Blocos podem ser aninhados e as tags são permitidas dentro do corpo do bloco. Há também uma forma especial de nomes de tags. Vamos dizer que você tem um bloco chamado Myblock. Em seguida, no modelo você pode usar tags chamadas %%! MyBlock %% e eles serão substituídos ao valor atual do myblock.Você também pode esconder bloco do lugar no modelo onde é definido por pré-definido! para o nome. Você ainda poderá usar este bloco com nomes de tags apropriados (com '!'). Consulte a seção "Exemplos". Há uma diferença entre o bloco de origem e o bloco de resultados (conforme usado em alguns nomes de métodos). O bloco de origem é um pedaço de texto que é exatamente como aparece no modelo de origem, a menos que você tenha mudado usando métodos "block_src", "desanimado", "push_block_src". O bloco de resultados é um pedaço de texto que aparece na saída e afetado por chamadas para a função "analisar" neste bloco ou pode ser modificado com os métodos "block_res", "Unshift_block_res", "Push_block_res" também. Veja a descrição desses métodos noutro local neste documento. Para ilustrar a diferença: # Bloco de origem chamado 'B' no modelo: # {b # - %% y %% - #}} $ Val = $ t-> block_src ('B'); # $ val eq '- %% y %% -' $ Val = $ t-> block_res ('B'); # $ Val == Undef # Agora vamos modificar o bloco de origem $ t-> push_block_src ('B', 'Z |'); # - %% %% - Z | $ t-> unshift_block_src ('B', 'x'); # X - %% y %% - z | $ Val = $ t-> block_src ('B'); # $ val eq 'x - %% y %% - z |' $ Val = $ t-> block_res ('B'); # $ Val == Undef # Agora vamos modificar o bloco de resultado $ t-> analisar ('B', '1'); # bloco de resultado: x-1-z | $ t-> analisar ('B', '2'); # bloco de resultado: x-1-z | x-2-z | $ T-> ESCALL_BLOCK_RES ('B', '|'); # bloco de resultado: | x-1-z | x-2-z | $ Val = $ t-> block_src ('B'); # $ val eq 'x - %% y %% - z |' $ Val = $ t-> block_res ('B'); # $ Val Eq '| x-1-z | X-2-Z |' Sinopse # no código do usuário Use Analise :: Plain; Meu $ T = New Analdual :: Planície ('/ Path / To / Filename.tmpl'); Meu $ T = New Analdual :: Plain ('/ Path / To / Filename.tmpl', 1, 2); $ t-> set_tag ('mytag', 'valor'); # %% myTag %% definido para valor $ t-> push_tag ('mytag', '-pushed'); # %% myTag %% definido para $ t-> set_tag ({'mytag' => 'valor'}); # %% myTag %% definido para valor $ T-> não éshift_tag ('mytag', 'desnecessário-'); # %% myTag %% definido para o valor desanimado # defina um retorno de chamada para tags como %% URL: http: //host.com/doc.html%% $ t-> Callback ('URL', sub {Return StepPackage: : Geturl ($ _ );}); $ t-> Push_block_src ('Myblock', 'Algum texto para anexar à fonte de bloco'); $ t-> unshift_block_res ('myblock', 'Algum texto para se preparar para o resultado do bloco'); $ t-> analisar ('myblock', {'blocktag' => "valor de bloco"}); # analisar bloco $ t-> anal ('myblock', {'blocktag' => 'outro valor de bloco'}); $ t-> anal; # Analise todo documento $ t-> saída; # resultados analisados para stdout $ t-> sem espera; # Redefinir o resultado analisado aos requisitos originais do modelo: · Perl.


Analisar :: Planície Software Relacionado

fp.

Uma biblioteca para programação em um estilo funcional ...

190

Download