GNU Free Documentation License

Version 1.1, March 2000

Copyright (C) 2000  Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display copies.

3. COPYING IN QUANTITY

If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

  • A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
  • B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
  • C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
  • D. Preserve all the copyright notices of the Document.
  • E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
  • F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
  • G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
  • H. Include an unaltered copy of this License.
  • I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
  • J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
  • K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
  • L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
  • M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
  • N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.

You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.

The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.


GNU General Public License

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA  02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

  • a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

  • b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

  • c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

  • a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  • b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  • c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS


How to translate:

ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON

Miloslav Nic [ nicmila@systinet.com ]

Jiri Jirat [ Jiri.Jirat@systinet.com ]

How to translate XPath Tutorial

Translation is easy - just a few paragraphs in XML file. If you would like to contribute, send email to webmaster@zvon.org and we will send you the XML files and detailed instructions.

Here is sample source file:

<XPathTutorial creator = "nicmila@systinet.com">
<key>absolute path</key>
<description lang = "ita">La sintassi XPath di base è simile al sistema di indirizzamento utilizzato all'interno di un filesystem. Se il path inizia con lo slash /, esso rappresenta un percorso assoluto verso l'elemento richiesto.</description>
<description lang = "eng">The basic XPath syntax is similar to filesystem addressing. If the path starts with the slash / , then it represents an absolute path to the required element.</description>
<description lang = "ger">Die grundlegende XPath Syntax ist der Adressierung des Dateisystems ähnlich. Falls der Pfad mit einem Schrägstrich / beginnt, repräsentiert es einen absoluten Pfad zum benötigten Element.</description>
<description lang = "cze"> Základní syntax jazyka XPath je podobný adresování v souborovém systému (filesystem). Pokud výraz začíná lomítkem (slash) / , pak reprezentuje absolutní cestu k požadovanému elementu. </description>
<description lang = "fre">La base de la syntaxe XPATH est semblable à celle de l'adressage du système de fichiers. Si le chemin commence par '/', alors il représente un chemin absolu vers l'élément requis. </description>
<description lang = "dut">De basis XPath schrijfwijze kan je vergelijken met het addresseren van bestanden door het besturingssysteem. Als het path begint met een schuine streep, /, dan stelt het een absoluut path voor bij het verplichte element</description>
<description lang = "spa">La sintaxis básica de XPath es similar a la del direccionamiento de ficheros. Un camino que se inicia con '/', representa un camino absoluto hacia el elemento requerido.</description>
<description lang = "rus">Базовый синтаксис языка XPath похож на адресацию в файловой системе. Если путь начинается с символа '/', то он представляет абсолютный путь к заданному элементу.</description>
<description lang = "chi">基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径</description>
<source>
<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
</source>
<example path = "/AAA">
<p lang = "ita">Selezione dell'elemento radice AAA</p>
<p lang = "eng">Select the root element AAA</p>
<p lang = "ger">Wähle das Wurzelelement AAA aus</p>
<p lang = "cze">Vyber kořenový element AAA</p>
<p lang = "fre">Sélectionne l'élément racine AAA</p>
<p lang = "dut">Selecteert het basis element AAA</p>
<p lang = "spa">Selecciona el elemento raiz AAA</p>
<p lang = "rus">Выбирается корневой узел AAA</p>
<p lang = "chi">选择根元素AAA</p>
</example>
<example path = "/AAA/CCC">
<p lang = "ita">Selezione di tutti gli elementi CCC che sono figli dell'elemento radice AAA</p>
<p lang = "eng">Select all elements CCC which are children of the root element AAA</p>
<p lang = "ger">Wähle alle CCC Elemente aus, die Kinder des Wurzelelements AAA sind</p>
<p lang = "cze">Vyber všechny elementy CCC, které jsou přímými potomky kořenového elementu AAA</p>
<p lang = "fre">Sélectionne tous les éléments CCC qui sont enfants de l'élément racine AAA</p>
<p lang = "dut">Selecteert alle CCC elementen die kind zijn van het basis element AAA</p>
<p lang = "spa">Selecciona todos los elementos CCC que son hijos del elemento raiz AAA</p>
<p lang = "rus">Выбираются все элементы CCC, являющиеся дочерними по отношению к корневому узлу AAA</p>
<p lang = "chi">选择AAA的所有CCC子元素</p>
</example>
<example path = "/AAA/DDD/BBB">
<p lang = "ita">Selezione di tutti gli elementi BBB che sono figli di DDD, a loro volta figli dell'elemento radice AAA</p>
<p lang = "eng">Select all elements BBB which are children of DDD which are children of the root element AAA</p>
<p lang = "ger">Wähle alle BBB Elemente aus, die Kinder von DDD sind, die ihrerseits Kinder des Wurzelelements AAA sind</p>
<p lang = "cze">Vyber všechny elementy BBB, které jsou přímými potomky elementů DDD, které jsou přímými potomky kořenového elemntu AAA</p>
<p lang = "fre">Sélectionne tous les éléments BBB qui sont enfants de DDD, qui sont enfants de l'élément racine AAA</p>
<p lang = "dut">Selecteert alle BBB elementen die kind zijn van de DDD elementen die op hun beurt kind zijn van het basis element AAA</p>
<p lang = "spa">Selecciona todos los elementos BBB que son hijos de DDD, que a su vez son hijos del elemento raiz AAA</p>
<p lang = "rus">Выбираются все элементы BBB, являющиеся детьми элементов DDD, которые в свою очередь являются детьми корневого узла AAA</p>
<p lang = "chi">选择AAA的子元素DDD的所有子元素</p>
</example>
</XPathTutorial>


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano
Intro / Search / ZVON
  • Examples
  • >> XPaths <<
