T086ѧϰ�� | վ��ѧԺ | �����ĵ� | ���� | Ъ���� | IP��ַ��ѯ | �������� | ���ջ��� | �����ֵ� | ���ù��� | ������Ϣ��ѯ

XSLT�������ŵ����£�XPath���﷨

�� �������ߣ����� ����ʱ�䣺2005-04-30 | ���壺�� �� С��
[����]4.XPath���﷨ ������ǰ���Ѿ��ᵽ����XPath����������XSLT��XMLԴ�ĵ��в��Ҷ�λ��Ϣ�����ԡ���ʵ��ʹ�ù����У�XPath��XSLT���ǻ���һ��ʹ�ã�������һ�µ��﷨�����������Ѿ���ʹ�õ�XPath���﷨��ֻ��û����ȷ��...

4.XPath���﷨

������ǰ���Ѿ��ᵽ����XPath����������XSLT��XMLԴ�ĵ��в��Ҷ�λ��Ϣ�����ԡ���ʵ��ʹ�ù����У�XPath��XSLT���ǻ���һ��ʹ�ã�������һ�µ��﷨�����������Ѿ���ʹ�õ�XPath���﷨��ֻ��û����ȷ��������W3C�����Ƿֳ�������׼����������Ҳ�����Dz������������⡣

4.XPath���﷨

4.1 ��ǰλ��
4.2 Ѱַ����
4.3 ������
4.4 ���ܺ���

4.1 ��ǰλ��

������ʹ��XSLT����XMLԴ�ĵ��ǣ�������Context����ʾ��ǰ���ڱ�ģ�崦���Ľڵ�λ�á�����xsl:template match="/"�����б�ʾContext���ĵ��ĸ�(root)�ڵ㡣�Ҳ�֪������׼ȷ�ķ���Context�����ʣ���������C��������ָ�룬��ʾ������ǰ���е�λ�á�����Context������ȷ����XSLģ���dz���Ҫ��������XSLģ���������ĵ�������Ҫ�IJ�һ��������Ӧ�÷����ľ���Context�����
Location Paths�������趨����ҪѰ�ҵ�Context�ڵ�λ�á�������DOS��Ŀ¼������ǿ�������

<xsl:for-each select="child::PEOPLE/descendant::PERSON">

����child::PEOPLE/descendant::PERSON����XPath�﷨����������ʽ����һ��Location Paths������˵��Ҫ��ʾ����PEOPLEԪ�ص���Ԫ�غ�����PERSONԪ�ص���Ԫ�ء�ͨ�����ǻ����ø��򵥵�д����

<xsl:for-each select="PEOPLE//PERSON">

����������path�����ֱ�ʾ������"/"��"//"��
"/"�DZ�ʾ��ǰ�ĵ��Ľڵ�,����DOSĿ¼�ָ��������磺/PEOPLE��ʾѡ�����ڵ��µ�PEOPLEԪ�أ�PEOPLE/PERSON��ʾѡ��PEOPLEԪ�������е�PESON��Ԫ�ء�
"//"����ʾ��ǰ�ĵ����еĽڵ㡣���Ʋ鿴����Ŀ¼�����磺//PEOPLE��ʾѡ���ĵ������е�PEOPLEԪ�أ���������ʲô���Σ�PEOPLE//PERSON��ʾ��PEOPLEԪ�������е�PERSONԪ�أ��������IJ��ζ��

4.2 Ѱַ����

Axis��Predicate��XPath�﷨�ж�Location Paths���ж�λ�������﷨���������÷��б�����

Axis�﷨��
--------------------------------------------------------
����ʽ ��д ˵��
--------------------------------------------------------
self . ѡ����ǰ�Ľڵ�.��
���� :
<TD><xsl:value-of select="."/></TD>
������ʾ�ڵ�ǰλ�ò��뵱ǰ�Ľڵ��������ı�(text)ֵ��
--------------------------------------------------------
parent .. ѡ����ǰ�ڵ��ĸ��ڵ㡣
--------------------------------------------------------
attribute @ ѡ��һ��Ԫ�ص��������ԡ�
����:
<TD><xsl:value-of select="@PERSONID"/></TD>
ѡ��PERSONԪ�ص���������.
--------------------------------------------------------
child ѡ����ǰ�ڵ���������Ԫ�ء�
--------------------------------------------------------
ancestor ѡ����ǰ�ڵ������и�Ԫ��(������Ԫ�صĸ�Ԫ�أ�����)
--------------------------------------------------------

Axis��������ѡ����ǰ�ڵ���Χ���еĽڵ㣬��Predicate��������λ��ǰ�ڵ��ڲ���Ԫ�ء���ʾ����Ϊ������[]�мӱ���ʽ��[ Expression ]��������������:

PERSON[position()=2]
����������ʾѰ�ҵڶ���"PERSON" Ԫ��

PERSON[starts-with(name, "B")]
����������ʾѰ������������"B"��ͷ��PERSONԪ�ء�

4.3 ������

