« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
| 公告 |
用一句流行话说,我是外行,我怕谁!
嘿嘿!其实嘛,我是说,我什么都不懂,说错了你别见怪!
|
Blog信息 |
blog名称:X'Me, Love 日志总数:20 评论数量:40 留言数量:0 访问次数:151362 建立时间:2008年8月8日 |

| |
[xmlStudy]xslt学习:axis::的abbreviattion 文章收藏
半路和尚 发表于 2008/10/12 23:05:15 |
Axis child:: can be be omitted from a location step as it is the default axis.
Axis child:: 可以省略,因为它是默认axis。
Axis attribute:: can be abbreviatet to @.
Axis attribute::可以缩略为@。
// is short for /descendant-or-self::, . is short for self:: and .. is short for parent::.
// 是/descendant-or-self::的缩略;.是self::的缩略;..是parent::的缩略。
以下是示例文件。
一、xml文件
<?xml version="1.0"?> <xslTutorial > <AAA id='a1' pos='start'> <BBB id='b1'/> <BBB id='b2'/> </AAA> <AAA id='a2'> <BBB id='b3'/> <BBB id='b4'/> <CCC id='c1'> <CCC id='c2'/> </CCC> <BBB id='b5'> <CCC id='c3'/> </BBB> </AAA> </xslTutorial>
二、xslStylesheet 1
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="AAA"> <H3><xsl:value-of select="name()"/> <xsl:text> </xsl:text> <xsl:value-of select="@id"/></H3> <TABLE border="1"> <TR><TH>full</TH><TH>abbreviated</TH></TR> <TR><TD> <xsl:text> child::BBB/attribute::id</xsl:text> </TD><TD> <xsl:text> BBB/@id</xsl:text> </TD></TR> <TR><TD> <xsl:value-of select="child::BBB/attribute::id"/> </TD><TD> <xsl:value-of select="BBB/@id"/> </TD></TR> </TABLE>
</xsl:template> </xsl:stylesheet>
HTML output 1
<H3>AAA a1</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>child::BBB/attribute::id</TD> <TD>BBB/@id</TD></TR> <TR> <TD>b1</TD> <TD>b1</TD></TR></TABLE> <H3>AAA a2</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>child::BBB/attribute::id</TD> <TD>BBB/@id</TD></TR> <TR> <TD>b3</TD> <TD>b3</TD></TR></TABLE>
OUTPUT 1
AAA a1
full
abbreviated
child::BBB/attribute::id
BBB/@id
b1
b1
AAA a2
full
abbreviated
child::BBB/attribute::id
BBB/@id
b3
b3
三、xslStylesheet2
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="BBB"> <H3><xsl:value-of select="name()"/> <xsl:text> </xsl:text> <xsl:value-of select="@id"/></H3> <TABLE border="1"> <TR><TH>full</TH><TH>abbreviated</TH></TR> <TR><TD> <xsl:text> parent::*/attribute::id</xsl:text> </TD><TD> <xsl:text> ../@id</xsl:text> </TD></TR> <TR><TD> <xsl:value-of select="parent::*/attribute::id"/> </TD><TD> <xsl:value-of select="../@id"/> </TD></TR> </TABLE> </xsl:template> </xsl:stylesheet>
HTML output 2
<H3>BBB b1</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>parent::*/attribute::id</TD> <TD>../@id</TD></TR> <TR> <TD>a1</TD> <TD>a1</TD></TR></TABLE> <H3>BBB b2</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>parent::*/attribute::id</TD> <TD>../@id</TD></TR> <TR> <TD>a1</TD> <TD>a1</TD></TR></TABLE> <H3>BBB b3</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>parent::*/attribute::id</TD> <TD>../@id</TD></TR> <TR> <TD>a2</TD> <TD>a2</TD></TR></TABLE> <H3>BBB b4</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>parent::*/attribute::id</TD> <TD>../@id</TD></TR> <TR> <TD>a2</TD> <TD>a2</TD></TR></TABLE> <H3>BBB b5</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>parent::*/attribute::id</TD> <TD>../@id</TD></TR> <TR> <TD>a2</TD> <TD>a2</TD></TR></TABLE>
OUTPUT 2
BBB b1
full
abbreviated
parent::*/attribute::id
../@id
a1
a1
BBB b2
full
abbreviated
parent::*/attribute::id
../@id
a1
a1
BBB b3
full
abbreviated
parent::*/attribute::id
../@id
a2
a2
BBB b4
full
abbreviated
parent::*/attribute::id
../@id
a2
a2
BBB b5
full
abbreviated
parent::*/attribute::id
../@id
a2
a2
四、XSL stylesheet 3
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="CCC"> <H3><xsl:value-of select="name()"/> <xsl:text> </xsl:text> <xsl:value-of select="@id"/></H3> <TABLE border="1"> <TR><TH>full</TH><TH>abbreviated</TH></TR> <TR><TD> <xsl:text> name(/descendant-or-self::*)</xsl:text> </TD><TD> <xsl:text> name(//*)</xsl:text> </TD></TR> <TR><TD> <xsl:value-of select="name(/descendant-or-self::*)"/> </TD><TD> <xsl:value-of select="name(//*)"/> </TD></TR> </TABLE> <xsl:apply-templates/ > </xsl:template> </xsl:stylesheet>
HTML output 3
<H3>CCC c1</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>name(/descendant-or-self::*)</TD> <TD>name(//*)</TD></TR> <TR> <TD>xslTutorial</TD> <TD>xslTutorial</TD></TR></TABLE> <H3>CCC c2</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>name(/descendant-or-self::*)</TD> <TD>name(//*)</TD></TR> <TR> <TD>xslTutorial</TD> <TD>xslTutorial</TD></TR></TABLE> <H3>CCC c3</H3> <TABLE border="1"> <TR> <TH>full</TH> <TH>abbreviated</TH></TR> <TR> <TD>name(/descendant-or-self::*)</TD> <TD>name(//*)</TD></TR> <TR> <TD>xslTutorial</TD> <TD>xslTutorial</TD></TR></TABLE>
OUTPUT 3
CCC c1
full
abbreviated
name(/descendant-or-self::*)
name(//*)
xslTutorial
xslTutorial
CCC c2
full
abbreviated
name(/descendant-or-self::*)
name(//*)
xslTutorial
xslTutorial
CCC c3
full
abbreviated
name(/descendant-or-self::*)
name(//*)
xslTutorial
xslTutorial |
|
|