# SOME DESCRIPTIVE TITLE.
# Copyright (C) Kovid Goyal
# This file is distributed under the same license as the calibre package.
# 
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: calibre\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-02 13:48+0000\n"
"PO-Revision-Date: 2020-07-03 02:15+0000\n"
"Last-Translator: Kovid Goyal <kovid@kovidgoyal.net>\n"
"Language-Team: Uyghur (http://www.transifex.com/calibre/calibre/language/ug/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ug\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: ../../__w/calibre/calibre/manual/xpath.rst:4
msgid "XPath tutorial"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:6
msgid ""
"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."
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:16
msgid "Contents"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:19
msgid "Selecting by tag name"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:21
msgid ""
"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::"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:27
msgid ""
"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::"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:33
msgid ""
"If you want to search for tags at a particular level in the document, change"
" the prefix::"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:39
msgid ""
"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."
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:45
msgid ""
"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::"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:53
msgid ""
"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."
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:62
msgid "Selecting by attributes"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:64
msgid ""
"To select tags based on their attributes, the use of predicates is "
"required::"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:70
msgid ""
"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."
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:76
msgid "Selecting by tag content"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:78
msgid ""
"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()`::"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:84
msgid ""
"Here the ``.`` operator refers to the contents of the tag, just as the ``@``"
" operator referred to its attributes."
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:90
msgid "Sample e-book"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:96
msgid "XPath built-in functions"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:99
msgid "name()"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:101
msgid "The name of the current tag."
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:102
msgid "contains()"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:104
msgid "``contains(s1, s2)`` returns `true` if s1 contains s2."
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:105
msgid "re:test()"
msgstr ""

#: ../../__w/calibre/calibre/manual/xpath.rst:107
msgid ""
"``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>`_"
msgstr ""
