calibre - en to pt translation catalogue (21 entries)

en: XPath tutorial
pt: Tutorial XPath

en: In this tutorial, you will be given a gentle introduction to `XPath <https://en.wikipedia.org/wiki/XPath>`_, a query language that can be used to select arbitrary parts of `HTML <https://en.wikipedia.org/wiki/HTML>`_ documents in calibre. XPath is a widely used standard, and googling it will yield a ton of information. This tutorial, however, focuses on using XPath for e-book related tasks like finding chapter headings in an unstructured HTML document.
pt: Neste tutorial, você receberá uma sucinta introdução ao `XPath <https://en.wikipedia.org/wiki/XPath>`_ uma linguagem de consulta que pode ser usada para selecionar partes aleatórias de documentos `HTML<https://en.wikipedia.org/wiki/HTML>`_ de forma segmentada. O *XPath* é um padrão muito difundido e uma consulta ao *Google* resultará em um grande volume de informações. Este tutorial, entretanto, se concentra no uso de tarefas relacionadas a livros eletrônicos, como encontrar cabeçalhos de capítulos em um documento *HTML* não estruturado.

en: Contents
pt: Conteúdos

en: Selecting by tag name
pt: Selecionar por nome de etiqueta

en: The simplest form of selection is to select tags by name. For example, suppose you want to select all the ``<h2>`` tags in a document. The XPath query for this is simply::
pt: A forma mais simples de seleção é selecionar etiquetas pelo nome. Por exemplo, suponha que você deseja selecionar todas as tags ``<h2>`` em um documento. A consulta XPath para isso é simplesmente::

en: The prefix `//` means *search at any level of the document*. Now suppose you want to search for ``<span>`` tags that are inside ``<a>`` tags. That can be achieved with::
pt: :O prefixo `//` significa *pesquisar em qualquer nível do documento*. Agora suponha que você deseja pesquisar por tags ``<span>`` que estão dentro das etiquetas ``<a>``. Você pode conseguir isso com::

en: If you want to search for tags at a particular level in the document, change the prefix::
pt: Se você quiser buscar por tags em um determinado nível do documento, mude o prefixo::

en: This will match only ``<p>A very short e-book to demonstrate the use of XPath.</p>`` in the :ref:`sample_ebook` but not any of the other ``<p>`` tags. The ``h:`` prefix in the above examples is needed to match XHTML tags. This is because internally, calibre represents all content as XHTML. In XHTML tags have a *namespace*, and ``h:`` is the namespace prefix for HTML tags.
pt: Isto corresponderá apenas com ``<p>Um livro eletrônico curto para demonstrar o uso da XPath.</p>`` na :ref:``sample_ebook`` mas não em qualquer uma das outras tags ``<p>``. O prefixo ``'h'`` nos exemplos acima é necessário para combinar etiquetas *XHTML*. Isto porque internamente o *Calibre* representa todo o conteúdo *XHTML*. As tags *XHTML* têm um *namespace* e ``h:`` é o prefixo de *namespace* para tags *HTML*.

en: Now suppose you want to select both ``<h1>`` and ``<h2>`` tags. To do that, we need a XPath construct called *predicate*. A :dfn:`predicate` is simply a test that is used to select tags. Tests can be arbitrarily powerful and as this tutorial progresses, you will see more powerful examples. A predicate is created by enclosing the test expression in square brackets::
pt: Agora suponha que você queira selecionar ambas as etiquetas ``<h1>`` e ``<h2>``. Para fazer isso, é necessário uma construção XPath chamada *predicado*. Um :dfn:`predicate` é simplesmente um teste usado para selecionar tags. Testes podem ser arbitrariamente poderosos e, no decorrer do tutorial, você verá mais exemplos poderosos. Cria-se um predicado ao colocar a expressão teste entre colchetes::

en: There are several new features in this XPath expression. The first is the use of the wildcard ``*``. It means *match any tag*. Now look at the test expression ``name()='h1' or name()='h2'``. :term:`name()` is an example of a *built-in function*. It simply evaluates to the name of the tag. So by using it, we can select tags whose names are either `h1` or `h2`. Note that the :term:`name()` function ignores namespaces so that there is no need for the ``h:`` prefix. XPath has several useful built-in functions. A few more will be introduced in this tutorial.
pt: Existem vários novos recursos nesta expressão do XPath. A primeira é o uso do caractere universal ``*``. Significa *corresponder a qualquer tag*. Agora veja a expressão de teste``name()='h1' ou name()='h2'``. :term:`name()` é um exemplo de uma *função interna*. Ela simplesmente resulta no nome da tag. Então, usando-a, podemos selecionar etiquetas cujos nomes são `h1` ou `h2`. Observe que a função :term:`name()` ignora namespaces, de modo a que não há necessidade para o prefixo ``h:``. O XPath tem várias funções internas úteis. Mais algumas serão apresentadas neste tutorial.

en: Selecting by attributes
pt: Selecionar por atributos

en: To select tags based on their attributes, the use of predicates is required::
pt: Para selecionar tags com base em seu conteúdo, é necessário o uso de predicados::

en: Here, the ``@`` operator refers to the attributes of the tag. You can use some of the `XPath built-in functions`_ to perform more sophisticated matching on attribute values.
pt: Aqui, o operador ``@`` refere-se aos atributos da tag. Você pode usar alguma das `funções internas do XPath`_ para executar correspondências mais sofisticadas em valores de atributos.

en: Selecting by tag content
pt: Selecionar por conteúdo da etiqueta

en: Using XPath, you can even select tags based on the text they contain. The best way to do this is to use the power of *regular expressions* via the built-in function :term:`re:test()`::
pt: Usando XPath, você também pode selecionar tags baseado nos textos que elas contêm. A melhor maneira para fazer isso é usar o poder das *expressões regulares* através da função interna :term:`re:test()`::

en: Here the ``.`` operator refers to the contents of the tag, just as the ``@`` operator referred to its attributes.
pt: Aqui o operador ``.`` refere-se ao conteúdo da tag, assim como o operador ``@`` refere-se aos seus atributos.

en: Sample e-book
pt: Ebook de amostra

en: XPath built-in functions
pt: Funções nucleares do XPath

en: The name of the current tag.
pt: O nome da etiqueta atual

en: ``contains(s1, s2)`` returns `true` if s1 contains s2.
pt: ``contains(s1, s2)`` devolve `true` se s1 contém s2.

en: ``re:test(src, pattern, flags)`` returns `true` if the string `src` matches the regular expression `pattern`. A particularly useful flag is ``i``, it makes matching case insensitive. A good primer on the syntax for regular expressions can be found at `regexp syntax <https://docs.python.org/library/re.html>`_
pt: ``re:test(src, pattern, flags)`` retorna ``True`` se a string ``src`` corresponde à expressão regular ``pattern`` Uma *flag* particularmente útil é ``i``, que torna a correspondência insensível a maiúsculas e minúsculas. Uma boa introdução sobre a sintaxe para expressões regulares pode ser encontrada em `sintaxe regexp <https://docs.python.org/library/re.html>`_
