- XPath - Predicate
- XPath - Wildcard
- XPath - Operators
- XPath - Axes
- XPath - Relative Path
- XPath - Absolute Path
- XPath - Nodes
- XPath - Expression
- XPath - Overview
- XPath - Home
XPath Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
XPath - Quick Guide
XPath - Overview
在学习XPath之前,我们应当首先理解SL,即 ExtensibleStylesheet 如果是超文本文件,则标注如表、四、四舍五入等。 浏览器知道如何给他们添加风格,并用安全局的风格展示。 但是,在XML文件的情况下,标记没有预先界定。 为了理解和模仿XML文件, 万维网集团(W3C)开发了XSL,可充当基于XML的风格表格。 一份XSL文件具体规定浏览器应如何提供XML文件。 以下是国际空间法学会的主要部分: XSLT - 用于将XML文件翻译成其他各类文件。Need for XSL
XPath-用于检索XML文件。
XSL-FO - 用于编制XML文件。
What is XPath?
XPath是万维网集团的一项正式建议。 它界定了在XML档案中查找信息的语文。 它被用于掩盖XML文件的内容和属性。 XPath提供了各种表达方式,可用于查询XML文件的相关信息。
结构定义-XPath对XML文件的某些部分作了定义,如内容、属性、文字、名称、处理、评论和文件节点。
XSLT的主要部分——XPath是XSLT标准的主要内容之一,必须具备知识,以便与异常低价竞标文件合作。
W3C建议——XPath是万维网集团的一项正式建议。
在与卫生局合作时,应当牢记以下几点:
XPath is core component of
standard.XSLT cannot work without XPath.
XPath is basis of XQuery and XPointer.
XPath - Expression
呼吸系统疾病的表述一般界定了一种模式,以便选择一套节点。 这些模式被SLT用于进行改造或X Pointer用于处理目的。
XPath具体说明了7类节点,这些节点可以是执行XPath表述的结果。
Root
Element
Text
Attribute
评论
Processing Instruction
Namespace
XPath使用一条途径,从XML文件中挑选节点或节点清单。
以下是从XML文件中选择任何节点/节点清单的有益途径和表述清单。
S.No. | Expression & Description |
---|---|
1 | 用特定名称选择所有节点 |
2 | 遴选从深层节点开始 |
3 | www.un.org/Depts/DGACM/index_spanish.htm 甄选从目前与甄选相吻合的节点开始。 |
4 | <>。 选择目前的节点 |
5 | <>。 选择目前的代号的母子 |
6 | @ 选择属性 |
7 | <student 例——用“student”名称选择所有节点 |
8 | 例——选择属于班级儿童的所有学生。 |
9 | 选择所有学生,不论他们是否在文件中 |
Example
例如,我们制作了XML文件样本、学生xml及其风格文件students.xsl。 使用了elect下的XPath表述,称各种XSL标签的属性,以获得每个学生节点的头号、最后名称、nick名和标志。
students.xml
<?xml version = "1.0"?> <?xml-stylesheet type = "text/xsl" href = "students.xsl"?> <class> <student rollno = "393"> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> </student> <student rollno = "493"> <firstname>Vaneet</firstname> <lastname>Gupta</lastname> <nickname>Vinni</nickname> <marks>95</marks> </student> <student rollno = "593"> <firstname>Jasvir</firstname> <lastname>Singh</lastname> <nickname>Jazz</nickname> <marks>90</marks> </student> </class>
students.xsl
<?xml version = "1.0" encoding = "UTF-8"?> <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "/"> <html> <body> <h2>Students</h2> <table border = "1"> <tr bgcolor = "#9acd32"> <th>Roll No</th> <th>First Name</th> <th>Last Name</th> <th>Nick Name</th> <th>Marks</th> </tr> <xsl:for-each select = "class/student"> <tr> <td> <xsl:value-of select = "@rollno"/></td> <td><xsl:value-of select = "firstname"/></td> <td><xsl:value-of select = "lastname"/></td> <td><xsl:value-of select = "nickname"/></td> <td><xsl:value-of select = "marks"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Verify the output
XPath - Nodes
在本章中,我们注意到《健康宣言》在涉及常见的节点、XPath定义和处理细节方面的表述。
S.No. | Node Type & Description |
---|---|
1 | XML文件的基本内容。 |
2 | 内容编号。 |
3 | 内容案文。 |
4 | 内容提要 |
5 | 评论 |
XPath - Absolute Path
定位途径具体指明了XML文件中的节点。 这条道路可以是绝对的,也可以是相对的。 如果地点的道路从根底线开始,或从表面上开始,那是一条绝对的道路。 以下是利用绝对道路确定要素的例子。
<xsl:for-each select = "/class/student">
<p><xsl:value-of select = "/class/student/firstname"/></p>
Example
例如,我们制作了XML文件样本students.xml及其风格文件students.xsl。 使用了XPath语。
以下是使用的XML样本。
students.xml
<?xml version = "1.0"?> <?xml-stylesheet type = "text/xsl" href = "students.xsl"?> <class> <student rollno = "393"> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> </student> <student rollno = "493"> <firstname>Vaneet</firstname> <lastname>Gupta</lastname> <nickname>Vinni</nickname> <marks>95</marks> </student> <student rollno = "593"> <firstname>Jasvir</firstname> <lastname>Singh</lastname> <nickname>Jazz</nickname> <marks>90</marks> </student> </class>
students.xsl
<?xml version = "1.0" encoding = "UTF-8"?> <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "/" > <html> <body> <h3>Details of each Students. </h3> <table border = "1"> <tr bgcolor = "#9acd32"> <th>Roll No</th> <th>First Name</th> <th>Last Name</th> <th>Nick Name</th> <th>Marks</th> </tr> <tr> <td><xsl:value-of select = "/class/student[1]/@rollno"/></td> <td><xsl:value-of select = "/class/student[1]/firstname"/></td> <td><xsl:value-of select = "/class/student[1]/lastname"/></td> <td><xsl:value-of select = "/class/student[1]/nickname"/></td> <td><xsl:value-of select = "/class/student[1]/marks"/></td> </tr> <tr> <td> <xsl:value-of select = "/class/student/@rollno"/> </td> <td><xsl:value-of select = "/class/student[2]/firstname"/></td> <td><xsl:value-of select = "/class/student[2]/lastname"/></td> <td><xsl:value-of select = "/class/student[2]/nickname"/></td> <td><xsl:value-of select = "/class/student[2]/marks"/></td> </tr> <tr> <td> <xsl:value-of select = "/class/student[3]/@rollno"/> </td> <td><xsl:value-of select = "/class/student[3]/firstname"/></td> <td><xsl:value-of select = "/class/student[3]/lastname"/></td> <td><xsl:value-of select = "/class/student[3]/nickname"/></td> <td><xsl:value-of select = "/class/student[3]/marks"/></td> </tr> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Verify the output
XPath - Relative Path
定位途径具体指明了XML文件中的节点。 这条道路可以是绝对的,也可以是相对的。 如果从我们所选择的节点开始地点,那就是一个相对的道路。
以下是利用相对途径确定要素的例子。
<p><xsl:value-of select = "firstname"/></p>
Example
例如,我们制作了XML文件样本students.xml及其风格文件students.xsl。 使用了XPath语。
以下是使用的XML样本。
students.xml
<?xml version = "1.0"?> <?xml-stylesheet type = "text/xsl" href = "students.xsl"?> <class> <student rollno = "393"> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> </student> <student rollno = "493"> <firstname>Vaneet</firstname> <lastname>Gupta</lastname> <nickname>Vinni</nickname> <marks>95</marks> </student> <student rollno = "593"> <firstname>Jasvir</firstname> <lastname>Singh</lastname> <nickname>Jazz</nickname> <marks>90</marks> </student> </class>
students.xsl
<?xml version = "1.0" encoding = "UTF-8"?> <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "/" > <html> <body> <h3>Details of each Students. </h3> <table border = "1"> <tr bgcolor = "#9acd32"> <th>Roll No</th> <th>First Name</th> <th>Last Name</th> <th>Nick Name</th> <th>Marks</th> </tr> <xsl:for-each select = "/class/student"> <tr> <td><xsl:value-of select = "@rollno"/></td> <td><xsl:value-of select = "firstname"/></td> <td><xsl:value-of select = "lastname"/></td> <td><xsl:value-of select = "nickname"/></td> <td><xsl:value-of select = "marks"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Verify the output
XPath - Axes
由于定位途径界定了使用绝对或相对途径的噪音的位置,因此轴心用于通过诸如 父母、子女、兄弟、等关系确定元素。 轴心指某一要素的轴心。
以下是各种轴心数值清单。
S.No. | Axis & Description |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | <following >Represents all nodes come after the present node. |
8 | following-sibpng >>Represents the following sibpngs of the context node. png胎的浓度水平与目前的胎盘相同,并且与母体相同。 |
9 | |
10 | |
11 | |
12 |
以下是一些使用轴心的例子。
<p><xsl:value-of select = "firstname"/></p> <xsl:value-of select = "/class/student/preceding-sibpng::comment()"/>
Example
例如,我们制作了XML文件样本students.xml及其风格文件students.xsl。 使用了XPath语。
以下是使用的XML样本。
students.xml
<?xml version = "1.0"?> <?xml-stylesheet type = "text/xsl" href = "students.xsl"?> <class> <!-- 评论: This is a pst of student --> <student rollno = "393"> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> </student> <student rollno = "493"> <firstname>Vaneet</firstname> <lastname>Gupta</lastname> <nickname>Vinni</nickname> <marks>95</marks> </student> <student rollno = "593"> <firstname>Jasvir</firstname> <lastname>Singh</lastname> <nickname>Jazz</nickname> <marks>90</marks> </student> </class>
students.xsl
<?xml version = "1.0" encoding = "UTF-8"?> <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "/" > <html> <body> <xsl:value-of select = "/class/student/preceding-sibpng::comment()"/> <br/> <xsl:text>First Student: </xsl:text> <xsl:value-of select = "/class/student/child::firstname" /> </body> </html> </xsl:template> </xsl:stylesheet>
Verify the output
XPath - Operators
在本章中,我们看到XPath的操作者和职能,其详细内容涵盖常用的XPath defines和handles。 XPath对Nodes、Sting、编号和Bolean类的操作员和职能进行了定义。
以下是我们将讨论的名单。
S.No. | Operators/Functions & Description |
---|---|
1 | 比较运营商对数值。 |
2 | g. 农民经营人进行检查、检查或安装;而不是功能。 |
3 | 操作员/职能编号。 |
4 | 各种职能。 |
5 | 各种职能和运营商按点行事。 |
XPath - Wildcard
XPath对拟用XPath表示的 no子下定义如下:
S.No. | WildCard & Description |
---|---|
1 | |
2 | <>。 used to match the current node in context. |
3 | |
4 | node(>> >>p> 用于与任何类型之代之比 |
Example
举例来说,每名学生都可以通过洗手,制作一张有细节内容的表格。
students.xml
<?xml version = "1.0"?> <?xml-stylesheet type = "text/xsl" href = "students.xsl"?> <class> <student rollno = "393"> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> </student> <student rollno = "493"> <firstname>Vaneet</firstname> <lastname>Gupta</lastname> <nickname>Vinni</nickname> <marks>95</marks> </student> <student rollno = "593"> <firstname>Jasvir</firstname> <lastname>Singh</lastname> <nickname>Jazz</nickname> <marks>90</marks> </student> </class>
students.xsl
<?xml version = "1.0" encoding = "UTF-8"?> <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "/"> <html> <body> <h2>Students</h2> <xsl:apply-templates select = "class/*" /> </body> </html> </xsl:template> <xsl:template match = "class/*"> <xsl:apply-templates select = "@rollno" /> <xsl:apply-templates select = "firstname" /> <xsl:apply-templates select = "lastname" /> <xsl:apply-templates select = "nickname" /> <xsl:apply-templates select = "marks" /> <br /> </xsl:template> <xsl:template match = "@rollno"> <span style = "font-size = 22px;"> <xsl:value-of select = "." /> </span> <br /> </xsl:template> <xsl:template match = "firstname"> First Name:<span style = "color:blue;"> <xsl:value-of select = "." /> </span> <br /> </xsl:template> <xsl:template match = "lastname"> Last Name:<span style = "color:green;"> <xsl:value-of select = "." /> </span> <br /> </xsl:template> <xsl:template match = "nickname"> Nick Name:<span style = "color:red;"> <xsl:value-of select = "." /> </span> <br /> </xsl:template> <xsl:template match = "marks"> Marks:<span style = "color:gray;"> <xsl:value-of select = "." /> </span> <br /> </xsl:template> </xsl:stylesheet>
Verify the output
XPath - Predicate
序号是指在方括号中书写的XPath表述。 它提到在某些条件下限制选定的节点。 例如,
S.No. | Predicate & Description |
---|---|
1 | |
2 | |
3 | |
4 |
Example
举例来说,每名学生都可以通过洗手,制作一张有细节内容的表格。 It calculates the position of the student node and then prints the student(s) details along with serial no.
students.xml
<?xml version = "1.0"?> <?xml-stylesheet type = "text/xsl" href = "students.xsl"?> <class> <student rollno = "393"> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> </student> <student rollno = "493"> <firstname>Vaneet</firstname> <lastname>Gupta</lastname> <nickname>Vinni</nickname> <marks>95</marks> </student> <student rollno = "593"> <firstname>Jasvir</firstname> <lastname>Singh</lastname> <nickname>Jazz</nickname> <marks>90</marks> </student> </class>
students.xsl
<?xml version = "1.0" encoding = "UTF-8"?> <xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "/"> <html> <body> <h2>Students</h2> <table border = "1"> <tr bgcolor = "#9acd32"> <th>Roll No</th> <th>First Name</th> <th>Last Name</th> <th>Nick Name</th> <th>Marks</th> </tr> <xsl:for-each select = "/class/student[1]"> <tr> <td><xsl:value-of select = "@rollno"/></td> <td><xsl:value-of select = "firstname"/></td> <td><xsl:value-of select = "lastname"/></td> <td><xsl:value-of select = "nickname"/></td> <td><xsl:value-of select = "marks"/></td> </tr> </xsl:for-each> <xsl:for-each select = "/class/student[last()]"> <tr> <td><xsl:value-of select = "@rollno"/></td> <td><xsl:value-of select = "firstname"/></td> <td><xsl:value-of select = "lastname"/></td> <td><xsl:value-of select = "nickname"/></td> <td><xsl:value-of select = "marks"/></td> </tr> </xsl:for-each> <xsl:for-each select = "/class/student[@rollno = 493]"> <tr> <td><xsl:value-of select = "@rollno"/></td> <td><xsl:value-of select = "firstname"/></td> <td><xsl:value-of select = "lastname"/></td> <td><xsl:value-of select = "nickname"/></td> <td><xsl:value-of select = "marks"/></td> </tr> </xsl:for-each> <xsl:for-each select = "/class/student[marks > 85]"> <tr> <td><xsl:value-of select = "@rollno"/></td> <td><xsl:value-of select = "firstname"/></td> <td><xsl:value-of select = "lastname"/></td> <td><xsl:value-of select = "nickname"/></td> <td><xsl:value-of select = "marks"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>