��һ�ڽ���XPath��������(Expressions)���б����£�
--------------------------------------------------------
������ ˵��
--------------------------------------------------------
and, or ������ͨ������and, or
--------------------------------------------------------
= ����
--------------------------------------------------------
!= ������
--------------------------------------------------------
>, >= ���ڣ����ڵ���
--------------------------------------------------------
<, <= С�ڣ�С�ڵ��ڡ�ע�⣺��XSL�ļ��У�<����Ҫ��< ��ʾ
--------------------------------------------------------
+, -, *, div �Ӽ��˳�
--------------------------------------------------------
mod ȡģ
--------------------------------------------------------
| �����ڵ�һ������
--------------------------------------------------------

4.4 ���ܺ���(Functions)

��XPath���кܶ๦�ܺ������԰������Ǿ�ȷѰ����Ҫ�Ľڵ㡣

count()����
���ã�ͳ�Ƽ��������ط��������Ľڵ��ĸ�����
������<p><xsl:value-of select="count(PERSON[name=tom])"/></p>
˵������������;����ʾPERSONԪ������������ֵΪtom�м�����

number()����
���ã������Ե�ֵ�е��ı�ת��Ϊ��ֵ��
������<p>The number is: <xsl:value-of select="number(book/price)"/></p>
˵������������;����ʾ���ļ۸���

substring() ����
�﷨��substring(value, start, length)
���ã���ȡ�ַ�����
������<p><xsl:value-of select="substring(name, 1, 3)"/></p>
˵������������;�ǽ�ȡnameԪ�ص�ֵ���ӵ�һ����ĸ��ʼ��ʾ����������

sum()����
���ã����͡�
������<p>Total Price = <xsl:value-of select="sum(//price)"/></p>
˵������������;�Ǽ������м۸��ĺ͡�

������Щ����ֻ��XPath�﷨�е�һ���֣����д����Ĺ��ܺ���û�н��ܣ�����ĿǰXPath���﷨��Ȼ�ڲ��Ϸ�չ�С�ͨ����Щ�������ǿ���ʵ�ָ��Ӹ��ӵIJ�ѯ�Ͳ�����

����������ǵ����Ž̳̾Ϳ������ˡ�ͨ�������ۻ�ʽ�Ŀ���ѧϰ��ϣ�����Ҷ�XSLTӦ������һ���������XSLT��һ��ת��XML�ĵ������ԣ��������������̣�ת���͸�ʽ����XSLT�Ĺ��ܱ�CSSǿ���ö࣬�����������ݲ�ѯ���﷨����������XSLT����Ȥ����ô���ϵ�֪ʶ��ԶԶ�����ģ���Ҫ��ѯ���������ϡ�����������һ�¸�¼Ϊ�����ṩ����Ҫ��XSLT��Դ��

4.4 ���ܺ���(Functions)

��XPath���кܶ๦�ܺ������԰������Ǿ�ȷѰ����Ҫ�Ľڵ㡣

count()����
���ã�ͳ�Ƽ��������ط��������Ľڵ��ĸ�����
������<p><xsl:value-of select="count(PERSON[name=tom])"/></p>
˵������������;����ʾPERSONԪ������������ֵΪtom�м�����

number()����
���ã������Ե�ֵ�е��ı�ת��Ϊ��ֵ��
������<p>The number is: <xsl:value-of select="number(book/price)"/></p>
˵������������;����ʾ���ļ۸���

substring() ����
�﷨��substring(value, start, length)
���ã���ȡ�ַ�����
������<p><xsl:value-of select="substring(name, 1, 3)"/></p>
˵������������;�ǽ�ȡnameԪ�ص�ֵ���ӵ�һ����ĸ��ʼ��ʾ����������

sum()����
���ã����͡�
������<p>Total Price = <xsl:value-of select="sum(//price)"/></p>
˵������������;�Ǽ������м۸��ĺ͡�

������Щ����ֻ��XPath�﷨�е�һ���֣����д����Ĺ��ܺ���û�н��ܣ�����ĿǰXPath���﷨��Ȼ�ڲ��Ϸ�չ�С�ͨ����Щ�������ǿ���ʵ�ָ��Ӹ��ӵIJ�ѯ�Ͳ�����

����������ǵ����Ž̳̾Ϳ������ˡ�ͨ�������ۻ�ʽ�Ŀ���ѧϰ��ϣ�����Ҷ�XSLTӦ������һ���������XSLT��һ��ת��XML�ĵ������ԣ��������������̣�ת���͸�ʽ����XSLT�Ĺ��ܱ�CSSǿ���ö࣬�����������ݲ�ѯ���﷨����������XSLT����Ȥ����ô���ϵ�֪ʶ��ԶԶ�����ģ���Ҫ��ѯ���������ϡ�����������һ�¸�¼Ϊ�����ṩ����Ҫ��XSLT��Դ��

  • ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
  • �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
������ѯ Health Check Gulangyu
© 2017 T086ѧϰ�� - T086.com(ԭitlearner.com)
RunTime:16.04ms QueryTime:7