//* (tree)
/AAA (tree)
/AAA (tree)
//BBB (tree)
//@id (tree)
/AAA/CCC (tree)
/AAA/BBB (tree)
//DDD/BBB (tree)
//BBB[@*] (tree)
/*/*/*/BBB (tree)
//BBB[@id] (tree)
/child::AAA (tree)
/AAA/BBB[1] (tree)
/AAA/DDD/BBB (tree)
//BBB[@name] (tree)
//CCC | //BBB (tree)
//GGG/self::* (tree)
/descendant::* (tree)
/AAA/CCC/DDD/* (tree)
//BBB[not(@*)] (tree)
/child::AAA/BBB (tree)
//DDD/parent::* (tree)
//BBB[@id='b1'] (tree)
//*[count(*)=2] (tree)
//*[count(*)=3] (tree)
/AAA/EEE | //BBB (tree)
/AAA/BBB[last()] (tree)
//FFF/ancestor::* (tree)
//GGG/ancestor::* (tree)
//*[count(BBB)=2] (tree)
//*[name()='BBB'] (tree)
//ZZZ/following::* (tree)
//GGG/preceding::* (tree)
//GGG/following::* (tree)
//GGG/preceding::* (tree)
//BBB[@name='bbb'] (tree)
//CCC/descendant::* (tree)
//GGG/descendant::* (tree)
//CCC/descendant::DDD (tree)
/AAA/XXX/following::* (tree)
/AAA/XXX/preceding::* (tree)
/child::AAA/child::BBB (tree)
/AAA/BBB/descendant::* (tree)
//GGG/ancestor-or-self::* (tree)
//*[contains(name(),'C')] (tree)
//CCC/following-sibling::* (tree)
//CCC/preceding-sibling::* (tree)
//CCC/descendant-or-self::* (tree)
//BBB[position() mod 2 = 0 ] (tree)
//*[starts-with(name(),'B')] (tree)
/AAA/BBB/following-sibling::* (tree)
/AAA/XXX/preceding-sibling::* (tree)
/AAA/XXX/descendant-or-self::* (tree)
//*[string-length(name()) = 3] (tree)
//*[string-length(name()) < 3] (tree)
//*[string-length(name()) > 3] (tree)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (tree)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (tree)
//BBB[normalize-space(@name)='bbb'] (tree)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (tree)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (tree)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (tree)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (tree)


>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Start | Index

Miloslav Nic [ nicmila@systinet.com ]

Jiri Jirat [ Jiri.Jirat@systinet.com ]

XPath Tutorial

Introduction

XPath is described in XPath 1.0 standard. In this tutorial selected XPath features are demonstrated on many examples.

You can start from :

  • Example 1

or from the left-side panel.

See also

  • XLab - interactive XPath experiments
  • XML tutorial
  • DTD tutorial
  • XML Namespace tutorial
  • XHTML 1.0 reference
  • XHTML Basic reference

Credits

  • Miloslav Nic - programming and examples
  • Jiri Jirat - tree view of examples
Related keywords: tutorial, transformations, XSLT, XML, XPath

This material has been developed for Zvon, where you can find other not only XML related materials (both basic and advanced tutorials and references about XSLT, XML, DTD, Mozilla, CSS, schemas, regular expressions, ...)

This material can be downloaded for off-line use.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License"

The programs used to prepare this reference are covered by GNU General Public License"


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano
Intro / Search / ZVON
  • >> Examples <<
  • XPaths
Example 1
The basic XPath syntax is similar to filesystem addressing. If the path starts with the slash / , then it represents an absolute path to the required element.
Example 2
If the path starts with // then all elements in the document which fulfill following criteria are selected.
Example 3
The star * selects all elements located by preceeding path
Example 4
Expresion in square brackets can further specify an element. A number in the brackets gives the position of the element in the selected set. The function last() selects the last element in the selection.
Example 5
Attributes are specified by @ prefix.
Example 6
Values of attributes can be used as selection criteria. Function normalize-space removes leading and trailing spaces and replaces sequences of whitespace characters by a single space.
Example 7
Function count() counts the number of selected elements
Example 8
Function name() returns name of the element, the starts-with function returns true if the first argument string starts with the second argument string, and the contains function returns true if the first argument string contains the second argument string.
Example 9
The string-length function returns the number of characters in the string. You must use &lt; as a substitute for < and &gt; as a substitute for > .
Example 10
Several paths can be combined with | separator.
Example 11
The child axis contains the children of the context node. The child axis is the default axis and it can be omitted.
Example 12
The descendant axis contains the descendants of the context node; a descendant is a child or a child of a child and so on; thus the descendant axis never contains attribute or namespace nodes
Example 13
The parent axis contains the parent of the context node, if there is one.
Example 14
The ancestor axis contains the ancestors of the context node; the ancestors of the context node consist of the parent of context node and the parent's parent and so on; thus, the ancestor axis will always include the root node, unless the context node is the root node.
Example 15
The following-sibling axis contains all the following siblings of the context node.
Example 16
The preceding-sibling axis contains all the preceding siblings of the context node
Example 17
The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes.
Example 18
The preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding attribute nodes and namespace nodes
Example 19
The descendant-or-self axis contains the context node and the descendants of the context node
Example 20
The ancestor-or-self axis contains the context node and the ancestors of the context node; thus, the ancestor-or-self axis will always include the root node.
Example 21
The ancestor, descendant, following, preceding and self axes partition a document (ignoring attribute and namespace nodes): they do not overlap and together they contain all the nodes in the document.
Example 22
The div operator performs floating-point division, the mod operator returns the remainder from a truncating division. The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.The ceiling function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer.


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 9 > Sample 3

Tree view

//*[string-length(name()) > 3]
Select elements with name longer than three characters

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open the example in XLab. | Go to example

_____________________________________________


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 9 > Sample 2

Tree view

//*[string-length(name()) < 3]
Select elements name of which has one or two characters

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 9 > Sample 1

Tree view

//*[string-length(name()) = 3]
Select elements with three-letter name

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 9 << | Prev | Next

The string-length function returns the number of characters in the string. You must use &lt; as a substitute for < and &gt; as a substitute for > .
//*[string-length(name()) = 3]
Select elements with three-letter name

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//*[string-length(name()) < 3]
Select elements name of which has one or two characters

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//*[string-length(name()) > 3]
Select elements with name longer than three characters

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 8 > Sample 3

Tree view

//*[contains(name(),'C')]
Select all elements name of which contain letter C

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 8 > Sample 2

Tree view

//*[starts-with(name(),'B')]
Select all elements name of which starts with letter B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 8 > Sample 1

Tree view

//*[name()='BBB']
Select all elements with name BBB, equivalent with //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 8 << | Prev | Next

Function name() returns name of the element, the starts-with function returns true if the first argument string starts with the second argument string, and the contains function returns true if the first argument string contains the second argument string.
//*[name()='BBB']
Select all elements with name BBB, equivalent with //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//*[starts-with(name(),'B')]
Select all elements name of which starts with letter B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//*[contains(name(),'C')]
Select all elements name of which contain letter C

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 7 > Sample 3

Tree view

//*[count(*)=3]
Select elements which have 3 children

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 7 > Sample 2

Tree view

//*[count(*)=2]
Select elements which have 2 children

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 7 > Sample 1

Tree view

//*[count(BBB)=2]
Select elements which have two children BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 7 << | Prev | Next

Function count() counts the number of selected elements
//*[count(BBB)=2]
Select elements which have two children BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open the example in XLab. | Tree view (JPG)
//*[count(*)=2]
Select elements which have 2 children

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open the example in XLab. | Tree view (JPG)
//*[count(*)=3]
Select elements which have 3 children

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 6 > Sample 3

Tree view

//BBB[normalize-space(@name)='bbb']
Select BBB elements which have attribute name with value bbb, leading and trailing spaces are removed before comparison

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 6 > Sample 2

Tree view

//BBB[@name='bbb']
Select BBB elements which have attribute name with value 'bbb'

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 6 > Sample 1

Tree view

//BBB[@id='b1']
Select BBB elements which have attribute id with value b1

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 6 << | Prev | Next

Values of attributes can be used as selection criteria. Function normalize-space removes leading and trailing spaces and replaces sequences of whitespace characters by a single space.
//BBB[@id='b1']
Select BBB elements which have attribute id with value b1

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//BBB[@name='bbb']
Select BBB elements which have attribute name with value 'bbb'

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//BBB[normalize-space(@name)='bbb']
Select BBB elements which have attribute name with value bbb, leading and trailing spaces are removed before comparison

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 5 > Sample 5

Tree view

//BBB[not(@*)]
Select BBB elements without an attribute

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 5 > Sample 4

Tree view

//BBB[@*]
Select BBB elements which have any attribute

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 5 > Sample 3

Tree view

//BBB[@name]
Select BBB elements which have attribute name

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 5 > Sample 2

Tree view

//BBB[@id]
Select BBB elements which have attribute id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 5 > Sample 1

Tree view

//@id
Select all attributes @id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 5 << | Prev | Next

Attributes are specified by @ prefix.
//@id
Select all attributes @id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//BBB[@id]
Select BBB elements which have attribute id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//BBB[@name]
Select BBB elements which have attribute name

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//BBB[@*]
Select BBB elements which have any attribute

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//BBB[not(@*)]
Select BBB elements without an attribute

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 4 > Sample 2

Tree view

/AAA/BBB[last()]
Select the last BBB child of element AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 4 > Sample 1

Tree view

/AAA/BBB[1]
Select the first BBB child of element AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 4 << | Prev | Next

Expresion in square brackets can further specify an element. A number in the brackets gives the position of the element in the selected set. The function last() selects the last element in the selection.
/AAA/BBB[1]
Select the first BBB child of element AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/AAA/BBB[last()]
Select the last BBB child of element AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 3 > Sample 3

Tree view

//*
Select all elements

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 3 > Sample 2

Tree view

/*/*/*/BBB
Select all elements BBB which have 3 ancestors

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 3 > Sample 1

Tree view

/AAA/CCC/DDD/*
Select all elements enclosed by elements /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 3 << | Prev | Next

The star * selects all elements located by preceeding path
/AAA/CCC/DDD/*
Select all elements enclosed by elements /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
/*/*/*/BBB
Select all elements BBB which have 3 ancestors

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//*
Select all elements

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 2 > Sample 2

Tree view

//DDD/BBB
Select all elements BBB which are children of DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 2 > Sample 1

Tree view

//BBB
Select all elements BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 22 > Sample 3

Tree view

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Select middle CCC element(s)

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 22 > Sample 2

Tree view

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Select middle BBB element(s)

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 22 > Sample 1

Tree view

//BBB[position() mod 2 = 0 ]
Select even BBB elements

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 22 << | Prev | Next

The div operator performs floating-point division, the mod operator returns the remainder from a truncating division. The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.The ceiling function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer.
//BBB[position() mod 2 = 0 ]
Select even BBB elements

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Select middle BBB element(s)

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Select middle CCC element(s)

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 21 > Sample 6

Tree view

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 21 > Sample 5

Tree view

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 21 > Sample 4

Tree view

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 21 > Sample 3

Tree view

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 21 > Sample 2

Tree view

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 21 > Sample 1

Tree view

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 21 << | Prev | Next

The ancestor, descendant, following, preceding and self axes partition a document (ignoring attribute and namespace nodes): they do not overlap and together they contain all the nodes in the document.
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 20 > Sample 2

Tree view

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 20 > Sample 1

Tree view

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 20 << | Prev | Next

The ancestor-or-self axis contains the context node and the ancestors of the context node; thus, the ancestor-or-self axis will always include the root node.
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 2 << | Prev | Next

If the path starts with // then all elements in the document which fulfill following criteria are selected.
//BBB
Select all elements BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//DDD/BBB
Select all elements BBB which are children of DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 1 > Sample 3

Tree view

/AAA/DDD/BBB
Select all elements BBB which are children of DDD which are children of the root element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 1 > Sample 2

Tree view

/AAA/CCC
Select all elements CCC which are children of the root element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 1 > Sample 1

Tree view

/AAA
Select the root element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 19 > Sample 2

Tree view

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 19 > Sample 1

Tree view

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 19 << | Prev | Next

The descendant-or-self axis contains the context node and the descendants of the context node
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 18 > Sample 2

Tree view

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 18 > Sample 1

Tree view

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 18 << | Prev | Next

The preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding attribute nodes and namespace nodes
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 17 > Sample 2

Tree view

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 17 > Sample 1

Tree view

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 17 << | Prev | Next

The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes.
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 16 > Sample 2

Tree view

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 16 > Sample 1

Tree view

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 16 << | Prev | Next

The preceding-sibling axis contains all the preceding siblings of the context node
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 15 > Sample 2

Tree view

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 15 > Sample 1

Tree view

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 15 << | Prev | Next

The following-sibling axis contains all the following siblings of the context node.
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 14 > Sample 2

Tree view

//FFF/ancestor::*
Select ancestors of FFF element

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 14 > Sample 1

Tree view

/AAA/BBB/DDD/CCC/EEE/ancestor::*
Select all elements given in this absolute path

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 14 << | Prev | Next

The ancestor axis contains the ancestors of the context node; the ancestors of the context node consist of the parent of context node and the parent's parent and so on; thus, the ancestor axis will always include the root node, unless the context node is the root node.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Select all elements given in this absolute path

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//FFF/ancestor::*
Select ancestors of FFF element

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 13 > Sample 1

Tree view

//DDD/parent::*
Select all parents of DDD element

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 13 << | Prev | Next

The parent axis contains the parent of the context node, if there is one.
//DDD/parent::*
Select all parents of DDD element

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 12 > Sample 4

Tree view

//CCC/descendant::DDD
Select elements DDD which have CCC among its ancestors

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 12 > Sample 3

Tree view

//CCC/descendant::*
Select all elements which have CCC among its ancestors

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 12 > Sample 2

Tree view

/AAA/BBB/descendant::*
Select all descendants of /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 12 > Sample 1

Tree view

/descendant::*
Select all descendants of document root and therefore all elements

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 12 << | Prev | Next

The descendant axis contains the descendants of the context node; a descendant is a child or a child of a child and so on; thus the descendant axis never contains attribute or namespace nodes
/descendant::*
Select all descendants of document root and therefore all elements

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
/AAA/BBB/descendant::*
Select all descendants of /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//CCC/descendant::*
Select all elements which have CCC among its ancestors

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)
//CCC/descendant::DDD
Select elements DDD which have CCC among its ancestors

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 11 > Sample 5

Tree view

/child::AAA/BBB
Both possibilities can be combined

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 11 > Sample 4

Tree view

/child::AAA/child::BBB
Equivalent of /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 11 > Sample 3

Tree view

/AAA/BBB
Equivalent of /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 11 > Sample 2

Tree view

/child::AAA
Equivalent of /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 11 > Sample 1

Tree view

/AAA
Equivalent of /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 11 << | Prev | Next

The child axis contains the children of the context node. The child axis is the default axis and it can be omitted.
/AAA
Equivalent of /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/child::AAA
Equivalent of /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/AAA/BBB
Equivalent of /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/child::AAA/child::BBB
Equivalent of /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/child::AAA/BBB
Both possibilities can be combined

<AAA>
<BBB/>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 10 > Sample 3

Tree view

/AAA/EEE | //DDD/CCC | /AAA | //BBB
Number of combinations is not restricted

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 10 > Sample 2

Tree view

/AAA/EEE | //BBB
Select all elements BBB and elements EEE which are children of root element AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
Example 10 > Sample 1

Tree view

//CCC | //BBB
Select all elements CCC and BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open the example in XLab. | Go to example


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 10 << | Prev | Next

Several paths can be combined with | separator.
//CCC | //BBB
Select all elements CCC and BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/AAA/EEE | //BBB
Select all elements BBB and elements EEE which are children of root element AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
Number of combinations is not restricted

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

>> English << | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON
>> Example 1 << | Prev | Next

The basic XPath syntax is similar to filesystem addressing. If the path starts with the slash / , then it represents an absolute path to the required element.
/AAA
Select the root element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/AAA/CCC
Select all elements CCC which are children of the root element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)
/AAA/DDD/BBB
Select all elements BBB which are children of DDD which are children of the root element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open the example in XLab. | Tree view (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano
介绍 / 搜索 / ZVON
  • Examples
  • >> XPaths <<
//* (树)
/AAA (树)
/AAA (树)
//BBB (树)
//@id (树)
/AAA/CCC (树)
/AAA/BBB (树)
//DDD/BBB (树)
//BBB[@*] (树)
/*/*/*/BBB (树)
//BBB[@id] (树)
/child::AAA (树)
/AAA/BBB[1] (树)
/AAA/DDD/BBB (树)
//BBB[@name] (树)
//CCC | //BBB (树)
//GGG/self::* (树)
/descendant::* (树)
/AAA/CCC/DDD/* (树)
//BBB[not(@*)] (树)
/child::AAA/BBB (树)
//DDD/parent::* (树)
//BBB[@id='b1'] (树)
//*[count(*)=2] (树)
//*[count(*)=3] (树)
/AAA/EEE | //BBB (树)
/AAA/BBB[last()] (树)
//FFF/ancestor::* (树)
//GGG/ancestor::* (树)
//*[count(BBB)=2] (树)
//*[name()='BBB'] (树)
//ZZZ/following::* (树)
//GGG/preceding::* (树)
//GGG/following::* (树)
//GGG/preceding::* (树)
//BBB[@name='bbb'] (树)
//CCC/descendant::* (树)
//GGG/descendant::* (树)
//CCC/descendant::DDD (树)
/AAA/XXX/following::* (树)
/AAA/XXX/preceding::* (树)
/child::AAA/child::BBB (树)
/AAA/BBB/descendant::* (树)
//GGG/ancestor-or-self::* (树)
//*[contains(name(),'C')] (树)
//CCC/following-sibling::* (树)
//CCC/preceding-sibling::* (树)
//CCC/descendant-or-self::* (树)
//BBB[position() mod 2 = 0 ] (树)
//*[starts-with(name(),'B')] (树)
/AAA/BBB/following-sibling::* (树)
/AAA/XXX/preceding-sibling::* (树)
/AAA/XXX/descendant-or-self::* (树)
//*[string-length(name()) = 3] (树)
//*[string-length(name()) < 3] (树)
//*[string-length(name()) > 3] (树)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (树)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (树)
//BBB[normalize-space(@name)='bbb'] (树)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (树)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (树)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (树)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (树)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano
介绍 / 搜索 / ZVON
  • >> Examples <<
  • XPaths
实例 1
基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径
实例 2
如果路径以双斜线 // 开头, 则表示选择文档中所有满足双斜线//之后规则的元素(无论层级关系)
实例 3
星号 * 表示选择所有由星号之前的路径所定位的元素
实例 4
方块号里的表达式可以进一步的指定元素, 其中数字表示元素在选择集里的位置, 而last()函数则表示选择集中的最后一个元素.
实例 5
实例 6
属性的值可以被用来作为选择的准则, normalize-space函数删除了前部和尾部的空格, 并且把连续的空格串替换为一个单一的空格
实例 7
count()函数可以计数所选元素的个数
实例 8
name()函数返回元素的名称, start-with()函数在该函数的第一个参数字符串是以第二个参数字符开始的情况返回true, contains()函数当其第一个字符串参数包含有第二个字符串参数时返回true.
实例 9
string-length函数返回字符串的字符数,你应该用&lt;替代<, 用&gt;代替>
实例 10
多个路径可以用分隔符 | 合并在一起
实例 11
child轴(axis)包含上下文节点的子元素, 作为默认的轴,可以忽略不写.
实例 12
descendant (后代)轴包含上下文节点的后代,一个后代是指子节点或者子节点的子节点等等, 因此descendant轴不会包含属性和命名空间节点.
实例 13
parent轴(axis)包含上下文节点的父节点, 如果有父节点的话
实例 14
ancestor轴(axis)包含上下节点的祖先节点, 该祖先节点由其上下文节点的父节点以及父节点的父节点等等诸如此类的节点构成,所以ancestor轴总是包含有根节点,除非上下文节点就是根节点本身.
实例 15
following-sibling轴(axis)包含上下文节点之后的所有兄弟节点
实例 16
preceding-sibling 轴(axis)包含上下文节点之前的所有兄弟节点
实例 17
following轴(axis)包含同一文档中按文档顺序位于上下文节点之后的所有节点, 除了祖先节点,属性节点和命名空间节点
实例 18
following轴(axis)包含同一文档中按文档顺序位于上下文节点之前的所有节点, 除了祖先节点,属性节点和命名空间节点
实例 19
descendant-or-self 轴(axis)包含上下文节点本身和该节点的后代节点
实例 20
ancestor-or-self 轴(axis)包含上下文节点本身和该节点的祖先节点
实例 21
ancestor, descendant, following, preceding 和self轴(axis)分割了XML文档(忽略属性节点和命名空间节点), 不能交迭, 而一起使用则包含所有节点
实例 22
div运算符做浮点除法运算, mod运算符做求余运算, floor函数返回不大于参数的最大整数(趋近于正无穷), ceiling返回不小于参数的最小整数(趋近于负无穷)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 9 > 样例 3

树视图

//*[string-length(name()) > 3]
选择名字长度大于3的元素

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 9 > 样例 2

树视图

//*[string-length(name()) < 3]
选择名字长度小于3的元素

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 9 > 样例 1

树视图

//*[string-length(name()) = 3]
选择名字长度为3的元素

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 9 << | 前页 | 后页

string-length函数返回字符串的字符数,你应该用&lt;替代<, 用&gt;代替>
//*[string-length(name()) = 3]
选择名字长度为3的元素

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//*[string-length(name()) < 3]
选择名字长度小于3的元素

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//*[string-length(name()) > 3]
选择名字长度大于3的元素

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 8 > 样例 3

树视图

//*[contains(name(),'C')]
选择所有名称包含"C"的元素

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 8 > 样例 2

树视图

//*[starts-with(name(),'B')]
选择所有名称以"B"起始的元素

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 8 > 样例 1

树视图

//*[name()='BBB']
选择所有名称为BBB的元素(这里等价于//BBB)

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 8 << | 前页 | 后页

name()函数返回元素的名称, start-with()函数在该函数的第一个参数字符串是以第二个参数字符开始的情况返回true, contains()函数当其第一个字符串参数包含有第二个字符串参数时返回true.
//*[name()='BBB']
选择所有名称为BBB的元素(这里等价于//BBB)

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//*[starts-with(name(),'B')]
选择所有名称以"B"起始的元素

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//*[contains(name(),'C')]
选择所有名称包含"C"的元素

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 7 > 样例 3

树视图

//*[count(*)=3]
选择含有3个子元素的元素

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 7 > 样例 2

树视图

//*[count(*)=2]
选择含有2个子元素的元素

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 7 > 样例 1

树视图

//*[count(BBB)=2]
选择含有2个BBB子元素的元素

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 7 << | 前页 | 后页

count()函数可以计数所选元素的个数
//*[count(BBB)=2]
选择含有2个BBB子元素的元素

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//*[count(*)=2]
选择含有2个子元素的元素

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//*[count(*)=3]
选择含有3个子元素的元素

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 6 > 样例 3

树视图

//BBB[normalize-space(@name)='bbb']
选择含有属性name且其值(在用normalize-space函数去掉前后空格后)为'bbb'的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 6 > 样例 2

树视图

//BBB[@name='bbb']
选择含有属性name且其值为'bbb'的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 6 > 样例 1

树视图

//BBB[@id='b1']
选择含有属性id且其值为'b1'的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 6 << | 前页 | 后页

属性的值可以被用来作为选择的准则, normalize-space函数删除了前部和尾部的空格, 并且把连续的空格串替换为一个单一的空格
//BBB[@id='b1']
选择含有属性id且其值为'b1'的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//BBB[@name='bbb']
选择含有属性name且其值为'bbb'的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//BBB[normalize-space(@name)='bbb']
选择含有属性name且其值(在用normalize-space函数去掉前后空格后)为'bbb'的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 5 > 样例 5

树视图

//BBB[not(@*)]
选择没有属性的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 5 > 样例 4

树视图

//BBB[@*]
选择有任意属性的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 5 > 样例 3

树视图

//BBB[@name]
选择有name属性的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 5 > 样例 2

树视图

//BBB[@id]
选择有id属性的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 5 > 样例 1

树视图

//@id
选择所有的id属性

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 5 << | 前页 | 后页

//@id
选择所有的id属性

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//BBB[@id]
选择有id属性的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//BBB[@name]
选择有name属性的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//BBB[@*]
选择有任意属性的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//BBB[not(@*)]
选择没有属性的BBB元素

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 4 > 样例 2

树视图

/AAA/BBB[last()]
选择AAA的最后一个BBB子元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 4 > 样例 1

树视图

/AAA/BBB[1]
选择AAA的第一个BBB子元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 4 << | 前页 | 后页

方块号里的表达式可以进一步的指定元素, 其中数字表示元素在选择集里的位置, 而last()函数则表示选择集中的最后一个元素.
/AAA/BBB[1]
选择AAA的第一个BBB子元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/AAA/BBB[last()]
选择AAA的最后一个BBB子元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 3 > 样例 3

树视图

//*
选择所有元素

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 3 > 样例 2

树视图

/*/*/*/BBB
选择所有的有3个祖先元素的BBB元素

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 3 > 样例 1

树视图

/AAA/CCC/DDD/*
选择所有路径依附于/AAA/CCC/DDD的元素

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 3 << | 前页 | 后页

星号 * 表示选择所有由星号之前的路径所定位的元素
/AAA/CCC/DDD/*
选择所有路径依附于/AAA/CCC/DDD的元素

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/*/*/*/BBB
选择所有的有3个祖先元素的BBB元素

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//*
选择所有元素

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 2 > 样例 2

树视图

//DDD/BBB
选择所有父元素是DDD的BBB元素

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 2 > 样例 1

树视图

//BBB
选择所有BBB元素

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 22 > 样例 3

树视图

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
选择中间的CCC元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 22 > 样例 2

树视图

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
选择中间的BBB元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 22 > 样例 1

树视图

//BBB[position() mod 2 = 0 ]
选择偶数位置的BBB元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 22 << | 前页 | 后页

div运算符做浮点除法运算, mod运算符做求余运算, floor函数返回不大于参数的最大整数(趋近于正无穷), ceiling返回不小于参数的最小整数(趋近于负无穷)
//BBB[position() mod 2 = 0 ]
选择偶数位置的BBB元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
选择中间的BBB元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
选择中间的CCC元素

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 21 > 样例 6

树视图

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 21 > 样例 5

树视图

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 21 > 样例 4

树视图

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 21 > 样例 3

树视图

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 21 > 样例 2

树视图

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 21 > 样例 1

树视图

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 21 << | 前页 | 后页

ancestor, descendant, following, preceding 和self轴(axis)分割了XML文档(忽略属性节点和命名空间节点), 不能交迭, 而一起使用则包含所有节点
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 20 > 样例 2

树视图

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 20 > 样例 1

树视图

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 20 << | 前页 | 后页

ancestor-or-self 轴(axis)包含上下文节点本身和该节点的祖先节点
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 2 << | 前页 | 后页

如果路径以双斜线 // 开头, 则表示选择文档中所有满足双斜线//之后规则的元素(无论层级关系)
//BBB
选择所有BBB元素

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//DDD/BBB
选择所有父元素是DDD的BBB元素

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 1 > 样例 3

树视图

/AAA/DDD/BBB
选择AAA的子元素DDD的所有子元素

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 1 > 样例 2

树视图

/AAA/CCC
选择AAA的所有CCC子元素

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 1 > 样例 1

树视图

/AAA
选择根元素AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 19 > 样例 2

树视图

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 19 > 样例 1

树视图

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 19 << | 前页 | 后页

descendant-or-self 轴(axis)包含上下文节点本身和该节点的后代节点
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 18 > 样例 2

树视图

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 18 > 样例 1

树视图

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 18 << | 前页 | 后页

following轴(axis)包含同一文档中按文档顺序位于上下文节点之前的所有节点, 除了祖先节点,属性节点和命名空间节点
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 17 > 样例 2

树视图

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 17 > 样例 1

树视图

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 17 << | 前页 | 后页

following轴(axis)包含同一文档中按文档顺序位于上下文节点之后的所有节点, 除了祖先节点,属性节点和命名空间节点
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 16 > 样例 2

树视图

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 16 > 样例 1

树视图

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 16 << | 前页 | 后页

preceding-sibling 轴(axis)包含上下文节点之前的所有兄弟节点
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 15 > 样例 2

树视图

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 15 > 样例 1

树视图

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 15 << | 前页 | 后页

following-sibling轴(axis)包含上下文节点之后的所有兄弟节点
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 14 > 样例 2

树视图

//FFF/ancestor::*
选择FFF元素的祖先节点

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 14 > 样例 1

树视图

/AAA/BBB/DDD/CCC/EEE/ancestor::*
选择一个绝对路径上的所有节点

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 14 << | 前页 | 后页

ancestor轴(axis)包含上下节点的祖先节点, 该祖先节点由其上下文节点的父节点以及父节点的父节点等等诸如此类的节点构成,所以ancestor轴总是包含有根节点,除非上下文节点就是根节点本身.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
选择一个绝对路径上的所有节点

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//FFF/ancestor::*
选择FFF元素的祖先节点

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 13 > 样例 1

树视图

//DDD/parent::*
选择DDD元素的所有父节点

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 13 << | 前页 | 后页

parent轴(axis)包含上下文节点的父节点, 如果有父节点的话
//DDD/parent::*
选择DDD元素的所有父节点

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 12 > 样例 4

树视图

//CCC/descendant::DDD
选择所有以CCC为祖先元素的DDD元素

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 12 > 样例 3

树视图

//CCC/descendant::*
选择在祖先元素中有CCC的所有元素

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 12 > 样例 2

树视图

/AAA/BBB/descendant::*
选择/AAA/BBB的所有后代元素

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 12 > 样例 1

树视图

/descendant::*
选择文档根元素的所有后代.即所有的元素被选择

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 12 << | 前页 | 后页

descendant (后代)轴包含上下文节点的后代,一个后代是指子节点或者子节点的子节点等等, 因此descendant轴不会包含属性和命名空间节点.
/descendant::*
选择文档根元素的所有后代.即所有的元素被选择

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/AAA/BBB/descendant::*
选择/AAA/BBB的所有后代元素

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//CCC/descendant::*
选择在祖先元素中有CCC的所有元素

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
//CCC/descendant::DDD
选择所有以CCC为祖先元素的DDD元素

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 11 > 样例 5

树视图

/child::AAA/BBB
二者都可以被合并

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 11 > 样例 4

树视图

/child::AAA/child::BBB
等价于/AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 11 > 样例 3

树视图

/AAA/BBB
等价于/child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 11 > 样例 2

树视图

/child::AAA
等价于/AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 11 > 样例 1

树视图

/AAA
等价于 /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 11 << | 前页 | 后页

child轴(axis)包含上下文节点的子元素, 作为默认的轴,可以忽略不写.
/AAA
等价于 /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/child::AAA
等价于/AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/AAA/BBB
等价于/child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/child::AAA/child::BBB
等价于/AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/child::AAA/BBB
二者都可以被合并

<AAA>
<BBB/>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 10 > 样例 3

树视图

/AAA/EEE | //DDD/CCC | /AAA | //BBB
可以合并的路径数目没有限制

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 10 > 样例 2

树视图

/AAA/EEE | //BBB
选择所有的BBB元素和所有是AAA的子元素的EEE元素

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
实例 10 > 样例 1

树视图

//CCC | //BBB
选择所有的CCC和BBB元素

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
在XLab中打开实例 | 转到实例


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 10 << | 前页 | 后页

多个路径可以用分隔符 | 合并在一起
//CCC | //BBB
选择所有的CCC和BBB元素

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/AAA/EEE | //BBB
选择所有的BBB元素和所有是AAA的子元素的EEE元素

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
可以合并的路径数目没有限制

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
>> 实例 1 << | 前页 | 后页

基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径
/AAA
选择根元素AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/AAA/CCC
选择AAA的所有CCC子元素

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)
/AAA/DDD/BBB
选择AAA的子元素DDD的所有子元素

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
在XLab中打开实例 | 树视图 (JPG)


English | česky | Nederlands | Français | Español | По-русски | Deutsch | >> 中文 << | Italiano ZVON > Tutorials > XPath Tutorial
介绍 / 搜索 / ZVON
开始 | 索引

Miloslav Nic [ nicmila@systinet.com ]

Jiri Jirat [ Jiri.Jirat@systinet.com ]

翻译: Wang Tao

XPath 教程

简介

XPath由W3C的XPath 1.0 标准描述.本教程通过实例来展示XPath的一些特性.

你可以从以下内容开始:

  • 实例 1

或者从左边的索引开始

也可以访问

  • XLab - interactive XPath experiments
  • XML 教程
  • DTD 教程
  • XML 命名空间教程
  • XHTML 1.0 参考
  • XHTML基础 参考

致谢

  • Miloslav Nic - 编程和实例
  • Jiri Jirat - 实例的树型视图
相关关键字: tutorial, transformations, XSLT, XML, XPath

This material can be downloaded for off-line use.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License"

The programs used to prepare this reference are covered by GNU General Public License"


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano
Úvod / Hledej / ZVON
  • Příklady
  • >> XPath výrazy <<
//* (strom)
/AAA (strom)
/AAA (strom)
//BBB (strom)
//@id (strom)
/AAA/CCC (strom)
/AAA/BBB (strom)
//DDD/BBB (strom)
//BBB[@*] (strom)
/*/*/*/BBB (strom)
//BBB[@id] (strom)
/child::AAA (strom)
/AAA/BBB[1] (strom)
/AAA/DDD/BBB (strom)
//BBB[@name] (strom)
//CCC | //BBB (strom)
//GGG/self::* (strom)
/descendant::* (strom)
/AAA/CCC/DDD/* (strom)
//BBB[not(@*)] (strom)
/child::AAA/BBB (strom)
//DDD/parent::* (strom)
//BBB[@id='b1'] (strom)
//*[count(*)=2] (strom)
//*[count(*)=3] (strom)
/AAA/EEE | //BBB (strom)
/AAA/BBB[last()] (strom)
//FFF/ancestor::* (strom)
//GGG/ancestor::* (strom)
//*[count(BBB)=2] (strom)
//*[name()='BBB'] (strom)
//ZZZ/following::* (strom)
//GGG/preceding::* (strom)
//GGG/following::* (strom)
//GGG/preceding::* (strom)
//BBB[@name='bbb'] (strom)
//CCC/descendant::* (strom)
//GGG/descendant::* (strom)
//CCC/descendant::DDD (strom)
/AAA/XXX/following::* (strom)
/AAA/XXX/preceding::* (strom)
/child::AAA/child::BBB (strom)
/AAA/BBB/descendant::* (strom)
//GGG/ancestor-or-self::* (strom)
//*[contains(name(),'C')] (strom)
//CCC/following-sibling::* (strom)
//CCC/preceding-sibling::* (strom)
//CCC/descendant-or-self::* (strom)
//BBB[position() mod 2 = 0 ] (strom)
//*[starts-with(name(),'B')] (strom)
/AAA/BBB/following-sibling::* (strom)
/AAA/XXX/preceding-sibling::* (strom)
/AAA/XXX/descendant-or-self::* (strom)
//*[string-length(name()) = 3] (strom)
//*[string-length(name()) < 3] (strom)
//*[string-length(name()) > 3] (strom)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (strom)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (strom)
//BBB[normalize-space(@name)='bbb'] (strom)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (strom)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (strom)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (strom)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (strom)


XPath Tutorial

VŠCHT Praha otevírá studijní obor zaměřený na XML technologie a přírodní vědy
Informatika a chemie
garantovaný zakladateli Zvonu Dr. Ničem a Dr. Jirátem
Přihlášky jsou přijímány do 31. 3. 2005
Bližší informace naleznete na adrese http://www.vscht.cz/informatika-chemie/.
Součástí stránek je i Seznam škol v ČR vyučujících informatiku.

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Start | Index

Miloslav Nič [ nicmila@systinet.com ]

Jiří Jirát [ Jiri.Jirat@systinet.com ]

Překlad: Jiří Jirát

XPath Tutorial

Úvod

XPath je popsán v XPath 1.0 standardu. Tento tutoriál vás na mnoha příkladech seznámí s vybranými rysy jazyku XPath.

Můžete začít od:

  • Příkladu 1

nebo z panelu na levé straně.

Související materiály

  • XLab - interaktivní experimenty s XPath
  • XML tutorial
  • DTD tutorial
  • XML Namespace tutorial
  • XHTML 1.0 reference
  • XHTML Basic reference

Kredit

  • Miloslav Nič - programování a příklady
  • Jiří Jirát - zobrazení příkladů jako stromy
Klíčová slova: tutorial, transformations, XSLT, XML, XPath

Oblíbená četba ZVONu: ROOT.cz - informace nejen ze světa Linuxu.

Tento materiál byl napsán pro Zvon, kde můžete nalézt další materiály nejen o XML (both basic and advanced tutorials about XSLT, XML, DTD, Mozilla, CSS, regular expressions, ...)

Tento materiál, včetné všech zdrojových kódů, je možné stáhnout pro off-line použití.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Je dovoleno kopírovat, distribuovat a/nebo modifikovat tento dokument podle podmínek GNU Free Documentation License, Verze 1.1 nebo jakékoli další verze publikované Free Software Foundation; bez Invariant Sections, bez Front-Cover Texts, a bez Back-Cover Texts. Kopie této licence je zahrnuta v sekci se jménem "GNU Free Documentation License"

Programy použté pro přípravu této reference jsou pokryty "GNU General Public License"


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano
Úvod / Hledej / ZVON
  • >> Příklady <<
  • XPath výrazy
Příklad 1
Základní syntax jazyka XPath je podobný adresování v souborovém systému (filesystem). Pokud výraz začíná lomítkem (slash) / , pak reprezentuje absolutní cestu k požadovanému elementu.
Příklad 2
Pokud výraz začíná // (dvěma lomítky), pak jsou vybrány všechny elementy kdekoli v dokumentu, které splňují následující kritéria
Příklad 3
Hvězdička * vybere všechny elementy, které jsou určeny předcházejícím výrazem
Příklad 4
Výraz v hranatých závorkách může specifikovat další podmínky. Číslo v hranatých závorkách určuje pozici elementu ve vybraném souboru elementů. Funkce "last()" ("poslední") vybírá poslední element ve výběru.
Příklad 5
Atributy jsou specifikovány pomocí prefixu "@".
Příklad 6
Hodnoty atributů mohou být použity jako kritérium pro výběr. Funkce "normalize-space" odstraňuje počáteční a koncové mezery a nahrazuje sekvence "whitespace" znaků jedinou mezerou.
Příklad 7
Funkce count() vrátí počet vybraných elementů
Příklad 8
Funkce name() vrací jméno elementu, funkce "starts-with" vrací hodnotu "true", pokud první argument začíná řetězcem, který je uveden jako druhý argument. Funkce "contains" vrací hodnotu "true", pokud první argument obsahuje řetězec, který je uveden jako druhý argument.
Příklad 9
Funkce "string-length" vrací počet znaků v řetězci. Musíte použít &lt; jako náhražku pro < (menší než) a &gt; jako náhražku pro > (větší než).
Příklad 10
Několik výrazů může být kombinováno pomocí separátoru |
Příklad 11
Osa přímých potomků (child axis) obsahuje všechny přímé potomky uzlu, který je v kontextu. Tato osa je implicitní a může být vynechána.
Příklad 12
Osa potomků (descendant axis) obsahuje potomky uzlu, který je v kontextu; potomek je přímý potomek (dítě, "child") nebo přímý potomek přímého potomka atd. Proto osa potomků nikdy neobsahuje uzly typu atribut nebo jmenný prostor.
Příklad 13
Osa rodičů (parent axis) obsahuje rodiče uzlu, který je v kontextu - pokud ovšem existují.
Příklad 14
Osa předků obsahuje předku uzlu, který je v kontextu; předkové tohoto uzlu jsou rodiče, rodiče rodičů atd. Proto osa předků vždy obsahuje kořen dokumentu, pokud ovšem uzlem v kontextu není sám kořen dokumentu.
Příklad 15
Osa "following-sibling" obsahuje všechny následující sourozence uzlu, který je v kontextu.
Příklad 16
Osa "preceding-sibling" obsahuje všechny předcházející sourozence uzlu, který je v kontextu.
Příklad 17
Osa "following" ("následující") obsahuje všechny uzly v tom samém dokumentu, které se vyskytují po uzlu, který je v kontextu, a to podle pořadí v dokumentu ("document order") a vyjma jakýchkoli potomků, atributů a uzlů jmenných prostorů.
Příklad 18
Osa "preceding" (předcházející) obsahuje všechny uzly v tom samém dokumentu, které se vyskytují po uzlu, který je v kontextu, a to podle pořadí v dokumentu ("document order") a vyjma jakýchkoli předků, atributů a uzlů jmenných prostorů.
Příklad 19
Osa "descendant-or-self" obsahuje kontextový uzel a všechny jeho potomky
Příklad 20
Osa "ancestor-or-self" obsahuje kontextový uzel a všechny jeho předky. Proto bude vždy obsahovat kořen dokumentu.
Příklad 21
Osy "ancestor", "descendant", "following", "preceding" a "self" rozdělují dokument (ignorujíc uzly typu atribut a jmenný prostor): nepřekrývají se a dohromady obsahují všechny uzly dokumentu.
Příklad 22
Operátor "div" provádí dělení (neceločíselné), operátor "mod" vrací zbytek po celočíselném dělení. Funkce "floor" vrací nejvyšší (bližší k plus nekonečnu) celé číslo, které není vyšší než argument. Funkce "ceiling" nejmenší (bližší k minus nekonečnu) celé číslo, které není menší než argument.


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 9 > Vzorek 3

Zobrazení jako strom

//*[string-length(name()) > 3]
Vyber elementy se jménem delším než tři znaky

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 9 > Vzorek 2

Zobrazení jako strom

//*[string-length(name()) < 3]
Vyber elementy, jejichž jméno má jeden nebo dva znaky

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 9 > Vzorek 1

Zobrazení jako strom

//*[string-length(name()) = 3]
Vyber elementy, které mají třípísmenné jméno

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 9 << | Předešlý | Následující

Funkce "string-length" vrací počet znaků v řetězci. Musíte použít &lt; jako náhražku pro < (menší než) a &gt; jako náhražku pro > (větší než).
//*[string-length(name()) = 3]
Vyber elementy, které mají třípísmenné jméno

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//*[string-length(name()) < 3]
Vyber elementy, jejichž jméno má jeden nebo dva znaky

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//*[string-length(name()) > 3]
Vyber elementy se jménem delším než tři znaky

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 8 > Vzorek 3

Zobrazení jako strom

//*[contains(name(),'C')]
Vyber všechny elementy, jejichž jméno obsahuje písmeno C

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 8 > Vzorek 2

Zobrazení jako strom

//*[starts-with(name(),'B')]
Vyber všechny elementy, jejichž jméno začíná písmenem B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 8 > Vzorek 1

Zobrazení jako strom

//*[name()='BBB']
Vyber všechny elementy, které se jmenují BBB, ekvivalent k //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 8 << | Předešlý | Následující

Funkce name() vrací jméno elementu, funkce "starts-with" vrací hodnotu "true", pokud první argument začíná řetězcem, který je uveden jako druhý argument. Funkce "contains" vrací hodnotu "true", pokud první argument obsahuje řetězec, který je uveden jako druhý argument.
//*[name()='BBB']
Vyber všechny elementy, které se jmenují BBB, ekvivalent k //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//*[starts-with(name(),'B')]
Vyber všechny elementy, jejichž jméno začíná písmenem B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//*[contains(name(),'C')]
Vyber všechny elementy, jejichž jméno obsahuje písmeno C

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 7 > Vzorek 3

Zobrazení jako strom

//*[count(*)=3]
Vyber elementy, které mají právě tři přímé potomky

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 7 > Vzorek 2

Zobrazení jako strom

//*[count(*)=2]
Vyber elementy, které mají právě dva přímé potomky

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 7 > Vzorek 1

Zobrazení jako strom

//*[count(BBB)=2]
Vyber elementy, které mají právě dva přímé potomky BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 7 << | Předešlý | Následující

Funkce count() vrátí počet vybraných elementů
//*[count(BBB)=2]
Vyber elementy, které mají právě dva přímé potomky BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//*[count(*)=2]
Vyber elementy, které mají právě dva přímé potomky

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//*[count(*)=3]
Vyber elementy, které mají právě tři přímé potomky

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 6 > Vzorek 3

Zobrazení jako strom

//BBB[normalize-space(@name)='bbb']
Vyber elementy BBB, které mají atribut "name" s hodnotou "bbb", přičemž koncové a počáteční mezery jsou před porovnáním odstraněny.

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 6 > Vzorek 2

Zobrazení jako strom

//BBB[@name='bbb']
Vyber elementy BBB, jejichž atribut "name" má hodnotu "bbb"

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 6 > Vzorek 1

Zobrazení jako strom

//BBB[@id='b1']
Vyber elementy BBB, jejichž atribut "id" má hodnotu "b1"

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 6 << | Předešlý | Následující

Hodnoty atributů mohou být použity jako kritérium pro výběr. Funkce "normalize-space" odstraňuje počáteční a koncové mezery a nahrazuje sekvence "whitespace" znaků jedinou mezerou.
//BBB[@id='b1']
Vyber elementy BBB, jejichž atribut "id" má hodnotu "b1"

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//BBB[@name='bbb']
Vyber elementy BBB, jejichž atribut "name" má hodnotu "bbb"

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//BBB[normalize-space(@name)='bbb']
Vyber elementy BBB, které mají atribut "name" s hodnotou "bbb", přičemž koncové a počáteční mezery jsou před porovnáním odstraněny.

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 5 > Vzorek 5

Zobrazení jako strom

//BBB[not(@*)]
Vyber všechny elementy BBB, které nemají žádný atribut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 5 > Vzorek 4

Zobrazení jako strom

//BBB[@*]
Vyber všechny elementy BBB, které mají jakýkoli atribut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 5 > Vzorek 3

Zobrazení jako strom

//BBB[@name]
Vyber všechny elementy BBB, které mají atribut "name"

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 5 > Vzorek 2

Zobrazení jako strom

//BBB[@id]
Vyber všechny elementy BBB, které mají atribut "id"

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 5 > Vzorek 1

Zobrazení jako strom

//@id
Vyber všechny atributy @id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 5 << | Předešlý | Následující

Atributy jsou specifikovány pomocí prefixu "@".
//@id
Vyber všechny atributy @id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//BBB[@id]
Vyber všechny elementy BBB, které mají atribut "id"

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//BBB[@name]
Vyber všechny elementy BBB, které mají atribut "name"

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//BBB[@*]
Vyber všechny elementy BBB, které mají jakýkoli atribut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//BBB[not(@*)]
Vyber všechny elementy BBB, které nemají žádný atribut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 4 > Vzorek 2

Zobrazení jako strom

/AAA/BBB[last()]
Vyber posledního přímého potomka BBB elementu AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 4 > Vzorek 1

Zobrazení jako strom

/AAA/BBB[1]
Vyber prvního přímého potomka BBB elementu AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 4 << | Předešlý | Následující

Výraz v hranatých závorkách může specifikovat další podmínky. Číslo v hranatých závorkách určuje pozici elementu ve vybraném souboru elementů. Funkce "last()" ("poslední") vybírá poslední element ve výběru.
/AAA/BBB[1]
Vyber prvního přímého potomka BBB elementu AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/AAA/BBB[last()]
Vyber posledního přímého potomka BBB elementu AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 3 > Vzorek 3

Zobrazení jako strom

//*
Vyber všechny elementy

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 3 > Vzorek 2

Zobrazení jako strom

/*/*/*/BBB
Vyber všechny elementy BBB, které mají právě tři předky

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 3 > Vzorek 1

Zobrazení jako strom

/AAA/CCC/DDD/*
Vyber všechny elementy, které jsou přímými potomky /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 3 << | Předešlý | Následující

Hvězdička * vybere všechny elementy, které jsou určeny předcházejícím výrazem
/AAA/CCC/DDD/*
Vyber všechny elementy, které jsou přímými potomky /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/*/*/*/BBB
Vyber všechny elementy BBB, které mají právě tři předky

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//*
Vyber všechny elementy

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 2 > Vzorek 2

Zobrazení jako strom

//DDD/BBB
Vyber všechny elementy BBB, které jsou přímými potomky DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 2 > Vzorek 1

Zobrazení jako strom

//BBB
Vyber všechny elementy BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 22 > Vzorek 3

Zobrazení jako strom

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 22 > Vzorek 2

Zobrazení jako strom

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 22 > Vzorek 1

Zobrazení jako strom

//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 22 << | Předešlý | Následující

Operátor "div" provádí dělení (neceločíselné), operátor "mod" vrací zbytek po celočíselném dělení. Funkce "floor" vrací nejvyšší (bližší k plus nekonečnu) celé číslo, které není vyšší než argument. Funkce "ceiling" nejmenší (bližší k minus nekonečnu) celé číslo, které není menší než argument.
//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 21 > Vzorek 6

Zobrazení jako strom

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 21 > Vzorek 5

Zobrazení jako strom

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 21 > Vzorek 4

Zobrazení jako strom

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 21 > Vzorek 3

Zobrazení jako strom

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 21 > Vzorek 2

Zobrazení jako strom

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 21 > Vzorek 1

Zobrazení jako strom

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 21 << | Předešlý | Následující

Osy "ancestor", "descendant", "following", "preceding" a "self" rozdělují dokument (ignorujíc uzly typu atribut a jmenný prostor): nepřekrývají se a dohromady obsahují všechny uzly dokumentu.
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 20 > Vzorek 2

Zobrazení jako strom

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 20 > Vzorek 1

Zobrazení jako strom

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 20 << | Předešlý | Následující

Osa "ancestor-or-self" obsahuje kontextový uzel a všechny jeho předky. Proto bude vždy obsahovat kořen dokumentu.
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 2 << | Předešlý | Následující

Pokud výraz začíná // (dvěma lomítky), pak jsou vybrány všechny elementy kdekoli v dokumentu, které splňují následující kritéria
//BBB
Vyber všechny elementy BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//DDD/BBB
Vyber všechny elementy BBB, které jsou přímými potomky DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 1 > Vzorek 3

Zobrazení jako strom

/AAA/DDD/BBB
Vyber všechny elementy BBB, které jsou přímými potomky elementů DDD, které jsou přímými potomky kořenového elemntu AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 1 > Vzorek 2

Zobrazení jako strom

/AAA/CCC
Vyber všechny elementy CCC, které jsou přímými potomky kořenového elementu AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 1 > Vzorek 1

Zobrazení jako strom

/AAA
Vyber kořenový element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 19 > Vzorek 2

Zobrazení jako strom

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 19 > Vzorek 1

Zobrazení jako strom

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 19 << | Předešlý | Následující

Osa "descendant-or-self" obsahuje kontextový uzel a všechny jeho potomky
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 18 > Vzorek 2

Zobrazení jako strom

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 18 > Vzorek 1

Zobrazení jako strom

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 18 << | Předešlý | Následující

Osa "preceding" (předcházející) obsahuje všechny uzly v tom samém dokumentu, které se vyskytují po uzlu, který je v kontextu, a to podle pořadí v dokumentu ("document order") a vyjma jakýchkoli předků, atributů a uzlů jmenných prostorů.
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 17 > Vzorek 2

Zobrazení jako strom

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 17 > Vzorek 1

Zobrazení jako strom

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 17 << | Předešlý | Následující

Osa "following" ("následující") obsahuje všechny uzly v tom samém dokumentu, které se vyskytují po uzlu, který je v kontextu, a to podle pořadí v dokumentu ("document order") a vyjma jakýchkoli potomků, atributů a uzlů jmenných prostorů.
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 16 > Vzorek 2

Zobrazení jako strom

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 16 > Vzorek 1

Zobrazení jako strom

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 16 << | Předešlý | Následující

Osa "preceding-sibling" obsahuje všechny předcházející sourozence uzlu, který je v kontextu.
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 15 > Vzorek 2

Zobrazení jako strom

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 15 > Vzorek 1

Zobrazení jako strom

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 15 << | Předešlý | Následující

Osa "following-sibling" obsahuje všechny následující sourozence uzlu, který je v kontextu.
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 14 > Vzorek 2

Zobrazení jako strom

//FFF/ancestor::*
Vyber všechny předky elementů FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 14 > Vzorek 1

Zobrazení jako strom

/AAA/BBB/DDD/CCC/EEE/ancestor::*
Vyber všechny elementy, které jsou uvedeny v této absolutní cestě

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 14 << | Předešlý | Následující

Osa předků obsahuje předku uzlu, který je v kontextu; předkové tohoto uzlu jsou rodiče, rodiče rodičů atd. Proto osa předků vždy obsahuje kořen dokumentu, pokud ovšem uzlem v kontextu není sám kořen dokumentu.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Vyber všechny elementy, které jsou uvedeny v této absolutní cestě

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//FFF/ancestor::*
Vyber všechny předky elementů FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 13 > Vzorek 1

Zobrazení jako strom

//DDD/parent::*
Vyber všechny rodiče elementů DDD

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 13 << | Předešlý | Následující

Osa rodičů (parent axis) obsahuje rodiče uzlu, který je v kontextu - pokud ovšem existují.
//DDD/parent::*
Vyber všechny rodiče elementů DDD

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 12 > Vzorek 4

Zobrazení jako strom

//CCC/descendant::DDD
Vyber elemnty DDD, které mají element CCC jako předka

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 12 > Vzorek 3

Zobrazení jako strom

//CCC/descendant::*
Vyber všechny elementy, které mají za předka element CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 12 > Vzorek 2

Zobrazení jako strom

/AAA/BBB/descendant::*
Vyber všechny potomky elementu /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 12 > Vzorek 1

Zobrazení jako strom

/descendant::*
Vyber všechny potomky kořenového elementu - tj. všechny elementy

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 12 << | Předešlý | Následující

Osa potomků (descendant axis) obsahuje potomky uzlu, který je v kontextu; potomek je přímý potomek (dítě, "child") nebo přímý potomek přímého potomka atd. Proto osa potomků nikdy neobsahuje uzly typu atribut nebo jmenný prostor.
/descendant::*
Vyber všechny potomky kořenového elementu - tj. všechny elementy

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/AAA/BBB/descendant::*
Vyber všechny potomky elementu /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//CCC/descendant::*
Vyber všechny elementy, které mají za předka element CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
//CCC/descendant::DDD
Vyber elemnty DDD, které mají element CCC jako předka

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 11 > Vzorek 5

Zobrazení jako strom

/child::AAA/BBB
Obě možnosti mohou být kombinovány

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 11 > Vzorek 4

Zobrazení jako strom

/child::AAA/child::BBB
Ekvivalent k /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 11 > Vzorek 3

Zobrazení jako strom

/AAA/BBB
Ekvivalent k /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 11 > Vzorek 2

Zobrazení jako strom

/child::AAA
Ekvivalent k /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 11 > Vzorek 1

Zobrazení jako strom

/AAA
Ekvivalent k /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 11 << | Předešlý | Následující

Osa přímých potomků (child axis) obsahuje všechny přímé potomky uzlu, který je v kontextu. Tato osa je implicitní a může být vynechána.
/AAA
Ekvivalent k /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/child::AAA
Ekvivalent k /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/AAA/BBB
Ekvivalent k /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/child::AAA/child::BBB
Ekvivalent k /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/child::AAA/BBB
Obě možnosti mohou být kombinovány

<AAA>
<BBB/>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 10 > Vzorek 3

Zobrazení jako strom

/AAA/EEE | //DDD/CCC | /AAA | //BBB
Počet kombinací není omezen

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 10 > Vzorek 2

Zobrazení jako strom

/AAA/EEE | //BBB
Vyber všechny elementy BBB a elementy EEE, které jsou přímými potomky kořenového elementu AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
Příklad 10 > Vzorek 1

Zobrazení jako strom

//CCC | //BBB
Vyber všechny elementy CCC a BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Otevřít příklad v XLabu. | Zpět na příklad


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 10 << | Předešlý | Následující

Několik výrazů může být kombinováno pomocí separátoru |
//CCC | //BBB
Vyber všechny elementy CCC a BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/AAA/EEE | //BBB
Vyber všechny elementy BBB a elementy EEE, které jsou přímými potomky kořenového elementu AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
Počet kombinací není omezen

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


XPath Tutorial

English | >> česky << | Nederlands | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Úvod / Hledej / ZVON
>> Příklad 1 << | Předešlý | Následující

Základní syntax jazyka XPath je podobný adresování v souborovém systému (filesystem). Pokud výraz začíná lomítkem (slash) / , pak reprezentuje absolutní cestu k požadovanému elementu.
/AAA
Vyber kořenový element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/AAA/CCC
Vyber všechny elementy CCC, které jsou přímými potomky kořenového elementu AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)
/AAA/DDD/BBB
Vyber všechny elementy BBB, které jsou přímými potomky elementů DDD, které jsou přímými potomky kořenového elemntu AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Otevřít příklad v XLabu. | Zobrazení jako strom (JPG)


English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Start | Index

Miloslav Nic [ nicmila@systinet.com ]

Jiří Jirát [ Jiri.Jirat@systinet.com ]

Vertaling: David Duymelinck

XPath handleiding

Inleiding

XPath is beschreven in XPath 1.0 standard. In deze handleiding worden verschillende XPath kenmerken gedemonstreerd op vele voorbeelden.

U kan starten bij de link hieronder:

  • Voorbeeld 1

of een deel kiezen uit het linkerframe van de pagina.

Bekijk ook

  • XLab - interactive XPath experiments
  • XML handleiding
  • DTD tutorial
  • XML Namespace handleiding
  • XHTML 1.0 reference
  • XHTML Basic reference

Credits

  • Miloslav Nic - programming and examples
  • Jiri Jirat - tree view of examples
  • David Duymelinck - Dutch translation
Zoektermen:: tutorial, transformations, XSLT, XML, XPath

Deze teksten kunnen ook gedownload worden voor off-line gebruik.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License"

The programs used to prepare this reference are covered by GNU General Public License"


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano
Begin / Zoek / ZVON
  • Examples
  • >> XPaths <<
//* (boomstructuur)
/AAA (boomstructuur)
/AAA (boomstructuur)
//BBB (boomstructuur)
//@id (boomstructuur)
/AAA/CCC (boomstructuur)
/AAA/BBB (boomstructuur)
//DDD/BBB (boomstructuur)
//BBB[@*] (boomstructuur)
/*/*/*/BBB (boomstructuur)
//BBB[@id] (boomstructuur)
/child::AAA (boomstructuur)
/AAA/BBB[1] (boomstructuur)
/AAA/DDD/BBB (boomstructuur)
//BBB[@name] (boomstructuur)
//CCC | //BBB (boomstructuur)
//GGG/self::* (boomstructuur)
/descendant::* (boomstructuur)
/AAA/CCC/DDD/* (boomstructuur)
//BBB[not(@*)] (boomstructuur)
/child::AAA/BBB (boomstructuur)
//DDD/parent::* (boomstructuur)
//BBB[@id='b1'] (boomstructuur)
//*[count(*)=2] (boomstructuur)
//*[count(*)=3] (boomstructuur)
/AAA/EEE | //BBB (boomstructuur)
/AAA/BBB[last()] (boomstructuur)
//FFF/ancestor::* (boomstructuur)
//GGG/ancestor::* (boomstructuur)
//*[count(BBB)=2] (boomstructuur)
//*[name()='BBB'] (boomstructuur)
//ZZZ/following::* (boomstructuur)
//GGG/preceding::* (boomstructuur)
//GGG/following::* (boomstructuur)
//GGG/preceding::* (boomstructuur)
//BBB[@name='bbb'] (boomstructuur)
//CCC/descendant::* (boomstructuur)
//GGG/descendant::* (boomstructuur)
//CCC/descendant::DDD (boomstructuur)
/AAA/XXX/following::* (boomstructuur)
/AAA/XXX/preceding::* (boomstructuur)
/child::AAA/child::BBB (boomstructuur)
/AAA/BBB/descendant::* (boomstructuur)
//GGG/ancestor-or-self::* (boomstructuur)
//*[contains(name(),'C')] (boomstructuur)
//CCC/following-sibling::* (boomstructuur)
//CCC/preceding-sibling::* (boomstructuur)
//CCC/descendant-or-self::* (boomstructuur)
//BBB[position() mod 2 = 0 ] (boomstructuur)
//*[starts-with(name(),'B')] (boomstructuur)
/AAA/BBB/following-sibling::* (boomstructuur)
/AAA/XXX/preceding-sibling::* (boomstructuur)
/AAA/XXX/descendant-or-self::* (boomstructuur)
//*[string-length(name()) = 3] (boomstructuur)
//*[string-length(name()) < 3] (boomstructuur)
//*[string-length(name()) > 3] (boomstructuur)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (boomstructuur)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (boomstructuur)
//BBB[normalize-space(@name)='bbb'] (boomstructuur)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (boomstructuur)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (boomstructuur)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (boomstructuur)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (boomstructuur)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano
Begin / Zoek / ZVON
  • >> Examples <<
  • XPaths
Voorbeeld 1
De basis XPath schrijfwijze kan je vergelijken met het addresseren van bestanden door het besturingssysteem. Als het path begint met een schuine streep, /, dan stelt het een absoluut path voor bij het verplichte element
Voorbeeld 2
Als het path begint met // dan zullen alle elementen van het document die overeenkomen met de erna volgende criteria geselecteerd worden.
Voorbeeld 3
Een ster * selecteert alle elementen gelocaliseerd door het voorgaande path.
Voorbeeld 4
Een beschrijving tussen vierkante haken kan een element meer specifïen. Een nummer tussen de haken geeft de positie van het element aan in het geselecteerde path. De functie last() selecteert het laatste element van de selectie.
Voorbeeld 5
Attributen worden gespecifïeerd met het @ voorvoegsel.
Voorbeeld 6
Attribuutwaarden kunnen gebruikt worden als selectie criteria. De functie normalize-space verwijdert voorloop spaties en vervangt spatie reeksen met een enkele spatie.
Voorbeeld 7
Functie count() telt het aantal geselecteerde elementen
Voorbeeld 8
Functie name() geeft de naam van het element weer, de functie starts-with wordt van toepassing als het begin van het eerste argument gelijk is aan het tweede argument en de functie contains wordt van toepassing als het eerste argument het tweede argument bevat
Voorbeeld 9
De functie string-length geeft het aantal tekens weer van een tekenreeks. U moet &lt; gebruiken als vervanging voor < en &gt; als vervanging voor >
Voorbeeld 10
Verschillende paths kunnen gecombineerd worden met de | scheider
Voorbeeld 11
De child spil bevat de kinderen van de context geleding. De kind spil is de standaard spil en kan weg gelaten worden.
Voorbeeld 12
De descendant spil bevat de onderdanen van de context geleding, Een onderdaan is een kind of een kind van een kind, zodoende bevat een onderdaan nooit attribuut of namespace geledingen.
Voorbeeld 13
De parent spil bevat de ouder van de context geleding, als er al een is
Voorbeeld 14
De ancestor spil bevat de onderdanen van de context geleding. De onderdanen van de context geleding bestaan uit de ouder van de context geleding en de ouder van de ouder enzovoort. Zodoende dat de onderdaan spil altijd de basis geleding bevat tenzij de contexxt gelding de basis geleding is.
Voorbeeld 15
De following-sibling spil bevat alle volgende afstammelingen van de context geleding.
Voorbeeld 16
De preceding-sibling spil bevat alle voorgaande afstammelingen van de context geleding.
Voorbeeld 17
De following spil bevat alle geledingen die in hetzelfde document staan als de context geleding die na de context geleding komen in het document behalve de onderdanige elementen en de attribuut en namespace geledingen.
Voorbeeld 18
De preceding spil bevat alle geledingen die in hetzelfde documentstaan als de context geleding voor de context geleding behalve de ouder elementen en de atribuut en namespace geledingen.
Voorbeeld 19
De descendant-or-self spil bevat de context geleding en zijn onderdanige elementen.
Voorbeeld 20
De ancestor-or-self spil bevat de context geleding en zijn ouders zodoende dat de ouder spil altijd de basis geleding bevat.
Voorbeeld 21
De ancestor, descendant, following, preceding en self spillen verdelen een document, niet kijkende naar de attribuut en namespace geledingen. Ze overlappen elkaar niet maar samen kunnen ze wel alle geledingen bevatten van het document.
Voorbeeld 22
De div operator maakt komma getal delingen; De mod operator geeft de rest weer van een staartdeling. De floor functie geeft het grootste getal weer, dichtst bij het positieve oneindige, dat niet groter is dan het argument en geheel is. De ceiling functie geeft het kleinste getal weer, dichtst bij het negatieve oneindige, dat niet kleiner is dan het het argument en geheel is.


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 9 > 3

Boomstructuur weergave

//*[string-length(name()) > 3]
Selecteert alle elementen die een naam hebben die langer is dan drie tekens

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 9 > 2

Boomstructuur weergave

//*[string-length(name()) < 3]
Selecteert alle elementen die een naam hebben met een of twee tekens

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 9 > 1

Boomstructuur weergave

//*[string-length(name()) = 3]
Selecteert alle elementen met een drieletterige naam

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 9 << | Vorig | Volgend

De functie string-length geeft het aantal tekens weer van een tekenreeks. U moet &lt; gebruiken als vervanging voor < en &gt; als vervanging voor >
//*[string-length(name()) = 3]
Selecteert alle elementen met een drieletterige naam

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//*[string-length(name()) < 3]
Selecteert alle elementen die een naam hebben met een of twee tekens

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//*[string-length(name()) > 3]
Selecteert alle elementen die een naam hebben die langer is dan drie tekens

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 8 > 3

Boomstructuur weergave

//*[contains(name(),'C')]
Selecteert alle elementen die C in hun naam hebben

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 8 > 2

Boomstructuur weergave

//*[starts-with(name(),'B')]
Selecteert alle elementen waarvan de naam begint met B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 8 > 1

Boomstructuur weergave

//*[name()='BBB']
Selecteert alle BBB elementen, //BBB geeft hetzelfde resultaat weer

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 8 << | Vorig | Volgend

Functie name() geeft de naam van het element weer, de functie starts-with wordt van toepassing als het begin van het eerste argument gelijk is aan het tweede argument en de functie contains wordt van toepassing als het eerste argument het tweede argument bevat
//*[name()='BBB']
Selecteert alle BBB elementen, //BBB geeft hetzelfde resultaat weer

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//*[starts-with(name(),'B')]
Selecteert alle elementen waarvan de naam begint met B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//*[contains(name(),'C')]
Selecteert alle elementen die C in hun naam hebben

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 7 > 3

Boomstructuur weergave

//*[count(*)=3]
Selecteert alle elementen die drie kinderen hebben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 7 > 2

Boomstructuur weergave

//*[count(*)=2]
Selecteert alle elementen die twee kinderen hebben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 7 > 1

Boomstructuur weergave

//*[count(BBB)=2]
Selecteert alle elementen die twee BBB kinderen bevatten

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 7 << | Vorig | Volgend

Functie count() telt het aantal geselecteerde elementen
//*[count(BBB)=2]
Selecteert alle elementen die twee BBB kinderen bevatten

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//*[count(*)=2]
Selecteert alle elementen die twee kinderen hebben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//*[count(*)=3]
Selecteert alle elementen die drie kinderen hebben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 6 > 3

Boomstructuur weergave

//BBB[normalize-space(@name)='bbb']
Selecteert de BBB elementen die het name attribuut bevatten met de waarde bbb na alle voorloop spaties verijdert te hebben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 6 > 2

Boomstructuur weergave

//BBB[@name='bbb']
Selecteert de BBB elementen die het attribuut name bevatten en als attribuutwaarde bbb hebben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 6 > 1

Boomstructuur weergave

//BBB[@id='b1']
Selecteert de BBB elementen die het attribuut id bevatten en b1 als attribuutwaarde hebben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 6 << | Vorig | Volgend

Attribuutwaarden kunnen gebruikt worden als selectie criteria. De functie normalize-space verwijdert voorloop spaties en vervangt spatie reeksen met een enkele spatie.
//BBB[@id='b1']
Selecteert de BBB elementen die het attribuut id bevatten en b1 als attribuutwaarde hebben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//BBB[@name='bbb']
Selecteert de BBB elementen die het attribuut name bevatten en als attribuutwaarde bbb hebben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//BBB[normalize-space(@name)='bbb']
Selecteert de BBB elementen die het name attribuut bevatten met de waarde bbb na alle voorloop spaties verijdert te hebben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 5 > 5

Boomstructuur weergave

//BBB[not(@*)]
Selecteert alle BBB elementen zonder een attribuut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 5 > 4

Boomstructuur weergave

//BBB[@*]
Selecteert alle BBB elementen die een attribuut hebben

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 5 > 3

Boomstructuur weergave

//BBB[@name]
Selecteert alle BBB elementen met het name atribuut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 5 > 2

Boomstructuur weergave

//BBB[@id]
Selecteert alle BBB elementen met een id attribuut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 5 > 1

Boomstructuur weergave

//@id
Selecteert alle id attributen

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 5 << | Vorig | Volgend

Attributen worden gespecifïeerd met het @ voorvoegsel.
//@id
Selecteert alle id attributen

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//BBB[@id]
Selecteert alle BBB elementen met een id attribuut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//BBB[@name]
Selecteert alle BBB elementen met het name atribuut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//BBB[@*]
Selecteert alle BBB elementen die een attribuut hebben

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//BBB[not(@*)]
Selecteert alle BBB elementen zonder een attribuut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 4 > 2

Boomstructuur weergave

/AAA/BBB[last()]
Selecteert het laatste BBB kind van het AAA element

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 4 > 1

Boomstructuur weergave

/AAA/BBB[1]
Selecteert het eerste BBB kind van het AAA element

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 4 << | Vorig | Volgend

Een beschrijving tussen vierkante haken kan een element meer specifïen. Een nummer tussen de haken geeft de positie van het element aan in het geselecteerde path. De functie last() selecteert het laatste element van de selectie.
/AAA/BBB[1]
Selecteert het eerste BBB kind van het AAA element

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/AAA/BBB[last()]
Selecteert het laatste BBB kind van het AAA element

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 3 > 3

Boomstructuur weergave

//*
Selecteert alle elementen

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 3 > 2

Boomstructuur weergave

/*/*/*/BBB
Selecteert alle BBB elementen die 3 voorouders hebben

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 3 > 1

Boomstructuur weergave

/AAA/CCC/DDD/*
Selecteert alle elementen die zich bevinden in het path /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 3 << | Vorig | Volgend

Een ster * selecteert alle elementen gelocaliseerd door het voorgaande path.
/AAA/CCC/DDD/*
Selecteert alle elementen die zich bevinden in het path /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/*/*/*/BBB
Selecteert alle BBB elementen die 3 voorouders hebben

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//*
Selecteert alle elementen

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 2 > 2

Boomstructuur weergave

//DDD/BBB
Selecteert alle BBB elementen die kind zijn van DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 2 > 1

Boomstructuur weergave

//BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 22 > 3

Boomstructuur weergave

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 22 > 2

Boomstructuur weergave

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 22 > 1

Boomstructuur weergave

//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 22 << | Vorig | Volgend

De div operator maakt komma getal delingen; De mod operator geeft de rest weer van een staartdeling. De floor functie geeft het grootste getal weer, dichtst bij het positieve oneindige, dat niet groter is dan het argument en geheel is. De ceiling functie geeft het kleinste getal weer, dichtst bij het negatieve oneindige, dat niet kleiner is dan het het argument en geheel is.
//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 21 > 6

Boomstructuur weergave

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 21 > 5

Boomstructuur weergave

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 21 > 4

Boomstructuur weergave

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 21 > 3

Boomstructuur weergave

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 21 > 2

Boomstructuur weergave

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 21 > 1

Boomstructuur weergave

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 21 << | Vorig | Volgend

De ancestor, descendant, following, preceding en self spillen verdelen een document, niet kijkende naar de attribuut en namespace geledingen. Ze overlappen elkaar niet maar samen kunnen ze wel alle geledingen bevatten van het document.
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 20 > 2

Boomstructuur weergave

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 20 > 1

Boomstructuur weergave

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 20 << | Vorig | Volgend

De ancestor-or-self spil bevat de context geleding en zijn ouders zodoende dat de ouder spil altijd de basis geleding bevat.
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 2 << | Vorig | Volgend

Als het path begint met // dan zullen alle elementen van het document die overeenkomen met de erna volgende criteria geselecteerd worden.
//BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//DDD/BBB
Selecteert alle BBB elementen die kind zijn van DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 1 > 3

Boomstructuur weergave

/AAA/DDD/BBB
Selecteert alle BBB elementen die kind zijn van de DDD elementen die op hun beurt kind zijn van het basis element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 1 > 2

Boomstructuur weergave

/AAA/CCC
Selecteert alle CCC elementen die kind zijn van het basis element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 1 > 1

Boomstructuur weergave

/AAA
Selecteert het basis element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 19 > 2

Boomstructuur weergave

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 19 > 1

Boomstructuur weergave

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 19 << | Vorig | Volgend

De descendant-or-self spil bevat de context geleding en zijn onderdanige elementen.
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 18 > 2

Boomstructuur weergave

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 18 > 1

Boomstructuur weergave

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 18 << | Vorig | Volgend

De preceding spil bevat alle geledingen die in hetzelfde documentstaan als de context geleding voor de context geleding behalve de ouder elementen en de atribuut en namespace geledingen.
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 17 > 2

Boomstructuur weergave

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 17 > 1

Boomstructuur weergave

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 17 << | Vorig | Volgend

De following spil bevat alle geledingen die in hetzelfde document staan als de context geleding die na de context geleding komen in het document behalve de onderdanige elementen en de attribuut en namespace geledingen.
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 16 > 2

Boomstructuur weergave

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 16 > 1

Boomstructuur weergave

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 16 << | Vorig | Volgend

De preceding-sibling spil bevat alle voorgaande afstammelingen van de context geleding.
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 15 > 2

Boomstructuur weergave

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 15 > 1

Boomstructuur weergave

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 15 << | Vorig | Volgend

De following-sibling spil bevat alle volgende afstammelingen van de context geleding.
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 14 > 2

Boomstructuur weergave

//FFF/ancestor::*
Selecteert de onderdanen van het FFF element

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 14 > 1

Boomstructuur weergave

/AAA/BBB/DDD/CCC/EEE/ancestor::*
Selecteert alle elementen van dit exacte path

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 14 << | Vorig | Volgend

De ancestor spil bevat de onderdanen van de context geleding. De onderdanen van de context geleding bestaan uit de ouder van de context geleding en de ouder van de ouder enzovoort. Zodoende dat de onderdaan spil altijd de basis geleding bevat tenzij de contexxt gelding de basis geleding is.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Selecteert alle elementen van dit exacte path

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//FFF/ancestor::*
Selecteert de onderdanen van het FFF element

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 13 > 1

Boomstructuur weergave

//DDD/parent::*
Selecteert alle ouders van het DDD element

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 13 << | Vorig | Volgend

De parent spil bevat de ouder van de context geleding, als er al een is
//DDD/parent::*
Selecteert alle ouders van het DDD element

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 12 > 4

Boomstructuur weergave

//CCC/descendant::DDD
Selecteert alle DDD elementen die een CCC element als onderdaan hebben

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 12 > 3

Boomstructuur weergave

//CCC/descendant::*
Selecteert alle element die het CCC element als onderdaan hebben

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 12 > 2

Boomstructuur weergave

/AAA/BBB/descendant::*
Selecteert alle onderdanen van /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 12 > 1

Boomstructuur weergave

/descendant::*
Selecteert alle onderdanen van de basisdocument element of anders gezegd alle elementen van het document

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 12 << | Vorig | Volgend

De descendant spil bevat de onderdanen van de context geleding, Een onderdaan is een kind of een kind van een kind, zodoende bevat een onderdaan nooit attribuut of namespace geledingen.
/descendant::*
Selecteert alle onderdanen van de basisdocument element of anders gezegd alle elementen van het document

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/AAA/BBB/descendant::*
Selecteert alle onderdanen van /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//CCC/descendant::*
Selecteert alle element die het CCC element als onderdaan hebben

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
//CCC/descendant::DDD
Selecteert alle DDD elementen die een CCC element als onderdaan hebben

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 11 > 5

Boomstructuur weergave

/child::AAA/BBB
De mogelijkheden mogen gecombineerd worden

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 11 > 4

Boomstructuur weergave

/child::AAA/child::BBB
Is hetzelfde als /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 11 > 3

Boomstructuur weergave

/AAA/BBB
Is hetzelfde als /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 11 > 2

Boomstructuur weergave

/child::AAA
Is hetzelde als /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 11 > 1

Boomstructuur weergave

/AAA
Is hetzelfde als /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 11 << | Vorig | Volgend

De child spil bevat de kinderen van de context geleding. De kind spil is de standaard spil en kan weg gelaten worden.
/AAA
Is hetzelfde als /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/child::AAA
Is hetzelde als /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/AAA/BBB
Is hetzelfde als /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/child::AAA/child::BBB
Is hetzelfde als /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/child::AAA/BBB
De mogelijkheden mogen gecombineerd worden

<AAA>
<BBB/>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 10 > 3

Boomstructuur weergave

/AAA/EEE | //DDD/CCC | /AAA | //BBB
Het aantal combinaties is vrij te kiezen

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 10 > 2

Boomstructuur weergave

/AAA/EEE | //BBB
Selecteert alle elementen BBB elementen en EEE elementen die kind zijn van het basiselement AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
Voorbeeld 10 > 1

Boomstructuur weergave

//CCC | //BBB
Selecteert alle elementen CCC en BBB elemeneten

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open het voorbeeld in Xlab | Naar het voorbeeld


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 10 << | Vorig | Volgend

Verschillende paths kunnen gecombineerd worden met de | scheider
//CCC | //BBB
Selecteert alle elementen CCC en BBB elemeneten

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/AAA/EEE | //BBB
Selecteert alle elementen BBB elementen en EEE elementen die kind zijn van het basiselement AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
Het aantal combinaties is vrij te kiezen

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


XPath Tutorial

English | česky | >> Nederlands << | Français | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Begin / Zoek / ZVON
>> Voorbeeld 1 << | Vorig | Volgend

De basis XPath schrijfwijze kan je vergelijken met het addresseren van bestanden door het besturingssysteem. Als het path begint met een schuine streep, /, dan stelt het een absoluut path voor bij het verplichte element
/AAA
Selecteert het basis element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/AAA/CCC
Selecteert alle CCC elementen die kind zijn van het basis element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)
/AAA/DDD/BBB
Selecteert alle BBB elementen die kind zijn van de DDD elementen die op hun beurt kind zijn van het basis element AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Open het voorbeeld in Xlab | Boomstructuur weergave (JPG)


English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Début | Index

Miloslav Nic [ nicmila@systinet.com ]

Jiří Jirát [ Jiri.Jirat@systinet.com ]

Traduction: Stéphane Ligoza

Tutoriel sur XPath

Introduction

XPath est décrit sur : XPath 1.0 standard . Dans ce tutoriel une sélection des caractéristiques de XPath sont démontrées dans de nombreux exemples.

Vous pouvez commencer par :

  • Exemple 1

ou par la frame de gauche.

Voir aussi :

  • XLab - Expériences intéractives avec XPath
  • Tutoriel sur XML
  • Tutoriel sur les DTD
  • Tutoriel sur les espaces nominaux (Namespaces)
  • Référence XHTML 1.0
  • Référence XHTML de base

Crédits

  • Miloslav Nic - Développement et exemples
  • Jiri Jirat - Arborescence des exemples
Mots-clés relatifs: tutorial, transformations, XSLT, XML, XPath

This material can be downloaded for off-line use.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License"

The programs used to prepare this reference are covered by GNU General Public License"


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano
Intro / Chercher / ZVON
  • Examples
  • >> XPaths <<
//* (arbre)
/AAA (arbre)
/AAA (arbre)
//BBB (arbre)
//@id (arbre)
/AAA/CCC (arbre)
/AAA/BBB (arbre)
//DDD/BBB (arbre)
//BBB[@*] (arbre)
/*/*/*/BBB (arbre)
//BBB[@id] (arbre)
/child::AAA (arbre)
/AAA/BBB[1] (arbre)
/AAA/DDD/BBB (arbre)
//BBB[@name] (arbre)
//CCC | //BBB (arbre)
//GGG/self::* (arbre)
/descendant::* (arbre)
/AAA/CCC/DDD/* (arbre)
//BBB[not(@*)] (arbre)
/child::AAA/BBB (arbre)
//DDD/parent::* (arbre)
//BBB[@id='b1'] (arbre)
//*[count(*)=2] (arbre)
//*[count(*)=3] (arbre)
/AAA/EEE | //BBB (arbre)
/AAA/BBB[last()] (arbre)
//FFF/ancestor::* (arbre)
//GGG/ancestor::* (arbre)
//*[count(BBB)=2] (arbre)
//*[name()='BBB'] (arbre)
//ZZZ/following::* (arbre)
//GGG/preceding::* (arbre)
//GGG/following::* (arbre)
//GGG/preceding::* (arbre)
//BBB[@name='bbb'] (arbre)
//CCC/descendant::* (arbre)
//GGG/descendant::* (arbre)
//CCC/descendant::DDD (arbre)
/AAA/XXX/following::* (arbre)
/AAA/XXX/preceding::* (arbre)
/child::AAA/child::BBB (arbre)
/AAA/BBB/descendant::* (arbre)
//GGG/ancestor-or-self::* (arbre)
//*[contains(name(),'C')] (arbre)
//CCC/following-sibling::* (arbre)
//CCC/preceding-sibling::* (arbre)
//CCC/descendant-or-self::* (arbre)
//BBB[position() mod 2 = 0 ] (arbre)
//*[starts-with(name(),'B')] (arbre)
/AAA/BBB/following-sibling::* (arbre)
/AAA/XXX/preceding-sibling::* (arbre)
/AAA/XXX/descendant-or-self::* (arbre)
//*[string-length(name()) = 3] (arbre)
//*[string-length(name()) < 3] (arbre)
//*[string-length(name()) > 3] (arbre)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (arbre)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (arbre)
//BBB[normalize-space(@name)='bbb'] (arbre)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (arbre)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (arbre)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (arbre)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (arbre)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano
Intro / Chercher / ZVON
  • >> Examples <<
  • XPaths
Exemple 1
La base de la syntaxe XPATH est semblable à celle de l'adressage du système de fichiers. Si le chemin commence par '/', alors il représente un chemin absolu vers l'élément requis.
Exemple 2
Si le chemin commence par '//', alors tous les éléments du document qui correspondent au critère qui suit sont sélectionnés.
Exemple 3
L'étoile * sélectionne tous les éléments localisés par ce qui la précède dans le chemin
Exemple 4
Une expression entre crochets peut spécifier plus précisément un élément. Un nombre entre crochets donne la position d'un élément dans le jeu sélectionné. La fonction last sélectionne le dernier élément du jeu
Exemple 5
Les attributs sont spécifiés par le prefixe @.
Exemple 6
Les valeurs d'attributs peuvent être utilisées comme critère de sélection. La fonction normalize-space supprime les espaces de début et de fin puis remplace les séquences d'espaces blancs par un seul espace.
Exemple 7
La fonction count() compte le nombre d'éléments sélectionnés.
Exemple 8
La fonction name() retourne le nom de l'élément, la fonction start-with retourne vrai si la chaîne du premier argument commence par celle du deuxième et la fonction contains retourne vrai si la chaîne du premier argument contient celle du deuxième
Exemple 9
La fonction string-length retourne le nombre de caractères dans une chaîne. Vous devez utiliser &lt; comme substitutif de < et &gt comme substitutif de >
Exemple 10
Plusieurs chemins peuvent être combinés avec le séparateur |
Exemple 11
L'axe enfant contient les enfants du noeud contextuel. L'axe enfant est celui par défaut et il peut être omis
Exemple 12
l'axe descendant (descendant) contient les descendants du noeud contextuel; un descendant est un enfant ou un petit enfant etc... Aussi, l'axe descendant ne contient jamais de noeud de type attribut ou des noms d'espace.
Exemple 13
L'axe "parent" contient le parent du noeud contextuel s'il en a un
Exemple 14
l'axe ancêtre (ancestor) contient les ancêtres du noeud contextuel; cela comprend son parent et les parents des parents etc... Aussi, cet axe contient toujours le noeud racine, sauf si le noeud contextuel est lui-même la racine.
Exemple 15
l'axe 'following-sibling' contient tous les noeuds frères qui suivent le noeud contextuel.
Exemple 16
L'axe 'preceding-sibling' contient tous les frères prédécesseurs du noeud contextuel; si le noeud contextuel est un attribut ou un espace de noms, la cible précédente est vide.
Exemple 17
l'axe suivant (following) tous les noeuds du même document que le noeud contextuel qui sont après le noeud contextuel dans l'ordre du document, à l'exclusion de tout descendant, des attributs et des espaces de noms.
Exemple 18
l'axe cible précédente (preceding-sibling) contient tous les prédécesseurs du noeud contextuel; si le noeud contextuel est un attribut ou un espace de noms, la cible précédente est vide.
Exemple 19
L'axe "descendant-or-self" contient le noeud contextuel et ses descendants
Exemple 20
L'axe ancestor-or-self contient le noeud contextuel et ses ancêtres; ainsi l'axe ancestor-or-self contient toujours le noeud racine
Exemple 21
Les axes ancestors, descendants, following, preceding et self partitionnent un document (ignorant les attributs et les noeuds d'espace de nom) : il ne se chevauchent pas et ensemble ils contiennent tous les noeuds d'un document
Exemple 22
L'opérateur div réalise une division à virgule flottante, l'opérateur mod retourne le reste d'une division. La fonction floor() retourne le plus grand nombre (le plus près de l'infini positif) qui n'est pas plus grand que l'argument et qui est un entier. La fonction ceiling() retourne le plus petit nombre (le plus près de l'infini négatif) qui n'est pas plus petit que l'argument et qui est un entier


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 9 > Echantillon 3

vue d'arbre

//*[string-length(name()) > 3]

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 9 > Echantillon 2

vue d'arbre

//*[string-length(name()) < 3]

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 9 > Echantillon 1

vue d'arbre

//*[string-length(name()) = 3]

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 9 << | Précédent | Suivant

La fonction string-length retourne le nombre de caractères dans une chaîne. Vous devez utiliser &lt; comme substitutif de < et &gt comme substitutif de >
//*[string-length(name()) = 3]

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//*[string-length(name()) < 3]

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//*[string-length(name()) > 3]

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 8 > Echantillon 3

vue d'arbre

//*[contains(name(),'C')]

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 8 > Echantillon 2

vue d'arbre

//*[starts-with(name(),'B')]

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 8 > Echantillon 1

vue d'arbre

//*[name()='BBB']

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 8 << | Précédent | Suivant

La fonction name() retourne le nom de l'élément, la fonction start-with retourne vrai si la chaîne du premier argument commence par celle du deuxième et la fonction contains retourne vrai si la chaîne du premier argument contient celle du deuxième
//*[name()='BBB']

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//*[starts-with(name(),'B')]

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//*[contains(name(),'C')]

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 7 > Echantillon 3

vue d'arbre

//*[count(*)=3]
Sélectionne les éléments ayant trois enfants

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 7 > Echantillon 2

vue d'arbre

//*[count(*)=2]
Sélectionne les éléments ayant deux enfants

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 7 > Echantillon 1

vue d'arbre

//*[count(BBB)=2]
Sélectionne les éléments ayant deux enfants BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 7 << | Précédent | Suivant

La fonction count() compte le nombre d'éléments sélectionnés.
//*[count(BBB)=2]
Sélectionne les éléments ayant deux enfants BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//*[count(*)=2]
Sélectionne les éléments ayant deux enfants

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//*[count(*)=3]
Sélectionne les éléments ayant trois enfants

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 6 > Echantillon 3

vue d'arbre

//BBB[normalize-space(@name)='bbb']
Sélectionne tous les éléments BBB ayant un attribut name dont la valeur est bbb. Les espaces de début de de fin sont supprimés avant la comparaison

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 6 > Echantillon 2

vue d'arbre

//BBB[@name='bbb']
Sélectionne tous les éléments BBB ayant un attribut name dont la valeur est bbb

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 6 > Echantillon 1

vue d'arbre

//BBB[@id='b1']
Sélectionne tous les éléments BBB ayant un attribut id dont la valeur est b1

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 6 << | Précédent | Suivant

Les valeurs d'attributs peuvent être utilisées comme critère de sélection. La fonction normalize-space supprime les espaces de début et de fin puis remplace les séquences d'espaces blancs par un seul espace.
//BBB[@id='b1']
Sélectionne tous les éléments BBB ayant un attribut id dont la valeur est b1

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//BBB[@name='bbb']
Sélectionne tous les éléments BBB ayant un attribut name dont la valeur est bbb

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//BBB[normalize-space(@name)='bbb']
Sélectionne tous les éléments BBB ayant un attribut name dont la valeur est bbb. Les espaces de début de de fin sont supprimés avant la comparaison

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 5 > Echantillon 5

vue d'arbre

//BBB[not(@*)]
Sélectionne tous BBB qui n'ont pas d'attribut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 5 > Echantillon 4

vue d'arbre

//BBB[@*]
Sélectionne tous BBB qui ont un attribut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 5 > Echantillon 3

vue d'arbre

//BBB[@name]
Sélectionne tous BBB qui ont un attribut name

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 5 > Echantillon 2

vue d'arbre

//BBB[@id]
Sélectionne tous BBB qui ont un attribut id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 5 > Echantillon 1

vue d'arbre

//@id
Sélectionne tous les attributs id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 5 << | Précédent | Suivant

Les attributs sont spécifiés par le prefixe @.
//@id
Sélectionne tous les attributs id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//BBB[@id]
Sélectionne tous BBB qui ont un attribut id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//BBB[@name]
Sélectionne tous BBB qui ont un attribut name

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//BBB[@*]
Sélectionne tous BBB qui ont un attribut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//BBB[not(@*)]
Sélectionne tous BBB qui n'ont pas d'attribut

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 4 > Echantillon 2

vue d'arbre

/AAA/BBB[last()]
Sélectionne le dernier élément BBB, fils de l'élément racine AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 4 > Echantillon 1

vue d'arbre

/AAA/BBB[1]
Sélectionne le premier élément BBB, fils de l'élément racine AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 4 << | Précédent | Suivant

Une expression entre crochets peut spécifier plus précisément un élément. Un nombre entre crochets donne la position d'un élément dans le jeu sélectionné. La fonction last sélectionne le dernier élément du jeu
/AAA/BBB[1]
Sélectionne le premier élément BBB, fils de l'élément racine AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/AAA/BBB[last()]
Sélectionne le dernier élément BBB, fils de l'élément racine AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 3 > Echantillon 3

vue d'arbre

//*
Sélectionne tous les éléments

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 3 > Echantillon 2

vue d'arbre

/*/*/*/BBB
Sélectionne tous les éléments BBB qui ont trois ancêtres

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 3 > Echantillon 1

vue d'arbre

/AAA/CCC/DDD/*
Sélectionne tous les éléments inclus dans les éléments /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 3 << | Précédent | Suivant

L'étoile * sélectionne tous les éléments localisés par ce qui la précède dans le chemin
/AAA/CCC/DDD/*
Sélectionne tous les éléments inclus dans les éléments /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/*/*/*/BBB
Sélectionne tous les éléments BBB qui ont trois ancêtres

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//*
Sélectionne tous les éléments

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 2 > Echantillon 2

vue d'arbre

//DDD/BBB
Sélectionne tous les éléments BBB qu sont enfants de DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 2 > Echantillon 1

vue d'arbre

//BBB
Sélectionne tous les éléments BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 22 > Echantillon 3

vue d'arbre

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 22 > Echantillon 2

vue d'arbre

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 22 > Echantillon 1

vue d'arbre

//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 22 << | Précédent | Suivant

L'opérateur div réalise une division à virgule flottante, l'opérateur mod retourne le reste d'une division. La fonction floor() retourne le plus grand nombre (le plus près de l'infini positif) qui n'est pas plus grand que l'argument et qui est un entier. La fonction ceiling() retourne le plus petit nombre (le plus près de l'infini négatif) qui n'est pas plus petit que l'argument et qui est un entier
//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 21 > Echantillon 6

vue d'arbre

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 21 > Echantillon 5

vue d'arbre

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 21 > Echantillon 4

vue d'arbre

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 21 > Echantillon 3

vue d'arbre

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 21 > Echantillon 2

vue d'arbre

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 21 > Echantillon 1

vue d'arbre

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 21 << | Précédent | Suivant

Les axes ancestors, descendants, following, preceding et self partitionnent un document (ignorant les attributs et les noeuds d'espace de nom) : il ne se chevauchent pas et ensemble ils contiennent tous les noeuds d'un document
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 20 > Echantillon 2

vue d'arbre

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 20 > Echantillon 1

vue d'arbre

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 20 << | Précédent | Suivant

L'axe ancestor-or-self contient le noeud contextuel et ses ancêtres; ainsi l'axe ancestor-or-self contient toujours le noeud racine
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 2 << | Précédent | Suivant

Si le chemin commence par '//', alors tous les éléments du document qui correspondent au critère qui suit sont sélectionnés.
//BBB
Sélectionne tous les éléments BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//DDD/BBB
Sélectionne tous les éléments BBB qu sont enfants de DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 1 > Echantillon 3

vue d'arbre

/AAA/DDD/BBB
Sélectionne tous les éléments BBB qui sont enfants de DDD, qui sont enfants de l'élément racine AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 1 > Echantillon 2

vue d'arbre

/AAA/CCC
Sélectionne tous les éléments CCC qui sont enfants de l'élément racine AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 1 > Echantillon 1

vue d'arbre

/AAA
Sélectionne l'élément racine AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 19 > Echantillon 2

vue d'arbre

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 19 > Echantillon 1

vue d'arbre

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 19 << | Précédent | Suivant

L'axe "descendant-or-self" contient le noeud contextuel et ses descendants
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 18 > Echantillon 2

vue d'arbre

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 18 > Echantillon 1

vue d'arbre

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 18 << | Précédent | Suivant

l'axe cible précédente (preceding-sibling) contient tous les prédécesseurs du noeud contextuel; si le noeud contextuel est un attribut ou un espace de noms, la cible précédente est vide.
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 17 > Echantillon 2

vue d'arbre

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 17 > Echantillon 1

vue d'arbre

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 17 << | Précédent | Suivant

l'axe suivant (following) tous les noeuds du même document que le noeud contextuel qui sont après le noeud contextuel dans l'ordre du document, à l'exclusion de tout descendant, des attributs et des espaces de noms.
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 16 > Echantillon 2

vue d'arbre

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 16 > Echantillon 1

vue d'arbre

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 16 << | Précédent | Suivant

L'axe 'preceding-sibling' contient tous les frères prédécesseurs du noeud contextuel; si le noeud contextuel est un attribut ou un espace de noms, la cible précédente est vide.
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 15 > Echantillon 2

vue d'arbre

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 15 > Echantillon 1

vue d'arbre

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 15 << | Précédent | Suivant

l'axe 'following-sibling' contient tous les noeuds frères qui suivent le noeud contextuel.
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 14 > Echantillon 2

vue d'arbre

//FFF/ancestor::*
Séléctionne tous les ancêtres de l'élément FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 14 > Echantillon 1

vue d'arbre

/AAA/BBB/DDD/CCC/EEE/ancestor::*
Séléctionne tous les éléments donnés dans ce chemin absolu

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 14 << | Précédent | Suivant

l'axe ancêtre (ancestor) contient les ancêtres du noeud contextuel; cela comprend son parent et les parents des parents etc... Aussi, cet axe contient toujours le noeud racine, sauf si le noeud contextuel est lui-même la racine.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Séléctionne tous les éléments donnés dans ce chemin absolu

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//FFF/ancestor::*
Séléctionne tous les ancêtres de l'élément FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 13 > Echantillon 1

vue d'arbre

//DDD/parent::*

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 13 << | Précédent | Suivant

L'axe "parent" contient le parent du noeud contextuel s'il en a un
//DDD/parent::*

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 12 > Echantillon 4

vue d'arbre

//CCC/descendant::DDD
Sélectionne les éléments DDD qui ont CCC comme ancêtre

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 12 > Echantillon 3

vue d'arbre

//CCC/descendant::*
Sélectionne tous les éléments qui ont CCC comme ancêtre

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 12 > Echantillon 2

vue d'arbre

/AAA/BBB/descendant::*
Sélectionne tous les descendants de /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 12 > Echantillon 1

vue d'arbre

/descendant::*
Sélectionne tous les descendants de l'élément racine et donc tous les éléments

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 12 << | Précédent | Suivant

l'axe descendant (descendant) contient les descendants du noeud contextuel; un descendant est un enfant ou un petit enfant etc... Aussi, l'axe descendant ne contient jamais de noeud de type attribut ou des noms d'espace.
/descendant::*
Sélectionne tous les descendants de l'élément racine et donc tous les éléments

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/AAA/BBB/descendant::*
Sélectionne tous les descendants de /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//CCC/descendant::*
Sélectionne tous les éléments qui ont CCC comme ancêtre

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
//CCC/descendant::DDD
Sélectionne les éléments DDD qui ont CCC comme ancêtre

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 11 > Echantillon 5

vue d'arbre

/child::AAA/BBB
Les deux possiblilités peuvent être combinées

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 11 > Echantillon 4

vue d'arbre

/child::AAA/child::BBB
Equivalent à /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 11 > Echantillon 3

vue d'arbre

/AAA/BBB
Equivalent à /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 11 > Echantillon 2

vue d'arbre

/child::AAA
Equivalent à /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 11 > Echantillon 1

vue d'arbre

/AAA
Equivalent à /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 11 << | Précédent | Suivant

L'axe enfant contient les enfants du noeud contextuel. L'axe enfant est celui par défaut et il peut être omis
/AAA
Equivalent à /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/child::AAA
Equivalent à /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/AAA/BBB
Equivalent à /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/child::AAA/child::BBB
Equivalent à /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/child::AAA/BBB
Les deux possiblilités peuvent être combinées

<AAA>
<BBB/>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 10 > Echantillon 3

vue d'arbre

/AAA/EEE | //DDD/CCC | /AAA | //BBB
Le nombre de combinaison n'est pas restreinte

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 10 > Echantillon 2

vue d'arbre

/AAA/EEE | //BBB
Sélectionne tous les éléments BBB et EEE qui sont enfants de l'élément racine AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
Exemple 10 > Echantillon 1

vue d'arbre

//CCC | //BBB
Sélectionne tous les éléments CCC et BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Ouvrez l'exemple dans XLab | Allez à l'exemple


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 10 << | Précédent | Suivant

Plusieurs chemins peuvent être combinés avec le séparateur |
//CCC | //BBB
Sélectionne tous les éléments CCC et BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/AAA/EEE | //BBB
Sélectionne tous les éléments BBB et EEE qui sont enfants de l'élément racine AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
Le nombre de combinaison n'est pas restreinte

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | >> Français << | Español | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Chercher / ZVON
>> Exemple 1 << | Précédent | Suivant

La base de la syntaxe XPATH est semblable à celle de l'adressage du système de fichiers. Si le chemin commence par '/', alors il représente un chemin absolu vers l'élément requis.
/AAA
Sélectionne l'élément racine AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/AAA/CCC
Sélectionne tous les éléments CCC qui sont enfants de l'élément racine AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)
/AAA/DDD/BBB
Sélectionne tous les éléments BBB qui sont enfants de DDD, qui sont enfants de l'élément racine AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Ouvrez l'exemple dans XLab | vue d'arbre (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano
Intro / Suchen / ZVON
  • Examples
  • >> XPaths <<
//* (Baum)
/AAA (Baum)
/AAA (Baum)
//BBB (Baum)
//@id (Baum)
/AAA/CCC (Baum)
/AAA/BBB (Baum)
//DDD/BBB (Baum)
//BBB[@*] (Baum)
/*/*/*/BBB (Baum)
//BBB[@id] (Baum)
/child::AAA (Baum)
/AAA/BBB[1] (Baum)
/AAA/DDD/BBB (Baum)
//BBB[@name] (Baum)
//CCC | //BBB (Baum)
//GGG/self::* (Baum)
/descendant::* (Baum)
/AAA/CCC/DDD/* (Baum)
//BBB[not(@*)] (Baum)
/child::AAA/BBB (Baum)
//DDD/parent::* (Baum)
//BBB[@id='b1'] (Baum)
//*[count(*)=2] (Baum)
//*[count(*)=3] (Baum)
/AAA/EEE | //BBB (Baum)
/AAA/BBB[last()] (Baum)
//FFF/ancestor::* (Baum)
//GGG/ancestor::* (Baum)
//*[count(BBB)=2] (Baum)
//*[name()='BBB'] (Baum)
//ZZZ/following::* (Baum)
//GGG/preceding::* (Baum)
//GGG/following::* (Baum)
//GGG/preceding::* (Baum)
//BBB[@name='bbb'] (Baum)
//CCC/descendant::* (Baum)
//GGG/descendant::* (Baum)
//CCC/descendant::DDD (Baum)
/AAA/XXX/following::* (Baum)
/AAA/XXX/preceding::* (Baum)
/child::AAA/child::BBB (Baum)
/AAA/BBB/descendant::* (Baum)
//GGG/ancestor-or-self::* (Baum)
//*[contains(name(),'C')] (Baum)
//CCC/following-sibling::* (Baum)
//CCC/preceding-sibling::* (Baum)
//CCC/descendant-or-self::* (Baum)
//BBB[position() mod 2 = 0 ] (Baum)
//*[starts-with(name(),'B')] (Baum)
/AAA/BBB/following-sibling::* (Baum)
/AAA/XXX/preceding-sibling::* (Baum)
/AAA/XXX/descendant-or-self::* (Baum)
//*[string-length(name()) = 3] (Baum)
//*[string-length(name()) < 3] (Baum)
//*[string-length(name()) > 3] (Baum)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (Baum)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (Baum)
//BBB[normalize-space(@name)='bbb'] (Baum)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (Baum)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (Baum)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (Baum)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (Baum)


English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Start | Index

Miloslav Nic [ nicmila@systinet.com ]

Jiri Jirat [ Jiri.Jirat@systinet.com ]

Übersetzung: Richard Samar

XPath Tutorial

Einleitung

XPath wird in XPath 1.0 standard beschrieben. In diesem Tutorial werden ausgewählte XPath Eigenschaften anhand vieler Beispiele erklärt.

Sie können mit folgendem beginnen:

  • Beispiel 1

oder aber von der linken Seitenleiste.

Siehe auch

  • XLab - interactive XPath experiments
  • XML tutorial
  • DTD tutorial
  • XML namespace tutorial
  • XHTML 1.0 reference
  • XHTML Basic reference

Credits

  • Miloslav Nic - Programmierung und Beispiele
  • Jiri Jirat - Baumansicht der Beispiele
Schlüsselworte: tutorial, transformations, XSLT, XML, XPath

This material can be downloaded for off-line use.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License"

The programs used to prepare this reference are covered by GNU General Public License"


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano
Intro / Suchen / ZVON
  • >> Examples <<
  • XPaths
Beispiel 1
Die grundlegende XPath Syntax ist der Adressierung des Dateisystems ähnlich. Falls der Pfad mit einem Schrägstrich / beginnt, repräsentiert es einen absoluten Pfad zum benötigten Element.
Beispiel 2
Falls der Pfad mit // beginnt, werden alle Elemente ausgewählt, welche die folgenden Kriterien erfüllen.
Beispiel 3
Der Stern * wählt alle Elemente aus, die durch den vorangehenden Pfades lokalisiert werden
Beispiel 4
Ausdrücke in eckigen Klammern können weiterhin ein Element spezifizieren. Eine Zahl in eckigen Klammern gibt die Position eines Elements in einer ausgewählten Menge an. Die Funktion last() wählt das letzte Element einer ausgewählten Menge aus.
Beispiel 5
Attribute werden mittels eines @ Präfixes spezifiziert.
Beispiel 6
Attributwerte können als Auswahlkriterien verwendet werden. Die Funktion "normalize-space()" entfernt voranstehende und nachkommende Leerzeichen und ersetzt Leerzeichenfolgen durch ein einfaches Leerzeichen.
Beispiel 7
Die Funktion count() zählt die Anzahlt der ausgewählten Elemente
Beispiel 8
Die Funktion "name()" gibt den Namen des Elements zurück. Die Funktion "starts-with()" gibt "true" zurück falls der String des ersten Arguments mit dem String des zweiten Arguments startet. Die Funktion "contains()" gibt "true" zurück falls der String des ersten Arguments den String des zweiten Arguments beinhaltet.
Beispiel 9
Die Funktion "string-length()" liefert die Anzahl der Zeichen eines Strings zurück. Man muss &lt; als Austausch für < und &gt; als Austausch für > verwenden.
Beispiel 10
Mehrer Pfade können mit dem | Trennzeichen kombiniert werden.
Beispiel 11
Die "child"-Achse enthält die Kinder des Kontextknotens. Die "child"-Achse ist die Standardachse und kann daher weggelassen werden.
Beispiel 12
Die "descendant" Achse enthält alle Nachfahren des Kontextknotens; ein Nachfahre ist ein Kind oder ein Kind eines Kindes usw.; daher enthält die "descendant" Achse niemals Attribute oder Namensraumknoten
Beispiel 13
Die "parent" Achse enthält den Elternknoten des Kontextknotens, falls ein solches existiert.
Beispiel 14
Die "ancestor" Achse enthält die Vorfahren eines Kontextknotens. Die Vorfahren eines Kontextknotens bestehen aus dem Elternknoten des Kontextknotens und die Elternknoten der Elternknoten usw. Daher enthält die "ancestor" Achse immer den Wurzelknoten, es sei denn der Wurzelknoten ist nicht der Kontextknoten.
Beispiel 15
Die "following-sibling" Achse enthält alle folgenden Geschwister des Kontextknotens.
Beispiel 16
The "preceding-sibling" Achse enthält alle vorangehend Geschwister im Kontextknoten
Beispiel 17
Die "following" Achse enthält alle Knoten im gleichen Dokument als Kontextknoten, die sich in der Reihenfolge des Dokuments nach dem Kontextknoten befinden. Nachfahren sowie Attribut- und Namensraumknoten sind hierbei ausgeschlossen.
Beispiel 18
Die "preceding" Achse enthält alle Knoten im gleichen Dokument als Kontextknoten, die sich in der Reihenfolge des Dokuments vor dem Kontextknoten befinden. Nachfahren sowie Attribut- und Namensraumknoten sind hierbei ausgeschlossen.
Beispiel 19
Die "descendant-or-self" Achse enthält den Kontextknoten und die Nachfahren des Kontextknotens
Beispiel 20
Die "ancestor-or-self" Achse enthält den Kontextknoten und die Vorfahren des Knotextknotens. Somit enthält die "ancestor-or-self" Achse immer den Wurzelknoten.
Beispiel 21
Die "ancestor" (Vorfahren), "descendant" (Nachfahren), "following" (folgenden), "preceding" (vorangehend) and "self" (selbst) Achsen teilen ein Dokument auf (und ignorieren dabei die Attribut- und Namensraumsknoten): Sie überlappen sich nicht gegenseitig und enthalten zusammen alle Knoten in einem Dokument.
Beispiel 22
Der "div" Operator führt Divisionen mit Gleitkommazahlen durch. Der "mod" Operator liefert den Rest einer nicht aufgehenden Division zurück. Die "floor()" Funktion liefert die größte (am nächsten bei Plus-Unendlich liegende) Zahl zurück, die nicht größer als ihr Argument ist und eine Integerzahl ist. Die "ceiling ()" Funktion liefert die kleinste (am nächsten bei Minus-Unendlich liegende) Zahl zurück, die nicht kleiner als ihr Argument ist und eine Integerzahl ist.


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 9 > Beispiel 3

Baumansicht

//*[string-length(name()) > 3]
Wähle alle Elemente aus, deren Name mehr als drei Zeichen enthält

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 9 > Beispiel 2

Baumansicht

//*[string-length(name()) < 3]
Wähle alle Elemente aus, deren Namen ein oder zwei Buchstaben hat

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 9 > Beispiel 1

Baumansicht

//*[string-length(name()) = 3]
Wähle alle Elemente aus, deren Namen drei Buchstaben enthält

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 9 << | Vorheriges | Nächstes

Die Funktion "string-length()" liefert die Anzahl der Zeichen eines Strings zurück. Man muss &lt; als Austausch für < und &gt; als Austausch für > verwenden.
//*[string-length(name()) = 3]
Wähle alle Elemente aus, deren Namen drei Buchstaben enthält

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//*[string-length(name()) < 3]
Wähle alle Elemente aus, deren Namen ein oder zwei Buchstaben hat

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//*[string-length(name()) > 3]
Wähle alle Elemente aus, deren Name mehr als drei Zeichen enthält

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 8 > Beispiel 3

Baumansicht

//*[contains(name(),'C')]
Wähle alle Elemente aus, deren Namen den Buchstaben C enthält

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 8 > Beispiel 2

Baumansicht

//*[starts-with(name(),'B')]
Wähle alle Elemente aus, deren Name mit dem Buchstaben B beginnt

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 8 > Beispiel 1

Baumansicht

//*[name()='BBB']
Wähle alle Elemente mit dem Namen BBB aus. Entspricht //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 8 << | Vorheriges | Nächstes

Die Funktion "name()" gibt den Namen des Elements zurück. Die Funktion "starts-with()" gibt "true" zurück falls der String des ersten Arguments mit dem String des zweiten Arguments startet. Die Funktion "contains()" gibt "true" zurück falls der String des ersten Arguments den String des zweiten Arguments beinhaltet.
//*[name()='BBB']
Wähle alle Elemente mit dem Namen BBB aus. Entspricht //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//*[starts-with(name(),'B')]
Wähle alle Elemente aus, deren Name mit dem Buchstaben B beginnt

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//*[contains(name(),'C')]
Wähle alle Elemente aus, deren Namen den Buchstaben C enthält

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 7 > Beispiel 3

Baumansicht

//*[count(*)=3]
Wähle jene Elemente aus, die drei Kinder haben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 7 > Beispiel 2

Baumansicht

//*[count(*)=2]
Wähle jene Elemente aus, die zwei Kinder haben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 7 > Beispiel 1

Baumansicht

//*[count(BBB)=2]
Wähle jene Elemente aus, die zwei BBB Kinder haben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 7 << | Vorheriges | Nächstes

Die Funktion count() zählt die Anzahlt der ausgewählten Elemente
//*[count(BBB)=2]
Wähle jene Elemente aus, die zwei BBB Kinder haben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//*[count(*)=2]
Wähle jene Elemente aus, die zwei Kinder haben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//*[count(*)=3]
Wähle jene Elemente aus, die drei Kinder haben

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 6 > Beispiel 3

Baumansicht

//BBB[normalize-space(@name)='bbb']
Wähle die BBB Elemente aus, die ein Attribut "name" mit dem Wert "bbb" haben. Voranstehende und nachkommende Leerzeichen werden vor dem Vergleich entfernt

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 6 > Beispiel 2

Baumansicht

//BBB[@name='bbb']
Wähle alle BBB Elemente aus, die ein Attribut "name" mit dem Wert "bbb" haben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 6 > Beispiel 1

Baumansicht

//BBB[@id='b1']
Wähle alle BBB Elemente aus, die ein Attribut "id" mit dem Wert "b1" haben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 6 << | Vorheriges | Nächstes

Attributwerte können als Auswahlkriterien verwendet werden. Die Funktion "normalize-space()" entfernt voranstehende und nachkommende Leerzeichen und ersetzt Leerzeichenfolgen durch ein einfaches Leerzeichen.
//BBB[@id='b1']
Wähle alle BBB Elemente aus, die ein Attribut "id" mit dem Wert "b1" haben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//BBB[@name='bbb']
Wähle alle BBB Elemente aus, die ein Attribut "name" mit dem Wert "bbb" haben

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//BBB[normalize-space(@name)='bbb']
Wähle die BBB Elemente aus, die ein Attribut "name" mit dem Wert "bbb" haben. Voranstehende und nachkommende Leerzeichen werden vor dem Vergleich entfernt

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 5 > Beispiel 5

Baumansicht

//BBB[not(@*)]
Wähle jene BBB Elemente aus, die kein Attribut haben

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 5 > Beispiel 4

Baumansicht

//BBB[@*]
Wähle jene BBB Elemente aus, die ein beliebiges Attribut haben

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 5 > Beispiel 3

Baumansicht

//BBB[@name]
Wähle jene BBB Elemente aus, die das Attribut "name" enthalten

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 5 > Beispiel 2

Baumansicht

//BBB[@id]
Wähle jene BBB Elemente aus, die ein Attribut "id" haben

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 5 > Beispiel 1

Baumansicht

//@id
Wähle alle "id" Attribute aus

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 5 << | Vorheriges | Nächstes

Attribute werden mittels eines @ Präfixes spezifiziert.
//@id
Wähle alle "id" Attribute aus

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//BBB[@id]
Wähle jene BBB Elemente aus, die ein Attribut "id" haben

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//BBB[@name]
Wähle jene BBB Elemente aus, die das Attribut "name" enthalten

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//BBB[@*]
Wähle jene BBB Elemente aus, die ein beliebiges Attribut haben

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//BBB[not(@*)]
Wähle jene BBB Elemente aus, die kein Attribut haben

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 4 > Beispiel 2

Baumansicht

/AAA/BBB[last()]
Wähle das letzte BBB Kind des AAA Elements aus

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 4 > Beispiel 1

Baumansicht

/AAA/BBB[1]
Wähle das erste BBB Kind des AAA Elements aus

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 4 << | Vorheriges | Nächstes

Ausdrücke in eckigen Klammern können weiterhin ein Element spezifizieren. Eine Zahl in eckigen Klammern gibt die Position eines Elements in einer ausgewählten Menge an. Die Funktion last() wählt das letzte Element einer ausgewählten Menge aus.
/AAA/BBB[1]
Wähle das erste BBB Kind des AAA Elements aus

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/AAA/BBB[last()]
Wähle das letzte BBB Kind des AAA Elements aus

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 3 > Beispiel 3

Baumansicht

//*
Wähle alle Elemente aus

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 3 > Beispiel 2

Baumansicht

/*/*/*/BBB
Wähle alle BBB Elemente aus, die 3 Vorfahren haben

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 3 > Beispiel 1

Baumansicht

/AAA/CCC/DDD/*
Wähle alle Elemente aus, die von den /AAA/CCC/DDD Elementen eingeschlossen sind

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 3 << | Vorheriges | Nächstes

Der Stern * wählt alle Elemente aus, die durch den vorangehenden Pfades lokalisiert werden
/AAA/CCC/DDD/*
Wähle alle Elemente aus, die von den /AAA/CCC/DDD Elementen eingeschlossen sind

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/*/*/*/BBB
Wähle alle BBB Elemente aus, die 3 Vorfahren haben

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//*
Wähle alle Elemente aus

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 2 > Beispiel 2

Baumansicht

//DDD/BBB
Wähle alle BBB Elemente aus, die Kinder von DDD sind

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 2 > Beispiel 1

Baumansicht

//BBB
Wähle alle BBB Elemente aus

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 22 > Beispiel 3

Baumansicht

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Wähle das/die mittlere(n) CCC Element(e) aus

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 22 > Beispiel 2

Baumansicht

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Wähle das/die mittlere(n) BBB Element(e) aus

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 22 > Beispiel 1

Baumansicht

//BBB[position() mod 2 = 0 ]
Wähle alle BBB Elemente aus, deren Position eine gerade Zahl ausmacht

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 22 << | Vorheriges | Nächstes

Der "div" Operator führt Divisionen mit Gleitkommazahlen durch. Der "mod" Operator liefert den Rest einer nicht aufgehenden Division zurück. Die "floor()" Funktion liefert die größte (am nächsten bei Plus-Unendlich liegende) Zahl zurück, die nicht größer als ihr Argument ist und eine Integerzahl ist. Die "ceiling ()" Funktion liefert die kleinste (am nächsten bei Minus-Unendlich liegende) Zahl zurück, die nicht kleiner als ihr Argument ist und eine Integerzahl ist.
//BBB[position() mod 2 = 0 ]
Wähle alle BBB Elemente aus, deren Position eine gerade Zahl ausmacht

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Wähle das/die mittlere(n) BBB Element(e) aus

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Wähle das/die mittlere(n) CCC Element(e) aus

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 21 > Beispiel 6

Baumansicht

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 21 > Beispiel 5

Baumansicht

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 21 > Beispiel 4

Baumansicht

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 21 > Beispiel 3

Baumansicht

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 21 > Beispiel 2

Baumansicht

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 21 > Beispiel 1

Baumansicht

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 21 << | Vorheriges | Nächstes

Die "ancestor" (Vorfahren), "descendant" (Nachfahren), "following" (folgenden), "preceding" (vorangehend) and "self" (selbst) Achsen teilen ein Dokument auf (und ignorieren dabei die Attribut- und Namensraumsknoten): Sie überlappen sich nicht gegenseitig und enthalten zusammen alle Knoten in einem Dokument.
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 20 > Beispiel 2

Baumansicht

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 20 > Beispiel 1

Baumansicht

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 20 << | Vorheriges | Nächstes

Die "ancestor-or-self" Achse enthält den Kontextknoten und die Vorfahren des Knotextknotens. Somit enthält die "ancestor-or-self" Achse immer den Wurzelknoten.
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 2 << | Vorheriges | Nächstes

Falls der Pfad mit // beginnt, werden alle Elemente ausgewählt, welche die folgenden Kriterien erfüllen.
//BBB
Wähle alle BBB Elemente aus

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//DDD/BBB
Wähle alle BBB Elemente aus, die Kinder von DDD sind

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 1 > Beispiel 3

Baumansicht

/AAA/DDD/BBB
Wähle alle BBB Elemente aus, die Kinder von DDD sind, die ihrerseits Kinder des Wurzelelements AAA sind

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 1 > Beispiel 2

Baumansicht

/AAA/CCC
Wähle alle CCC Elemente aus, die Kinder des Wurzelelements AAA sind

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 1 > Beispiel 1

Baumansicht

/AAA
Wähle das Wurzelelement AAA aus

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 19 > Beispiel 2

Baumansicht

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 19 > Beispiel 1

Baumansicht

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 19 << | Vorheriges | Nächstes

Die "descendant-or-self" Achse enthält den Kontextknoten und die Nachfahren des Kontextknotens
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 18 > Beispiel 2

Baumansicht

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 18 > Beispiel 1

Baumansicht

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 18 << | Vorheriges | Nächstes

Die "preceding" Achse enthält alle Knoten im gleichen Dokument als Kontextknoten, die sich in der Reihenfolge des Dokuments vor dem Kontextknoten befinden. Nachfahren sowie Attribut- und Namensraumknoten sind hierbei ausgeschlossen.
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 17 > Beispiel 2

Baumansicht

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 17 > Beispiel 1

Baumansicht

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 17 << | Vorheriges | Nächstes

Die "following" Achse enthält alle Knoten im gleichen Dokument als Kontextknoten, die sich in der Reihenfolge des Dokuments nach dem Kontextknoten befinden. Nachfahren sowie Attribut- und Namensraumknoten sind hierbei ausgeschlossen.
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 16 > Beispiel 2

Baumansicht

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 16 > Beispiel 1

Baumansicht

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 16 << | Vorheriges | Nächstes

The "preceding-sibling" Achse enthält alle vorangehend Geschwister im Kontextknoten
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 15 > Beispiel 2

Baumansicht

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 15 > Beispiel 1

Baumansicht

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 15 << | Vorheriges | Nächstes

Die "following-sibling" Achse enthält alle folgenden Geschwister des Kontextknotens.
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 14 > Beispiel 2

Baumansicht

//FFF/ancestor::*
Wähle alle Vorfahren vom FFF Element aus

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 14 > Beispiel 1

Baumansicht

/AAA/BBB/DDD/CCC/EEE/ancestor::*
Wähle alle Elemente im angegebenen absoluten Pfad aus

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 14 << | Vorheriges | Nächstes

Die "ancestor" Achse enthält die Vorfahren eines Kontextknotens. Die Vorfahren eines Kontextknotens bestehen aus dem Elternknoten des Kontextknotens und die Elternknoten der Elternknoten usw. Daher enthält die "ancestor" Achse immer den Wurzelknoten, es sei denn der Wurzelknoten ist nicht der Kontextknoten.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Wähle alle Elemente im angegebenen absoluten Pfad aus

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//FFF/ancestor::*
Wähle alle Vorfahren vom FFF Element aus

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 13 > Beispiel 1

Baumansicht

//DDD/parent::*
Wähle alle Eltern von DDD Elementen aus

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 13 << | Vorheriges | Nächstes

Die "parent" Achse enthält den Elternknoten des Kontextknotens, falls ein solches existiert.
//DDD/parent::*
Wähle alle Eltern von DDD Elementen aus

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 12 > Beispiel 4

Baumansicht

//CCC/descendant::DDD
Wähle alle DDD Elemente aus, die CCC unter ihren Vorfahren haben

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 12 > Beispiel 3

Baumansicht

//CCC/descendant::*
Wähle alle Elemente aus, die CCC unter ihren Vorfahren haben

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 12 > Beispiel 2

Baumansicht

/AAA/BBB/descendant::*
Wähle alle Nachfahren von /AAA/BBB aus

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 12 > Beispiel 1

Baumansicht

/descendant::*
Wähle alle Nachfahren des Wurzelknotens des Dokuments aus - also alle Elemente

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 12 << | Vorheriges | Nächstes

Die "descendant" Achse enthält alle Nachfahren des Kontextknotens; ein Nachfahre ist ein Kind oder ein Kind eines Kindes usw.; daher enthält die "descendant" Achse niemals Attribute oder Namensraumknoten
/descendant::*
Wähle alle Nachfahren des Wurzelknotens des Dokuments aus - also alle Elemente

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/AAA/BBB/descendant::*
Wähle alle Nachfahren von /AAA/BBB aus

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//CCC/descendant::*
Wähle alle Elemente aus, die CCC unter ihren Vorfahren haben

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
//CCC/descendant::DDD
Wähle alle DDD Elemente aus, die CCC unter ihren Vorfahren haben

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 11 > Beispiel 5

Baumansicht

/child::AAA/BBB
Beide Möglichkeiten können kombiniert werde

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 11 > Beispiel 4

Baumansicht

/child::AAA/child::BBB
Entspricht /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 11 > Beispiel 3

Baumansicht

/AAA/BBB
Entspricht /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 11 > Beispiel 2

Baumansicht

/child::AAA
Entspricht /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 11 > Beispiel 1

Baumansicht

/AAA
Entspricht /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 11 << | Vorheriges | Nächstes

Die "child"-Achse enthält die Kinder des Kontextknotens. Die "child"-Achse ist die Standardachse und kann daher weggelassen werden.
/AAA
Entspricht /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/child::AAA
Entspricht /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/AAA/BBB
Entspricht /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/child::AAA/child::BBB
Entspricht /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/child::AAA/BBB
Beide Möglichkeiten können kombiniert werde

<AAA>
<BBB/>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 10 > Beispiel 3

Baumansicht

/AAA/EEE | //DDD/CCC | /AAA | //BBB
Die Anzahl der Kombinationen ist nicht begrenzt

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 10 > Beispiel 2

Baumansicht

/AAA/EEE | //BBB
Wähle alle BBB und EEE Elemente aus, die Kinder des Wurzelelements AAA sind

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
Beispiel 10 > Beispiel 1

Baumansicht

//CCC | //BBB
Wähle alle CCC und BBB Elemente aus

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Öffne das Beispiel in XLab. | Gehe zum Beispiel


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 10 << | Vorheriges | Nächstes

Mehrer Pfade können mit dem | Trennzeichen kombiniert werden.
//CCC | //BBB
Wähle alle CCC und BBB Elemente aus

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/AAA/EEE | //BBB
Wähle alle BBB und EEE Elemente aus, die Kinder des Wurzelelements AAA sind

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
Die Anzahl der Kombinationen ist nicht begrenzt

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | >> Deutsch << | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Suchen / ZVON
>> Beispiel 1 << | Vorheriges | Nächstes

Die grundlegende XPath Syntax ist der Adressierung des Dateisystems ähnlich. Falls der Pfad mit einem Schrägstrich / beginnt, repräsentiert es einen absoluten Pfad zum benötigten Element.
/AAA
Wähle das Wurzelelement AAA aus

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/AAA/CCC
Wähle alle CCC Elemente aus, die Kinder des Wurzelelements AAA sind

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)
/AAA/DDD/BBB
Wähle alle BBB Elemente aus, die Kinder von DDD sind, die ihrerseits Kinder des Wurzelelements AAA sind

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Öffne das Beispiel in XLab. | Baumansicht (JPG)


English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Prima pagina | Indice

Miloslav Nic [ nicmila@systinet.com ]

Jiri Jirat [ Jiri.Jirat@systinet.com ]

Traduzione: Antonio Fittipaldi

Tutorial su XPath

Introduzione

XPath è descritto nel documento XPath 1.0 standard. All'interno di questo tutorial le caratteristiche di XPath vengono illustrate attraverso numerosi esempi.

Puoi partire da:

  • Esempio 1

oppure utilizzando il pannello di sinistra.

Ulteriori informazioni

  • XLab - esperimenti interattivi su XPath
  • Tutorial su XML
  • Tutorial su DTD
  • Tutorial su XML Namespace
  • Reference su XHTML 1.0
  • Reference su XHTML di base

Crediti

  • Miloslav Nic - programming and examples
  • Jiri Jirat - tree view of examples
Termini correlati: tutorial, transformations, XSLT, XML, XPath

This material can be downloaded for off-line use.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License"

The programs used to prepare this reference are covered by GNU General Public License"


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano <<
Introduzione / Ricerca / ZVON
  • Examples
  • >> XPaths <<
//* (albero)
/AAA (albero)
/AAA (albero)
//BBB (albero)
//@id (albero)
/AAA/CCC (albero)
/AAA/BBB (albero)
//DDD/BBB (albero)
//BBB[@*] (albero)
/*/*/*/BBB (albero)
//BBB[@id] (albero)
/child::AAA (albero)
/AAA/BBB[1] (albero)
/AAA/DDD/BBB (albero)
//BBB[@name] (albero)
//CCC | //BBB (albero)
//GGG/self::* (albero)
/descendant::* (albero)
/AAA/CCC/DDD/* (albero)
//BBB[not(@*)] (albero)
/child::AAA/BBB (albero)
//DDD/parent::* (albero)
//BBB[@id='b1'] (albero)
//*[count(*)=2] (albero)
//*[count(*)=3] (albero)
/AAA/EEE | //BBB (albero)
/AAA/BBB[last()] (albero)
//FFF/ancestor::* (albero)
//GGG/ancestor::* (albero)
//*[count(BBB)=2] (albero)
//*[name()='BBB'] (albero)
//ZZZ/following::* (albero)
//GGG/preceding::* (albero)
//GGG/following::* (albero)
//GGG/preceding::* (albero)
//BBB[@name='bbb'] (albero)
//CCC/descendant::* (albero)
//GGG/descendant::* (albero)
//CCC/descendant::DDD (albero)
/AAA/XXX/following::* (albero)
/AAA/XXX/preceding::* (albero)
/child::AAA/child::BBB (albero)
/AAA/BBB/descendant::* (albero)
//GGG/ancestor-or-self::* (albero)
//*[contains(name(),'C')] (albero)
//CCC/following-sibling::* (albero)
//CCC/preceding-sibling::* (albero)
//CCC/descendant-or-self::* (albero)
//BBB[position() mod 2 = 0 ] (albero)
//*[starts-with(name(),'B')] (albero)
/AAA/BBB/following-sibling::* (albero)
/AAA/XXX/preceding-sibling::* (albero)
/AAA/XXX/descendant-or-self::* (albero)
//*[string-length(name()) = 3] (albero)
//*[string-length(name()) < 3] (albero)
//*[string-length(name()) > 3] (albero)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (albero)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (albero)
//BBB[normalize-space(@name)='bbb'] (albero)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (albero)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (albero)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (albero)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (albero)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano <<
Introduzione / Ricerca / ZVON
  • >> Examples <<
  • XPaths
Esempio 1
La sintassi XPath di base è simile al sistema di indirizzamento utilizzato all'interno di un filesystem. Se il path inizia con lo slash /, esso rappresenta un percorso assoluto verso l'elemento richiesto.
Esempio 2
Se il path inizia con // allora vengono selezionati tutti gli elementi del documento che soddisfano i criteri successivi.
Esempio 3
L'asterisco * seleziona tutti gli elementi localizzati dal path precedente.
Esempio 4
Le espressioni all'interno di parentesi quadre consentono di specificare ulteriormente la locazione di un elemento. Un valore numerico all'interno delle parentesi quadre consente di specificare la posizione di un elemento all'interno dell'insieme selezionato. La funzione last() seleziona l'ultimo elemento dell'insieme.
Esempio 5
Gli attributi sono preceduti dal prefisso @
Esempio 6
I valori degli attributi possono essere utilizzati come criteri di selezione. La funzione normalize-space() rimuove gli spazi precedenti e successivi e sostituisce con un singolo spazio sequenze di caratteri di spaziatura.
Esempio 7
La funzione count() calcola il numero degli elementi selezionati.
Esempio 8
La funzione name() restituisce il nome dell'elemento, la funzione starts-with() ritorna true se la stringa utilizzata come primo argomento inizia con la stringa utilizzata come secondo argomento e, infine, la funzione contains() restituisce true se la stringa utilizzata come primo argomento contiene la stringa passata come secondo argomento.
Esempio 9
La funzione string-length() restituisce il numero di caratteri presenti nella stringa. Dovete utilizzre &lt; in sostituzione di < e &gt; al posto di > .
Esempio 10
Path distinti possono essere composti tra loro grazie al separatore |
Esempio 11
L'asse child contiene i nodi figli del nodo contestuale. Tale asse è quello di default e può essere omesso.
Esempio 12
L'asse descendant contiene i discendenti del nodo contestuale; un discendente è un figlio o il figlio di un figlio e così via. Dunque, l'asse descendant non contiene mai nodi di attributo o di namespace.
Esempio 13
L'asse parent contiene (se esiste) il genitore del nodo contestuale.
Esempio 14
L'asse ancestor contiene i progenitori del nodo contestuale: i progenitori del nodo contestuale consistono nel genitore del nodo contestuale, nel genitore del genitore e così via. Dunque, l'asse ancestor contiene sempre il nodo radice, tranne nel caso in cui il nodo contestuale sia esso stesso il nodo radice.
Esempio 15
L'asse following-sibling contiene tutti i successivi nodi-fratello del nodo contestuale.
Esempio 16
L'asse preceding-sibling contiene tutti i precedenti nodi-fratello del nodo contestuale.
Esempio 17
L'asse following contiene tutti i nodi che sono presenti nello stesso documento del nodo contestuale e che sono successivi rispetto a esso secondo l'ordine del documento, esclusi nodi discendenti, di attributo o di namespace.
Esempio 18
L'asse preceding contiene tutti i nodi che sono presenti nello stesso documento del nodo contestuale e che sono precedenti rispetto a esso secondo l'ordine del documento, esclusi nodi progenitori, di attributo o di namespace
Esempio 19
L'asse descendant-or-self contiene il nodo contestuale e i suoi discendenti.
Esempio 20
L'asse ancestor-or-self contiene il nodo contesuale e i suoi progenitori: dunque, l'asse ancestor-or-self includerà sempre il nodo radice.
Esempio 21
Gli assi ancestor, descendant, following, preceding e self partizionano un documento (ignorando gli attributi e i nodi di namespace). Il contenuto di tali assi è differente l'uno dagli altri e congiuntamente rappresentano l'insieme di tutti i nodi del documento.
Esempio 22
L'operatore div esegue una divisione a virgola mobile, l'operatore mod restituisce il resto di una divisione con troncamento. La funzione floor() restituisce l'intero più grande minore del suo argomento. La funzione ceiling() restituisce l'intero più piccolo maggiore del suo argomento.


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 9 > Esempio 3

Vista ad albero

//*[string-length(name()) > 3]
Selezione degli elementi il cui nome è composto da più di 3 caratteri.

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 9 > Esempio 2

Vista ad albero

//*[string-length(name()) < 3]
Selezione degli elementi il cui nome è composto da 1 o 2 caratteri.

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 9 > Esempio 1

Vista ad albero

//*[string-length(name()) = 3]
Selezione degli elementi il cui nome è composto da 3 caratteri.

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 9 << | Precedente | Successivo

La funzione string-length() restituisce il numero di caratteri presenti nella stringa. Dovete utilizzre &lt; in sostituzione di < e &gt; al posto di > .
//*[string-length(name()) = 3]
Selezione degli elementi il cui nome è composto da 3 caratteri.

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//*[string-length(name()) < 3]
Selezione degli elementi il cui nome è composto da 1 o 2 caratteri.

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//*[string-length(name()) > 3]
Selezione degli elementi il cui nome è composto da più di 3 caratteri.

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 8 > Esempio 3

Vista ad albero

//*[contains(name(),'C')]
Selezione di tutti gli elementi il cui nome contiene la lettera C.

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 8 > Esempio 2

Vista ad albero

//*[starts-with(name(),'B')]
Selezione di tutti gli elementi il cui nome inizia con la lettera B.

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 8 > Esempio 1

Vista ad albero

//*[name()='BBB']
Selezione di tutti gli elementi di nome BBB: equivalente a //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 8 << | Precedente | Successivo

La funzione name() restituisce il nome dell'elemento, la funzione starts-with() ritorna true se la stringa utilizzata come primo argomento inizia con la stringa utilizzata come secondo argomento e, infine, la funzione contains() restituisce true se la stringa utilizzata come primo argomento contiene la stringa passata come secondo argomento.
//*[name()='BBB']
Selezione di tutti gli elementi di nome BBB: equivalente a //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//*[starts-with(name(),'B')]
Selezione di tutti gli elementi il cui nome inizia con la lettera B.

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//*[contains(name(),'C')]
Selezione di tutti gli elementi il cui nome contiene la lettera C.

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 7 > Esempio 3

Vista ad albero

//*[count(*)=3]
Selezione degli elementi che possiedono 3 figli.

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 7 > Esempio 2

Vista ad albero

//*[count(*)=2]
Selezione degli elementi che possiedono 2 figli.

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 7 > Esempio 1

Vista ad albero

//*[count(BBB)=2]
Selezione degli elementi che possiedono due figli BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 7 << | Precedente | Successivo

La funzione count() calcola il numero degli elementi selezionati.
//*[count(BBB)=2]
Selezione degli elementi che possiedono due figli BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//*[count(*)=2]
Selezione degli elementi che possiedono 2 figli.

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//*[count(*)=3]
Selezione degli elementi che possiedono 3 figli.

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 6 > Esempio 3

Vista ad albero

//BBB[normalize-space(@name)='bbb']
Selezione degli elementi BBB per i quali l'attributo name ha valore bbb: spazi precedenti e successivi vengono rimossi prima del confronto.

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 6 > Esempio 2

Vista ad albero

//BBB[@name='bbb']
Selezione degli elementi BBB per i quali l'attributo name ha valore bbb.

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 6 > Esempio 1

Vista ad albero

//BBB[@id='b1']
Selezione degli elementi BBB per i quali l'attributo id ha valore b1.

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 6 << | Precedente | Successivo

I valori degli attributi possono essere utilizzati come criteri di selezione. La funzione normalize-space() rimuove gli spazi precedenti e successivi e sostituisce con un singolo spazio sequenze di caratteri di spaziatura.
//BBB[@id='b1']
Selezione degli elementi BBB per i quali l'attributo id ha valore b1.

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//BBB[@name='bbb']
Selezione degli elementi BBB per i quali l'attributo name ha valore bbb.

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//BBB[normalize-space(@name)='bbb']
Selezione degli elementi BBB per i quali l'attributo name ha valore bbb: spazi precedenti e successivi vengono rimossi prima del confronto.

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 5 > Esempio 5

Vista ad albero

//BBB[not(@*)]
Selezione degli elementi BBB che non possiedono attributi.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 5 > Esempio 4

Vista ad albero

//BBB[@*]
Selezione degli elementi BBB che possiedono almeno un attributo.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 5 > Esempio 3

Vista ad albero

//BBB[@name]
Selezione degli elementi BBB che possiedono l'attributo name.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 5 > Esempio 2

Vista ad albero

//BBB[@id]
Selezione degli elementi BBB che possiedono l'attributo id.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 5 > Esempio 1

Vista ad albero

//@id
Selezione di tutti gli attributi id.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 5 << | Precedente | Successivo

Gli attributi sono preceduti dal prefisso @
//@id
Selezione di tutti gli attributi id.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//BBB[@id]
Selezione degli elementi BBB che possiedono l'attributo id.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//BBB[@name]
Selezione degli elementi BBB che possiedono l'attributo name.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//BBB[@*]
Selezione degli elementi BBB che possiedono almeno un attributo.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//BBB[not(@*)]
Selezione degli elementi BBB che non possiedono attributi.

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 4 > Esempio 2

Vista ad albero

/AAA/BBB[last()]
Selezione dell'ultimo figlio BBB dell'elemento AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 4 > Esempio 1

Vista ad albero

/AAA/BBB[1]
Selezione del primo figlio BBB dell'elemento AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 4 << | Precedente | Successivo

Le espressioni all'interno di parentesi quadre consentono di specificare ulteriormente la locazione di un elemento. Un valore numerico all'interno delle parentesi quadre consente di specificare la posizione di un elemento all'interno dell'insieme selezionato. La funzione last() seleziona l'ultimo elemento dell'insieme.
/AAA/BBB[1]
Selezione del primo figlio BBB dell'elemento AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/AAA/BBB[last()]
Selezione dell'ultimo figlio BBB dell'elemento AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 3 > Esempio 3

Vista ad albero

//*
Selezione di tutti gli elementi.

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 3 > Esempio 2

Vista ad albero

/*/*/*/BBB
Selezione di tutti gli elementi BBB che possiedono 3 progenitori.

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 3 > Esempio 1

Vista ad albero

/AAA/CCC/DDD/*
Selezione di tutti gli elementi inclusi nel percorso /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 3 << | Precedente | Successivo

L'asterisco * seleziona tutti gli elementi localizzati dal path precedente.
/AAA/CCC/DDD/*
Selezione di tutti gli elementi inclusi nel percorso /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/*/*/*/BBB
Selezione di tutti gli elementi BBB che possiedono 3 progenitori.

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//*
Selezione di tutti gli elementi.

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 2 > Esempio 2

Vista ad albero

//DDD/BBB
Selezione di tutti gli elementi BBB che sono figli di DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 2 > Esempio 1

Vista ad albero

//BBB
Selezione di tutti gli elementi BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 22 > Esempio 3

Vista ad albero

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Selezione dell'elemento (o degli elementi) CCC localizzato in posizioni centrali.

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 22 > Esempio 2

Vista ad albero

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Selezione dell'elemento (o degli elementi) BBB localizzato in posizioni centrali.

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 22 > Esempio 1

Vista ad albero

//BBB[position() mod 2 = 0 ]
Selezione degli elementi BBB localizzati in posizioni pari.

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 22 << | Precedente | Successivo

L'operatore div esegue una divisione a virgola mobile, l'operatore mod restituisce il resto di una divisione con troncamento. La funzione floor() restituisce l'intero più grande minore del suo argomento. La funzione ceiling() restituisce l'intero più piccolo maggiore del suo argomento.
//BBB[position() mod 2 = 0 ]
Selezione degli elementi BBB localizzati in posizioni pari.

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Selezione dell'elemento (o degli elementi) BBB localizzato in posizioni centrali.

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
Selezione dell'elemento (o degli elementi) CCC localizzato in posizioni centrali.

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 21 > Esempio 6

Vista ad albero

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 21 > Esempio 5

Vista ad albero

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 21 > Esempio 4

Vista ad albero

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 21 > Esempio 3

Vista ad albero

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 21 > Esempio 2

Vista ad albero

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 21 > Esempio 1

Vista ad albero

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 21 << | Precedente | Successivo

Gli assi ancestor, descendant, following, preceding e self partizionano un documento (ignorando gli attributi e i nodi di namespace). Il contenuto di tali assi è differente l'uno dagli altri e congiuntamente rappresentano l'insieme di tutti i nodi del documento.
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 20 > Esempio 2

Vista ad albero

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 20 > Esempio 1

Vista ad albero

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 20 << | Precedente | Successivo

L'asse ancestor-or-self contiene il nodo contesuale e i suoi progenitori: dunque, l'asse ancestor-or-self includerà sempre il nodo radice.
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 2 << | Precedente | Successivo

Se il path inizia con // allora vengono selezionati tutti gli elementi del documento che soddisfano i criteri successivi.
//BBB
Selezione di tutti gli elementi BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//DDD/BBB
Selezione di tutti gli elementi BBB che sono figli di DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 1 > Esempio 3

Vista ad albero

/AAA/DDD/BBB
Selezione di tutti gli elementi BBB che sono figli di DDD, a loro volta figli dell'elemento radice AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 1 > Esempio 2

Vista ad albero

/AAA/CCC
Selezione di tutti gli elementi CCC che sono figli dell'elemento radice AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 1 > Esempio 1

Vista ad albero

/AAA
Selezione dell'elemento radice AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 19 > Esempio 2

Vista ad albero

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 19 > Esempio 1

Vista ad albero

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 19 << | Precedente | Successivo

L'asse descendant-or-self contiene il nodo contestuale e i suoi discendenti.
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 18 > Esempio 2

Vista ad albero

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 18 > Esempio 1

Vista ad albero

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 18 << | Precedente | Successivo

L'asse preceding contiene tutti i nodi che sono presenti nello stesso documento del nodo contestuale e che sono precedenti rispetto a esso secondo l'ordine del documento, esclusi nodi progenitori, di attributo o di namespace
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 17 > Esempio 2

Vista ad albero

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 17 > Esempio 1

Vista ad albero

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 17 << | Precedente | Successivo

L'asse following contiene tutti i nodi che sono presenti nello stesso documento del nodo contestuale e che sono successivi rispetto a esso secondo l'ordine del documento, esclusi nodi discendenti, di attributo o di namespace.
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 16 > Esempio 2

Vista ad albero

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 16 > Esempio 1

Vista ad albero

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 16 << | Precedente | Successivo

L'asse preceding-sibling contiene tutti i precedenti nodi-fratello del nodo contestuale.
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 15 > Esempio 2

Vista ad albero

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 15 > Esempio 1

Vista ad albero

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 15 << | Precedente | Successivo

L'asse following-sibling contiene tutti i successivi nodi-fratello del nodo contestuale.
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 14 > Esempio 2

Vista ad albero

//FFF/ancestor::*
Selezione dei progenitori dell'elemento FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 14 > Esempio 1

Vista ad albero

/AAA/BBB/DDD/CCC/EEE/ancestor::*
Selezione di tutti gli elementi che figurano in questo path assoluto.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 14 << | Precedente | Successivo

L'asse ancestor contiene i progenitori del nodo contestuale: i progenitori del nodo contestuale consistono nel genitore del nodo contestuale, nel genitore del genitore e così via. Dunque, l'asse ancestor contiene sempre il nodo radice, tranne nel caso in cui il nodo contestuale sia esso stesso il nodo radice.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Selezione di tutti gli elementi che figurano in questo path assoluto.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//FFF/ancestor::*
Selezione dei progenitori dell'elemento FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 13 > Esempio 1

Vista ad albero

//DDD/parent::*
Selezione di tutti i nodi genitore dell'elemento DDD

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 13 << | Precedente | Successivo

L'asse parent contiene (se esiste) il genitore del nodo contestuale.
//DDD/parent::*
Selezione di tutti i nodi genitore dell'elemento DDD

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 12 > Esempio 4

Vista ad albero

//CCC/descendant::DDD
Selezione degli elementi DDD che presentano CCC fra i loro progenitori.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 12 > Esempio 3

Vista ad albero

//CCC/descendant::*
Selezione di tutti gli elementi che presentano CCC fra i loro progenitori.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 12 > Esempio 2

Vista ad albero

/AAA/BBB/descendant::*
Selezione di tutti i discendenti di /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 12 > Esempio 1

Vista ad albero

/descendant::*
Selezione di tutti i discendenti della radice del documento: dunque, tutti gli elementi presenti nel documento.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 12 << | Precedente | Successivo

L'asse descendant contiene i discendenti del nodo contestuale; un discendente è un figlio o il figlio di un figlio e così via. Dunque, l'asse descendant non contiene mai nodi di attributo o di namespace.
/descendant::*
Selezione di tutti i discendenti della radice del documento: dunque, tutti gli elementi presenti nel documento.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/AAA/BBB/descendant::*
Selezione di tutti i discendenti di /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//CCC/descendant::*
Selezione di tutti gli elementi che presentano CCC fra i loro progenitori.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
//CCC/descendant::DDD
Selezione degli elementi DDD che presentano CCC fra i loro progenitori.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 11 > Esempio 5

Vista ad albero

/child::AAA/BBB
Entrambe le possibilità possono essere combinate.

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 11 > Esempio 4

Vista ad albero

/child::AAA/child::BBB
Equivalente a /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 11 > Esempio 3

Vista ad albero

/AAA/BBB
Equivalente a /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 11 > Esempio 2

Vista ad albero

/child::AAA
Equivalente a /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 11 > Esempio 1

Vista ad albero

/AAA
Equivalente a /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 11 << | Precedente | Successivo

L'asse child contiene i nodi figli del nodo contestuale. Tale asse è quello di default e può essere omesso.
/AAA
Equivalente a /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/child::AAA
Equivalente a /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/AAA/BBB
Equivalente a /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/child::AAA/child::BBB
Equivalente a /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/child::AAA/BBB
Entrambe le possibilità possono essere combinate.

<AAA>
<BBB/>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 10 > Esempio 3

Vista ad albero

/AAA/EEE | //DDD/CCC | /AAA | //BBB
Il numero di combinazioni non è soggetto a limiti.

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 10 > Esempio 2

Vista ad albero

/AAA/EEE | //BBB
Selezione di tutti gli elementi BBB e degli elementi EEE che sono figli dell'elemento radice AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
Esempio 10 > Esempio 1

Vista ad albero

//CCC | //BBB
Selezione di tutti gli elementi CCC e BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Apri l'esempio in XLab. | Vai all'esempio


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 10 << | Precedente | Successivo

Path distinti possono essere composti tra loro grazie al separatore |
//CCC | //BBB
Selezione di tutti gli elementi CCC e BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/AAA/EEE | //BBB
Selezione di tutti gli elementi BBB e degli elementi EEE che sono figli dell'elemento radice AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
Il numero di combinazioni non è soggetto a limiti.

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | По-русски | Deutsch | 中文 | >> Italiano << ZVON > Tutorials > XPath Tutorial
Introduzione / Ricerca / ZVON
>> Esempio 1 << | Precedente | Successivo

La sintassi XPath di base è simile al sistema di indirizzamento utilizzato all'interno di un filesystem. Se il path inizia con lo slash /, esso rappresenta un percorso assoluto verso l'elemento richiesto.
/AAA
Selezione dell'elemento radice AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/AAA/CCC
Selezione di tutti gli elementi CCC che sono figli dell'elemento radice AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)
/AAA/DDD/BBB
Selezione di tutti gli elementi BBB che sono figli di DDD, a loro volta figli dell'elemento radice AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Apri l'esempio in XLab. | Vista ad albero (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano
Введение / Поиск / ZVON
  • Примеры
  • >> Выражения XPath <<
//* (дерево)
/AAA (дерево)
/AAA (дерево)
//BBB (дерево)
//@id (дерево)
/AAA/CCC (дерево)
/AAA/BBB (дерево)
//DDD/BBB (дерево)
//BBB[@*] (дерево)
/*/*/*/BBB (дерево)
//BBB[@id] (дерево)
/child::AAA (дерево)
/AAA/BBB[1] (дерево)
/AAA/DDD/BBB (дерево)
//BBB[@name] (дерево)
//CCC | //BBB (дерево)
//GGG/self::* (дерево)
/descendant::* (дерево)
/AAA/CCC/DDD/* (дерево)
//BBB[not(@*)] (дерево)
/child::AAA/BBB (дерево)
//DDD/parent::* (дерево)
//BBB[@id='b1'] (дерево)
//*[count(*)=2] (дерево)
//*[count(*)=3] (дерево)
/AAA/EEE | //BBB (дерево)
/AAA/BBB[last()] (дерево)
//FFF/ancestor::* (дерево)
//GGG/ancestor::* (дерево)
//*[count(BBB)=2] (дерево)
//*[name()='BBB'] (дерево)
//ZZZ/following::* (дерево)
//GGG/preceding::* (дерево)
//GGG/following::* (дерево)
//GGG/preceding::* (дерево)
//BBB[@name='bbb'] (дерево)
//CCC/descendant::* (дерево)
//GGG/descendant::* (дерево)
//CCC/descendant::DDD (дерево)
/AAA/XXX/following::* (дерево)
/AAA/XXX/preceding::* (дерево)
/child::AAA/child::BBB (дерево)
/AAA/BBB/descendant::* (дерево)
//GGG/ancestor-or-self::* (дерево)
//*[contains(name(),'C')] (дерево)
//CCC/following-sibling::* (дерево)
//CCC/preceding-sibling::* (дерево)
//CCC/descendant-or-self::* (дерево)
//BBB[position() mod 2 = 0 ] (дерево)
//*[starts-with(name(),'B')] (дерево)
/AAA/BBB/following-sibling::* (дерево)
/AAA/XXX/preceding-sibling::* (дерево)
/AAA/XXX/descendant-or-self::* (дерево)
//*[string-length(name()) = 3] (дерево)
//*[string-length(name()) < 3] (дерево)
//*[string-length(name()) > 3] (дерево)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (дерево)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (дерево)
//BBB[normalize-space(@name)='bbb'] (дерево)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (дерево)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (дерево)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (дерево)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (дерево)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano
Введение / Поиск / ZVON
  • >> Примеры <<
  • Выражения XPath
Пример 1
Базовый синтаксис языка XPath похож на адресацию в файловой системе. Если путь начинается с символа '/', то он представляет абсолютный путь к заданному элементу.
Пример 2
Если путь начинается с //, то будут выбраны все элементы документа, которые соответствуют указанному шаблону.
Пример 3
Символ '*' указывает, что надо выбрать все элементы, соответствующие пути перед ней.
Пример 4
Выражение в квадратных скобках позволяет задавать более четкие критерии для элемента. Так число в квадратных скобках обозначает позицию элемента в выбранном множестве. Функция last() позволяет указать последний элемент в выборке.
Пример 5
Атрибуты определяются префиксом @.
Пример 6
Значения атрибутов могут служить критерием при выборке. Функция normalize-space() удаляет пробелы в начале и конце параметра, а все последовательности пробельных символов заменяет одиночным пробелом.
Пример 7
Функция count() возвращает число элементов в указанном множестве.
Пример 8
Функция name() возвращает имя элемента. Функция starts-with() возвращает истину, если строка первого аргумента начинается строкой второго аргумента. Функция contains() возвращает истину, если строка из первого аргумента содержит строку из второго.
Пример 9
Функция string-length() возвращает число символов в строке. Следует использовать &lt; вместо <, так как символ '<' зарезервирован для нужд разметки.
Пример 10
Несколько путей можно скомбинировать с помощью разделителя |.
Пример 11
Ось child содержит дочерние элементы контекстного узла. Ось child является осью, применяемой по умолчанию, и может быть опущена.
Пример 12
Ось descendant содержит потомков контекстного узла; потомком является дочерний элемент, дочерний элемент дочернего элемента и так далее; таким образом ось descendant не содержит узлов атрибутов и пространств имен.
Пример 13
Ось parent содержит родителя контекстного узла, если он существует.
Пример 14
Ось ancestor содержит предков контекстного узла; предками контесктного узла являются родитель контесктного узла, родитель родителя и так далее; Таким образом, ось ancestor всегда включает корневой узел, заисключением случая, когда контекстный узел является корневым.
Пример 15
Ось following-sibling содержит все следующих братьев контекстного узла. Братьями называются те узлы, что имеют одного родителя с контекстным.
Пример 16
Ось preceding-sibling содержит всех предыдущих братьев контекстного узла.
Пример 17
Ось following содержит в том же порядке, что и в самом документе, все узлы, идущие после контекстного, за исключением всех потомков, узлов атрибутов и пространств имен.
Пример 18
Ось preceding содержит в том же порядке, что и в самом документе, все узлы, идущие перед контекстным узлом, исключая любых предков, узлов атрибутов и пространств имен.
Пример 19
Ось descendant-or-self содержит контекстный узел и всех его потомков.
Пример 20
Ось ancestor-or-self содержит контекстный узел и всех его предков; таким образом, эта ось всегда содержит корневой узел.
Пример 21
Оси ancestor, descendant, following, preceding и self axes покрывают документ (за исключением узлов атрибутов и пространств имен): они не перескаются и вместе содержат все узлы документа.
Пример 22
Оператор div производит деление, оператор mod возвращает остаток от деления нацело. Функция floor возвращает максимальное целое чило, не большее аргумента. Функция ceiling возвращает минимальное целое число, не меньшее аргумента.


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 9 > Выборка 3

Как дерево

//*[string-length(name()) > 3]
Выбираются все элементы, имя которых состоит более чем из трех символов

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 9 > Выборка 2

Как дерево

//*[string-length(name()) < 3]
Выбираются все элементы, имя которых состоит из двух или одного символа

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 9 > Выборка 1

Как дерево

//*[string-length(name()) = 3]
Выбираются все элементы, имя которых состоит из трех символов

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 9 << | Назад | Вперед

Функция string-length() возвращает число символов в строке. Следует использовать &lt; вместо <, так как символ '<' зарезервирован для нужд разметки.
//*[string-length(name()) = 3]
Выбираются все элементы, имя которых состоит из трех символов

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//*[string-length(name()) < 3]
Выбираются все элементы, имя которых состоит из двух или одного символа

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//*[string-length(name()) > 3]
Выбираются все элементы, имя которых состоит более чем из трех символов

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 8 > Выборка 3

Как дерево

//*[contains(name(),'C')]
Выбираются все элементы, имя которых содержит C

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 8 > Выборка 2

Как дерево

//*[starts-with(name(),'B')]
Выбираются все элементы, имя которых начинается с B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 8 > Выборка 1

Как дерево

//*[name()='BBB']
Выбираются все элементы с именем BBB; эквивалентно пути //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 8 << | Назад | Вперед

Функция name() возвращает имя элемента. Функция starts-with() возвращает истину, если строка первого аргумента начинается строкой второго аргумента. Функция contains() возвращает истину, если строка из первого аргумента содержит строку из второго.
//*[name()='BBB']
Выбираются все элементы с именем BBB; эквивалентно пути //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//*[starts-with(name(),'B')]
Выбираются все элементы, имя которых начинается с B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//*[contains(name(),'C')]
Выбираются все элементы, имя которых содержит C

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 7 > Выборка 3

Как дерево

//*[count(*)=3]
Выбираются элементы, имеющие три произвольных дочерних элемента

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 7 > Выборка 2

Как дерево

//*[count(*)=2]
Выбираются элементы, имеющие два произвольных дочерних элемента

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 7 > Выборка 1

Как дерево

//*[count(BBB)=2]
Выбираются элементы, имеющие два дочерних элемента BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 7 << | Назад | Вперед

Функция count() возвращает число элементов в указанном множестве.
//*[count(BBB)=2]
Выбираются элементы, имеющие два дочерних элемента BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//*[count(*)=2]
Выбираются элементы, имеющие два произвольных дочерних элемента

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//*[count(*)=3]
Выбираются элементы, имеющие три произвольных дочерних элемента

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 6 > Выборка 3

Как дерево

//BBB[normalize-space(@name)='bbb']
Выбираются элементы BBB, имеющие атрибут name со значением, которое после нормализации будет идентично bbb

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 6 > Выборка 2

Как дерево

//BBB[@name='bbb']
Выбираются элементы BBB, имеющие атрибут name со значением 'bbb'

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 6 > Выборка 1

Как дерево

//BBB[@id='b1']
Выбираются элементы BBB, имеющие атрибут id со значением b1

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 6 << | Назад | Вперед

Значения атрибутов могут служить критерием при выборке. Функция normalize-space() удаляет пробелы в начале и конце параметра, а все последовательности пробельных символов заменяет одиночным пробелом.
//BBB[@id='b1']
Выбираются элементы BBB, имеющие атрибут id со значением b1

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//BBB[@name='bbb']
Выбираются элементы BBB, имеющие атрибут name со значением 'bbb'

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//BBB[normalize-space(@name)='bbb']
Выбираются элементы BBB, имеющие атрибут name со значением, которое после нормализации будет идентично bbb

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 5 > Выборка 5

Как дерево

//BBB[not(@*)]
Выбираются элементы BBB, не имеющие ни одного атрибута

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 5 > Выборка 4

Как дерево

//BBB[@*]
Выбираются элементы BBB, имеющие хоть какой-нибудь атрибут

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 5 > Выборка 3

Как дерево

//BBB[@name]
Выбираются элементы BBB, имеющие атрибут name

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 5 > Выборка 2

Как дерево

//BBB[@id]
Выбираются элементы BBB, имеющие атрибут id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 5 > Выборка 1

Как дерево

//@id
Выбираются все атрибуты @id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 5 << | Назад | Вперед

Атрибуты определяются префиксом @.
//@id
Выбираются все атрибуты @id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//BBB[@id]
Выбираются элементы BBB, имеющие атрибут id

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//BBB[@name]
Выбираются элементы BBB, имеющие атрибут name

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//BBB[@*]
Выбираются элементы BBB, имеющие хоть какой-нибудь атрибут

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//BBB[not(@*)]
Выбираются элементы BBB, не имеющие ни одного атрибута

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 4 > Выборка 2

Как дерево

/AAA/BBB[last()]
Будет выбран последний потомок BBB элемента AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 4 > Выборка 1

Как дерево

/AAA/BBB[1]
Будет выбран первый потомок BBB элемента AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 4 << | Назад | Вперед

Выражение в квадратных скобках позволяет задавать более четкие критерии для элемента. Так число в квадратных скобках обозначает позицию элемента в выбранном множестве. Функция last() позволяет указать последний элемент в выборке.
/AAA/BBB[1]
Будет выбран первый потомок BBB элемента AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/AAA/BBB[last()]
Будет выбран последний потомок BBB элемента AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 3 > Выборка 3

Как дерево

//*
Будут выбраны все элементы

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 3 > Выборка 2

Как дерево

/*/*/*/BBB
Будут выбраны все элементы ВВВ, имеющие трех предков

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 3 > Выборка 1

Как дерево

/AAA/CCC/DDD/*
Будут выбраны все элементы, являющиеся прямыми потомками /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 3 << | Назад | Вперед

Символ '*' указывает, что надо выбрать все элементы, соответствующие пути перед ней.
/AAA/CCC/DDD/*
Будут выбраны все элементы, являющиеся прямыми потомками /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/*/*/*/BBB
Будут выбраны все элементы ВВВ, имеющие трех предков

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//*
Будут выбраны все элементы

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 2 > Выборка 2

Как дерево

//DDD/BBB
Будут выбраны все элементы BBB, являющиеся детьми DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 2 > Выборка 1

Как дерево

//BBB
Будут выбраны все элементы BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 22 > Выборка 3

Как дерево

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 22 > Выборка 2

Как дерево

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 22 > Выборка 1

Как дерево

//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 22 << | Назад | Вперед

Оператор div производит деление, оператор mod возвращает остаток от деления нацело. Функция floor возвращает максимальное целое чило, не большее аргумента. Функция ceiling возвращает минимальное целое число, не меньшее аргумента.
//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 21 > Выборка 6

Как дерево

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 21 > Выборка 5

Как дерево

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 21 > Выборка 4

Как дерево

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 21 > Выборка 3

Как дерево

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 21 > Выборка 2

Как дерево

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 21 > Выборка 1

Как дерево

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 21 << | Назад | Вперед

Оси ancestor, descendant, following, preceding и self axes покрывают документ (за исключением узлов атрибутов и пространств имен): они не перескаются и вместе содержат все узлы документа.
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 20 > Выборка 2

Как дерево

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 20 > Выборка 1

Как дерево

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 20 << | Назад | Вперед

Ось ancestor-or-self содержит контекстный узел и всех его предков; таким образом, эта ось всегда содержит корневой узел.
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 2 << | Назад | Вперед

Если путь начинается с //, то будут выбраны все элементы документа, которые соответствуют указанному шаблону.
//BBB
Будут выбраны все элементы BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//DDD/BBB
Будут выбраны все элементы BBB, являющиеся детьми DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 1 > Выборка 3

Как дерево

/AAA/DDD/BBB
Выбираются все элементы BBB, являющиеся детьми элементов DDD, которые в свою очередь являются детьми корневого узла AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 1 > Выборка 2

Как дерево

/AAA/CCC
Выбираются все элементы CCC, являющиеся дочерними по отношению к корневому узлу AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 1 > Выборка 1

Как дерево

/AAA
Выбирается корневой узел AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 19 > Выборка 2

Как дерево

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 19 > Выборка 1

Как дерево

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 19 << | Назад | Вперед

Ось descendant-or-self содержит контекстный узел и всех его потомков.
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 18 > Выборка 2

Как дерево

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 18 > Выборка 1

Как дерево

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 18 << | Назад | Вперед

Ось preceding содержит в том же порядке, что и в самом документе, все узлы, идущие перед контекстным узлом, исключая любых предков, узлов атрибутов и пространств имен.
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 17 > Выборка 2

Как дерево

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 17 > Выборка 1

Как дерево

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 17 << | Назад | Вперед

Ось following содержит в том же порядке, что и в самом документе, все узлы, идущие после контекстного, за исключением всех потомков, узлов атрибутов и пространств имен.
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 16 > Выборка 2

Как дерево

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 16 > Выборка 1

Как дерево

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 16 << | Назад | Вперед

Ось preceding-sibling содержит всех предыдущих братьев контекстного узла.
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 15 > Выборка 2

Как дерево

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 15 > Выборка 1

Как дерево

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 15 << | Назад | Вперед

Ось following-sibling содержит все следующих братьев контекстного узла. Братьями называются те узлы, что имеют одного родителя с контекстным.
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 14 > Выборка 2

Как дерево

//FFF/ancestor::*
Выбираются все предки элемента FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 14 > Выборка 1

Как дерево

/AAA/BBB/DDD/CCC/EEE/ancestor::*
Выбираются все узлы, перечисленные в этом абсолютном пути

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 14 << | Назад | Вперед

Ось ancestor содержит предков контекстного узла; предками контесктного узла являются родитель контесктного узла, родитель родителя и так далее; Таким образом, ось ancestor всегда включает корневой узел, заисключением случая, когда контекстный узел является корневым.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Выбираются все узлы, перечисленные в этом абсолютном пути

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//FFF/ancestor::*
Выбираются все предки элемента FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 13 > Выборка 1

Как дерево

//DDD/parent::*
Выбираются все родители элемента DDD

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 13 << | Назад | Вперед

Ось parent содержит родителя контекстного узла, если он существует.
//DDD/parent::*
Выбираются все родители элемента DDD

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 12 > Выборка 4

Как дерево

//CCC/descendant::DDD
Выбираются элементы DDD, имеющие в качестве предка элемент CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 12 > Выборка 3

Как дерево

//CCC/descendant::*
Выбираются все элементы, имеющие в качестве предка элемент CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 12 > Выборка 2

Как дерево

/AAA/BBB/descendant::*
Выбираются все потомки элементов, соответствующих пути /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 12 > Выборка 1

Как дерево

/descendant::*
Выбираются все потомки корневого узла, то есть все элементы

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 12 << | Назад | Вперед

Ось descendant содержит потомков контекстного узла; потомком является дочерний элемент, дочерний элемент дочернего элемента и так далее; таким образом ось descendant не содержит узлов атрибутов и пространств имен.
/descendant::*
Выбираются все потомки корневого узла, то есть все элементы

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/AAA/BBB/descendant::*
Выбираются все потомки элементов, соответствующих пути /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//CCC/descendant::*
Выбираются все элементы, имеющие в качестве предка элемент CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
//CCC/descendant::DDD
Выбираются элементы DDD, имеющие в качестве предка элемент CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 11 > Выборка 5

Как дерево

/child::AAA/BBB
Оба варианта можно использовать одновременно

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 11 > Выборка 4

Как дерево

/child::AAA/child::BBB
Эквивалентно /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 11 > Выборка 3

Как дерево

/AAA/BBB
Эквивалентно /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 11 > Выборка 2

Как дерево

/child::AAA
Эквивалентно выражению /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 11 > Выборка 1

Как дерево

/AAA
Эквивалентно выражению /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 11 << | Назад | Вперед

Ось child содержит дочерние элементы контекстного узла. Ось child является осью, применяемой по умолчанию, и может быть опущена.
/AAA
Эквивалентно выражению /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/child::AAA
Эквивалентно выражению /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/AAA/BBB
Эквивалентно /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/child::AAA/child::BBB
Эквивалентно /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/child::AAA/BBB
Оба варианта можно использовать одновременно

<AAA>
<BBB/>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 10 > Выборка 3

Как дерево

/AAA/EEE | //DDD/CCC | /AAA | //BBB
Количество комбинаций не ограничено

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 10 > Выборка 2

Как дерево

/AAA/EEE | //BBB
Выбираются все элементы BBB и все элементы EEE, чьим прямым родителем является корневой элемент AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Пример 10 > Выборка 1

Как дерево

//CCC | //BBB
Выбираются все элементы CCC и BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Открыть пример в XLab | Вернуться к примеру


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 10 << | Назад | Вперед

Несколько путей можно скомбинировать с помощью разделителя |.
//CCC | //BBB
Выбираются все элементы CCC и BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/AAA/EEE | //BBB
Выбираются все элементы BBB и все элементы EEE, чьим прямым родителем является корневой элемент AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
Количество комбинаций не ограничено

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


XPath Tutorial

English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
>> Пример 1 << | Назад | Вперед

Базовый синтаксис языка XPath похож на адресацию в файловой системе. Если путь начинается с символа '/', то он представляет абсолютный путь к заданному элементу.
/AAA
Выбирается корневой узел AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/AAA/CCC
Выбираются все элементы CCC, являющиеся дочерними по отношению к корневому узлу AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)
/AAA/DDD/BBB
Выбираются все элементы BBB, являющиеся детьми элементов DDD, которые в свою очередь являются детьми корневого узла AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Открыть пример в XLab | Как дерево (JPG)


English | česky | Nederlands | Français | Español | >> По-русски << | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Введение / Поиск / ZVON
Начало | Содержание

Miloslav Nic [ nicmila@systinet.com ]

Jiří Jirát [ Jiri.Jirat@systinet.com ]

Переводчик: Vasil Yaroshevich

XPath в примерах

Введение

XPath описан в стандарте XPath 1.0. В пособии с помощью примеров демонстрируются возможности XPath.

Вы можeте начать с:

  • Примера 1

или с помощью содержания слева.

Также обратите внимание на:

  • XLab - interactive XPath experiments
  • XML tutorial
  • DTD tutorial
  • XML Namespace tutorial
  • XHTML 1.0 reference
  • XHTML Basic reference

Авторы

  • Miloslav Nic - программы и примеры
  • Jiri Jirat - графика - представление примеров как дерево
  • В.Ярошевич - перевод
Ключевые слова: tutorial, transformations, XSLT, XML, XPath

This material can be downloaded for off-line use.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License"

The programs used to prepare this reference are covered by GNU General Public License"


English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Inicio | Indice

Miloslav Nic [ nicmila@systinet.com ]

Jiří Jirát [ Jiri.Jirat@systinet.com ]

Translation: Ascánder Suárez

Tutorial de XPath

Introducción

La descripción de XPath se encuentra en XPath 1.0 standard. Este tutorial demuestra características seleccionadas de XPath en base a numerosos ejemplos.

El punto de inicio es :

  • Ejemplo 1

o puede seleccionar un ejemplo particular en el panel de izquierda.

Otros documentos

  • XLab - interactive XPath experiments
  • XML tutorial
  • DTD tutorial
  • XML Namespace tutorial
  • XHTML 1.0 reference
  • XHTML Basic reference

Créditos

  • Miloslav Nic - programación y ejemplos
  • Jiri Jirat - vista arborescente de los ejemplos
Palabras claves: tutorial, transformations, XSLT, XML, XPath

This material can be downloaded for off-line use.

Subscribe to ZVON mailing list to get on-line help.
Generated with: | Saxon | Python | Batik |
Copyright (c) 2000 Systinet

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License"

The programs used to prepare this reference are covered by GNU General Public License"


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano
Intro / Buscar / ZVON
  • Examples
  • >> XPaths <<
//* (árbol)
/AAA (árbol)
/AAA (árbol)
//BBB (árbol)
//@id (árbol)
/AAA/CCC (árbol)
/AAA/BBB (árbol)
//DDD/BBB (árbol)
//BBB[@*] (árbol)
/*/*/*/BBB (árbol)
//BBB[@id] (árbol)
/child::AAA (árbol)
/AAA/BBB[1] (árbol)
/AAA/DDD/BBB (árbol)
//BBB[@name] (árbol)
//CCC | //BBB (árbol)
//GGG/self::* (árbol)
/descendant::* (árbol)
/AAA/CCC/DDD/* (árbol)
//BBB[not(@*)] (árbol)
/child::AAA/BBB (árbol)
//DDD/parent::* (árbol)
//BBB[@id='b1'] (árbol)
//*[count(*)=2] (árbol)
//*[count(*)=3] (árbol)
/AAA/EEE | //BBB (árbol)
/AAA/BBB[last()] (árbol)
//FFF/ancestor::* (árbol)
//GGG/ancestor::* (árbol)
//*[count(BBB)=2] (árbol)
//*[name()='BBB'] (árbol)
//ZZZ/following::* (árbol)
//GGG/preceding::* (árbol)
//GGG/following::* (árbol)
//GGG/preceding::* (árbol)
//BBB[@name='bbb'] (árbol)
//CCC/descendant::* (árbol)
//GGG/descendant::* (árbol)
//CCC/descendant::DDD (árbol)
/AAA/XXX/following::* (árbol)
/AAA/XXX/preceding::* (árbol)
/child::AAA/child::BBB (árbol)
/AAA/BBB/descendant::* (árbol)
//GGG/ancestor-or-self::* (árbol)
//*[contains(name(),'C')] (árbol)
//CCC/following-sibling::* (árbol)
//CCC/preceding-sibling::* (árbol)
//CCC/descendant-or-self::* (árbol)
//BBB[position() mod 2 = 0 ] (árbol)
//*[starts-with(name(),'B')] (árbol)
/AAA/BBB/following-sibling::* (árbol)
/AAA/XXX/preceding-sibling::* (árbol)
/AAA/XXX/descendant-or-self::* (árbol)
//*[string-length(name()) = 3] (árbol)
//*[string-length(name()) < 3] (árbol)
//*[string-length(name()) > 3] (árbol)
/AAA/BBB/DDD/CCC/EEE/ancestor::* (árbol)
/AAA/EEE | //DDD/CCC | /AAA | //BBB (árbol)
//BBB[normalize-space(@name)='bbb'] (árbol)
/AAA/XXX/DDD/EEE/ancestor-or-self::* (árbol)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (árbol)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ] (árbol)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::* (árbol)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano
Intro / Buscar / ZVON
  • >> Examples <<
  • XPaths
Ejemplo 1
La sintaxis básica de XPath es similar a la del direccionamiento de ficheros. Un camino que se inicia con '/', representa un camino absoluto hacia el elemento requerido.
Ejemplo 2
Cuando el camino se inicia con '//' todos los elementos en el documento que cumplen con el criterio que sigue son seleccionados.
Ejemplo 3
El asterisco '*' selecciona todos los elementos ubicados por el camino que lo precede.
Ejemplo 4
Una expresión entre corchetes permite precisar la especificación de un elemento. Un número dentro de los corchetes representa la posición del elemento en el conjunto seleccionado. La función last() selecciona el último elemento en la selección.
Ejemplo 5
Los atributos se especifican con el símbolo prefijo '@'.
Ejemplo 6
Los valores de los atributos pueden ser utilizados como criterio de selección. La función 'normalize-space' elimina los espacios al principio y al final, así como tambien remplaza las secuencias de blancos por un solo espacio.
Ejemplo 7
La función count() cuenta el número de elementos seleccionados
Ejemplo 8
La función name() produce el nombre del elemento seleccionado, la función 'starts-with' es verdadera cuando la cadena de caracteres pasada en primer argumento tiene como prefijo al segundo argumento. Lo función 'contains' es verdadera cuando la cadena del primer argumento contiene al segundo argumento.
Ejemplo 9
La función 'string-length' produce el número de caracteres de su argumento. Se debe utilizar &lt; en remplazo de < y &gt; en remplazo de >.
Ejemplo 10
Diferentes caminos pueden ser combinados con el separador '|'.
Ejemplo 11
El eje 'child' contiene a los hijos del nodo del contexto. El eje 'child' es el seleccionado por defecto y puede ser omitido.
Ejemplo 12
El eje 'descendant' contiene a los descendientes del nodo de contexto; los descendientes son los hijos del nodo y sus descendientes; El eje 'descendant' nunca contiene ni atributos ni nodos 'namespace'.
Ejemplo 13
El eje 'parent' contiene el padre del nodo del contexto, si éste existe.
Ejemplo 14
El eje 'ancestor' contiene los ancestros del nodo del contexto, que son el padre del nodo y sus ancestros; Se deduce entonces que el eje 'ancestor' de un patron correspondiente a al menos un nodo contiene el elemento raiz salvo en el caso de que el contexto especifique únicamente la raiz misma.
Ejemplo 15
El eje 'following-sibling' contiene todos los nodos hermanos que siguen el nodo del contexto.
Ejemplo 16
El eje 'preceding-sibling' contiene todos los elementos hermanos que preceden el nodo del contexto.
Ejemplo 17
El eje 'following' contiene todos los nodos del documento que se encuentran luego del nodo del contexto. Esto no incluye ancestros, descendientes, nodos de atributo ni nodos 'namespace'.
Ejemplo 18
El eje 'preceding' contiene todos los nodos del documento que se encuentran antes del nodo del contexto. Esto no incluye ancestros, descendientes, nodos de atributo ni nodos 'namespace'.
Ejemplo 19
El eje 'descendant-or-self' contiene el nodo contexto y sus descendentes.
Ejemplo 20
El eje 'ancestor-or-self' contiene el nodo del contexto así como sus ancestros; El eje 'ancestor-or-self' contiene el nodo raiz salvo en el caso donde el patron que precede al eje no especifique ningún nodo del documento.
Ejemplo 21
Para un camino que especifica un único elemento de un documento, los ejes 'ancestor', 'descendant', 'following', 'preceding' y 'self' constituyen una partición de ese documento (no tomando en cuenta nodos de atributos ni de 'namespace'): No tienen nodos en comun y juntos especifican todos los nodos del documento.
Ejemplo 22
El operador 'div' realiza divisiones en punto flotante, el operador 'mod' calcula el residuo entero de la división. El operador 'floor' calcula el más grande entero que no es mayor que el argumento. la función 'ceiling' produce el mas pequeño entero que no es menor que el argumento.


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 9 > Muestra 3

Vista arborescente

//*[string-length(name()) > 3]
Selecciona elementos cuyo nombre tenga más de tres caracteres

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 9 > Muestra 2

Vista arborescente

//*[string-length(name()) < 3]
Selecciona elementos cuyo nombre contenga uno o dos caracteres

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 9 > Muestra 1

Vista arborescente

//*[string-length(name()) = 3]
Selecciona elementos con tres caracteres en su nombre

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 9 << | Ant | Prox

La función 'string-length' produce el número de caracteres de su argumento. Se debe utilizar &lt; en remplazo de < y &gt; en remplazo de >.
//*[string-length(name()) = 3]
Selecciona elementos con tres caracteres en su nombre

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//*[string-length(name()) < 3]
Selecciona elementos cuyo nombre contenga uno o dos caracteres

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//*[string-length(name()) > 3]
Selecciona elementos cuyo nombre tenga más de tres caracteres

<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 8 > Muestra 3

Vista arborescente

//*[contains(name(),'C')]
Selecciona todos los elementos cuyo nombre contenga la letra C

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 8 > Muestra 2

Vista arborescente

//*[starts-with(name(),'B')]
Selecciona todos los elementos cuyo nombre se inicie con la letra B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 8 > Muestra 1

Vista arborescente

//*[name()='BBB']
Selecciona todos los elementos BBB, equivalente a //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 8 << | Ant | Prox

La función name() produce el nombre del elemento seleccionado, la función 'starts-with' es verdadera cuando la cadena de caracteres pasada en primer argumento tiene como prefijo al segundo argumento. Lo función 'contains' es verdadera cuando la cadena del primer argumento contiene al segundo argumento.
//*[name()='BBB']
Selecciona todos los elementos BBB, equivalente a //BBB

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//*[starts-with(name(),'B')]
Selecciona todos los elementos cuyo nombre se inicie con la letra B

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//*[contains(name(),'C')]
Selecciona todos los elementos cuyo nombre contenga la letra C

<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 7 > Muestra 3

Vista arborescente

//*[count(*)=3]
Selecciona elementos con 3 hijos

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 7 > Muestra 2

Vista arborescente

//*[count(*)=2]
Selecciona elementos con dos hijos

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 7 > Muestra 1

Vista arborescente

//*[count(BBB)=2]
Selecciona los elementos que contienen dos hijos BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 7 << | Ant | Prox

La función count() cuenta el número de elementos seleccionados
//*[count(BBB)=2]
Selecciona los elementos que contienen dos hijos BBB

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//*[count(*)=2]
Selecciona elementos con dos hijos

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//*[count(*)=3]
Selecciona elementos con 3 hijos

<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 6 > Muestra 3

Vista arborescente

//BBB[normalize-space(@name)='bbb']
Selecciona los elementos BBB cuyo atributo 'name' tiene por valor 'bbb' una vez eliminados los espacios al principio y al final

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 6 > Muestra 2

Vista arborescente

//BBB[@name='bbb']
Selecciona los elementos BBB cuyo atributo 'name' tiene por valor 'bbb'

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 6 > Muestra 1

Vista arborescente

//BBB[@id='b1']
Selecciona los elementos BBB cuyo atributo 'id' tiene por valor 'b1'

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 6 << | Ant | Prox

Los valores de los atributos pueden ser utilizados como criterio de selección. La función 'normalize-space' elimina los espacios al principio y al final, así como tambien remplaza las secuencias de blancos por un solo espacio.
//BBB[@id='b1']
Selecciona los elementos BBB cuyo atributo 'id' tiene por valor 'b1'

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//BBB[@name='bbb']
Selecciona los elementos BBB cuyo atributo 'name' tiene por valor 'bbb'

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//BBB[normalize-space(@name)='bbb']
Selecciona los elementos BBB cuyo atributo 'name' tiene por valor 'bbb' una vez eliminados los espacios al principio y al final

<AAA>
<BBB id = "b1"/>
<BBB name = " bbb "/>
<BBB name = "bbb"/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 5 > Muestra 5

Vista arborescente

//BBB[not(@*)]
Selecciona los elementos BBB que no contienen atributos

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 5 > Muestra 4

Vista arborescente

//BBB[@*]
Selecciona los elementos BBB que contienen algún atributo

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 5 > Muestra 3

Vista arborescente

//BBB[@name]
Selecciona los elementos BBB que contienen un atributo 'name'

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 5 > Muestra 2

Vista arborescente

//BBB[@id]
Selecciona los elementos BBB que contienen un atributo 'id'

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 5 > Muestra 1

Vista arborescente

//@id
Selecciona todos los atributos 'id'

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 5 << | Ant | Prox

Los atributos se especifican con el símbolo prefijo '@'.
//@id
Selecciona todos los atributos 'id'

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//BBB[@id]
Selecciona los elementos BBB que contienen un atributo 'id'

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//BBB[@name]
Selecciona los elementos BBB que contienen un atributo 'name'

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//BBB[@*]
Selecciona los elementos BBB que contienen algún atributo

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//BBB[not(@*)]
Selecciona los elementos BBB que no contienen atributos

<AAA>
<BBB id = "b1"/>
<BBB id = "b2"/>
<BBB name = "bbb"/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 4 > Muestra 2

Vista arborescente

/AAA/BBB[last()]
Selecciona el último hijo BBB del elemento AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 4 > Muestra 1

Vista arborescente

/AAA/BBB[1]
Selecciona el primer hijo BBB del elemento AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 4 << | Ant | Prox

Una expresión entre corchetes permite precisar la especificación de un elemento. Un número dentro de los corchetes representa la posición del elemento en el conjunto seleccionado. La función last() selecciona el último elemento en la selección.
/AAA/BBB[1]
Selecciona el primer hijo BBB del elemento AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/AAA/BBB[last()]
Selecciona el último hijo BBB del elemento AAA

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 3 > Muestra 3

Vista arborescente

//*
Selecciona todos los elementos

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 3 > Muestra 2

Vista arborescente

/*/*/*/BBB
Selecciona todos los elementos BBB incluidos en exactamente 3 ancestros

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 3 > Muestra 1

Vista arborescente

/AAA/CCC/DDD/*
Selecciona todos los elementos contenidos en el camino /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 3 << | Ant | Prox

El asterisco '*' selecciona todos los elementos ubicados por el camino que lo precede.
/AAA/CCC/DDD/*
Selecciona todos los elementos contenidos en el camino /AAA/CCC/DDD

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/*/*/*/BBB
Selecciona todos los elementos BBB incluidos en exactamente 3 ancestros

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//*
Selecciona todos los elementos

<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BBB>
</BBB>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 2 > Muestra 2

Vista arborescente

//DDD/BBB
Selecciona todos los elementos BBB que son hijos de DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 2 > Muestra 1

Vista arborescente

//BBB
Selecciona todos los elementos BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 22 > Muestra 3

Vista arborescente

//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 22 > Muestra 2

Vista arborescente

//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 22 > Muestra 1

Vista arborescente

//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 22 << | Ant | Prox

El operador 'div' realiza divisiones en punto flotante, el operador 'mod' calcula el residuo entero de la división. El operador 'floor' calcula el más grande entero que no es mayor que el argumento. la función 'ceiling' produce el mas pequeño entero que no es menor que el argumento.
//BBB[position() mod 2 = 0 ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]

<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
<CCC/>
<CCC/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 21 > Muestra 6

Vista arborescente

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 21 > Muestra 5

Vista arborescente

//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 21 > Muestra 4

Vista arborescente

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 21 > Muestra 3

Vista arborescente

//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 21 > Muestra 2

Vista arborescente

//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 21 > Muestra 1

Vista arborescente

//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 21 << | Ant | Prox

Para un camino que especifica un único elemento de un documento, los ejes 'ancestor', 'descendant', 'following', 'preceding' y 'self' constituyen una partición de ese documento (no tomando en cuenta nodos de atributos ni de 'namespace'): No tienen nodos en comun y juntos especifican todos los nodos del documento.
//GGG/ancestor::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//GGG/descendant::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//GGG/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>
<BBB>
<CCC/>
<ZZZ/>
</BBB>
<XXX>
<DDD>
<EEE/>
<FFF>
<HHH/>
<GGG>
<JJJ>
<QQQ/>
</JJJ>
<JJJ/>
</GGG>
<HHH/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 20 > Muestra 2

Vista arborescente

//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 20 > Muestra 1

Vista arborescente

/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 20 << | Ant | Prox

El eje 'ancestor-or-self' contiene el nodo del contexto así como sus ancestros; El eje 'ancestor-or-self' contiene el nodo raiz salvo en el caso donde el patron que precede al eje no especifique ningún nodo del documento.
/AAA/XXX/DDD/EEE/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//GGG/ancestor-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 2 << | Ant | Prox

Cuando el camino se inicia con '//' todos los elementos en el documento que cumplen con el criterio que sigue son seleccionados.
//BBB
Selecciona todos los elementos BBB

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//DDD/BBB
Selecciona todos los elementos BBB que son hijos de DDD

<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 1 > Muestra 3

Vista arborescente

/AAA/DDD/BBB
Selecciona todos los elementos BBB que son hijos de DDD, que a su vez son hijos del elemento raiz AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 1 > Muestra 2

Vista arborescente

/AAA/CCC
Selecciona todos los elementos CCC que son hijos del elemento raiz AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 1 > Muestra 1

Vista arborescente

/AAA
Selecciona el elemento raiz AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 19 > Muestra 2

Vista arborescente

//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 19 > Muestra 1

Vista arborescente

/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 19 << | Ant | Prox

El eje 'descendant-or-self' contiene el nodo contexto y sus descendentes.
/AAA/XXX/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//CCC/descendant-or-self::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 18 > Muestra 2

Vista arborescente

//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 18 > Muestra 1

Vista arborescente

/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 18 << | Ant | Prox

El eje 'preceding' contiene todos los nodos del documento que se encuentran antes del nodo del contexto. Esto no incluye ancestros, descendientes, nodos de atributo ni nodos 'namespace'.
/AAA/XXX/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//GGG/preceding::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
</ZZZ>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 17 > Muestra 2

Vista arborescente

//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 17 > Muestra 1

Vista arborescente

/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 17 << | Ant | Prox

El eje 'following' contiene todos los nodos del documento que se encuentran luego del nodo del contexto. Esto no incluye ancestros, descendientes, nodos de atributo ni nodos 'namespace'.
/AAA/XXX/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//ZZZ/following::*

<AAA>
<BBB>
<CCC/>
<ZZZ>
<DDD/>
<DDD>
<EEE/>
</DDD>
</ZZZ>
<FFF>
<GGG/>
</FFF>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 16 > Muestra 2

Vista arborescente

//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 16 > Muestra 1

Vista arborescente

/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 16 << | Ant | Prox

El eje 'preceding-sibling' contiene todos los elementos hermanos que preceden el nodo del contexto.
/AAA/XXX/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//CCC/preceding-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 15 > Muestra 2

Vista arborescente

//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 15 > Muestra 1

Vista arborescente

/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 15 << | Ant | Prox

El eje 'following-sibling' contiene todos los nodos hermanos que siguen el nodo del contexto.
/AAA/BBB/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//CCC/following-sibling::*

<AAA>
<BBB>
<CCC/>
<DDD/>
</BBB>
<XXX>
<DDD>
<EEE/>
<DDD/>
<CCC/>
<FFF/>
<FFF>
<GGG/>
</FFF>
</DDD>
</XXX>
<CCC>
<DDD/>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 14 > Muestra 2

Vista arborescente

//FFF/ancestor::*
Selecciona los ancestros de cada elemento FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 14 > Muestra 1

Vista arborescente

/AAA/BBB/DDD/CCC/EEE/ancestor::*
Selecciona exactamente los elementos que aparecen en este camino absoluto

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 14 << | Ant | Prox

El eje 'ancestor' contiene los ancestros del nodo del contexto, que son el padre del nodo y sus ancestros; Se deduce entonces que el eje 'ancestor' de un patron correspondiente a al menos un nodo contiene el elemento raiz salvo en el caso de que el contexto especifique únicamente la raiz misma.
/AAA/BBB/DDD/CCC/EEE/ancestor::*
Selecciona exactamente los elementos que aparecen en este camino absoluto

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//FFF/ancestor::*
Selecciona los ancestros de cada elemento FFF

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 13 > Muestra 1

Vista arborescente

//DDD/parent::*
Selecciona el padres de cada elemento DDD

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 13 << | Ant | Prox

El eje 'parent' contiene el padre del nodo del contexto, si éste existe.
//DDD/parent::*
Selecciona el padres de cada elemento DDD

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 12 > Muestra 4

Vista arborescente

//CCC/descendant::DDD
Selecciona todos elementos DDD con un ancestro CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 12 > Muestra 3

Vista arborescente

//CCC/descendant::*
Selecciona todos elementos con un ancestro CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 12 > Muestra 2

Vista arborescente

/AAA/BBB/descendant::*
Selecciona todos los descendientes de /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 12 > Muestra 1

Vista arborescente

/descendant::*
Selecciona todos los descendientes de la raiz, es decir, todos los elementos.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 12 << | Ant | Prox

El eje 'descendant' contiene a los descendientes del nodo de contexto; los descendientes son los hijos del nodo y sus descendientes; El eje 'descendant' nunca contiene ni atributos ni nodos 'namespace'.
/descendant::*
Selecciona todos los descendientes de la raiz, es decir, todos los elementos.

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/AAA/BBB/descendant::*
Selecciona todos los descendientes de /AAA/BBB

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//CCC/descendant::*
Selecciona todos elementos con un ancestro CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
//CCC/descendant::DDD
Selecciona todos elementos DDD con un ancestro CCC

<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 11 > Muestra 5

Vista arborescente

/child::AAA/BBB
Ambas formas (haciendo explícito el eje 'child' o no) pueden ser combinadas

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 11 > Muestra 4

Vista arborescente

/child::AAA/child::BBB
El equivalente de /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 11 > Muestra 3

Vista arborescente

/AAA/BBB
Equivalente a /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 11 > Muestra 2

Vista arborescente

/child::AAA
Equivalente a /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 11 > Muestra 1

Vista arborescente

/AAA
Equivalente a /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 11 << | Ant | Prox

El eje 'child' contiene a los hijos del nodo del contexto. El eje 'child' es el seleccionado por defecto y puede ser omitido.
/AAA
Equivalente a /child::AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/child::AAA
Equivalente a /AAA

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/AAA/BBB
Equivalente a /child::AAA/child::BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/child::AAA/child::BBB
El equivalente de /AAA/BBB

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/child::AAA/BBB
Ambas formas (haciendo explícito el eje 'child' o no) pueden ser combinadas

<AAA>
<BBB/>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 10 > Muestra 3

Vista arborescente

/AAA/EEE | //DDD/CCC | /AAA | //BBB
Las posibles combinaciones no estan acotadas

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 10 > Muestra 2

Vista arborescente

/AAA/EEE | //BBB
Selecciona todos los elementos BBB y los elementos EEE que son hijos del elemento raiz AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
Ejemplo 10 > Muestra 1

Vista arborescente

//CCC | //BBB
Selecciona todos los elementos CCC y BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Abrir el ejemplo en XLab. | Ir al ejemplo


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 10 << | Ant | Prox

Diferentes caminos pueden ser combinados con el separador '|'.
//CCC | //BBB
Selecciona todos los elementos CCC y BBB

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/AAA/EEE | //BBB
Selecciona todos los elementos BBB y los elementos EEE que son hijos del elemento raiz AAA

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/AAA/EEE | //DDD/CCC | /AAA | //BBB
Las posibles combinaciones no estan acotadas

<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

English | česky | Nederlands | Français | >> Español << | По-русски | Deutsch | 中文 | Italiano ZVON > Tutorials > XPath Tutorial
Intro / Buscar / ZVON
>> Ejemplo 1 << | Ant | Prox

La sintaxis básica de XPath es similar a la del direccionamiento de ficheros. Un camino que se inicia con '/', representa un camino absoluto hacia el elemento requerido.
/AAA
Selecciona el elemento raiz AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/AAA/CCC
Selecciona todos los elementos CCC que son hijos del elemento raiz AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)
/AAA/DDD/BBB
Selecciona todos los elementos BBB que son hijos de DDD, que a su vez son hijos del elemento raiz AAA

<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Abrir el ejemplo en XLab. | Vista arborescente (JPG)


XPath Tutorial

ZVON > Tutorials > XPath Tutorial
Intro / Search / ZVON

ZVON.org - XPath Tutorial

Please, start with:

  • General/examples.html (English)
  • General_cze/examples.html (česky)
  • General_dut/examples.html (Nederlands)
  • General_fre/examples.html (Français)
  • General_spa/examples.html (Español)
  • General_rus/examples.html (По-русски)
  • General_ger/examples.html (Deutsch)
  • General_chi/examples.html (中文)

Enjoy!
ZVON team
Any suggestions send to webmaster@zvon.org, please.