刚刚开始研究XSLT。只是想知道如何计算国际球员的数量?另一件事是他国际球员的平均身高?
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="soccer.xslt"?>
<footballclub>
<player>
<based>international</based>
<height>5.5</height >
<build>medium</build>
<age>24</age>
</player>
<player>
<based>local</based>
<height>5.5</height >
<build>medium</build>
<age>24</age>
</player>
<player>
<based>international</based>
<height>5.5</height >
<build>medium</build>
<age>24</age>
</player>
<player>
<based>local</based>
<height>5.5</height >
<build>medium</build>
<age>24</age>
</player>
</footballclub>
尝试了以下;
count(//football/plooter/ased [not(waster :: ased :: asede ='international')])xslt:
<?xml version='1.0' encoding="utf-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.0" />
<xsl:template match="/">
<html>
<head >
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>bombers FC</title>
</head>
<body>
NUMBER OF INTERNATIONAL PLAYERS IS:<xsl:value-of select="count(//football/player/based[not(following::based='international')])"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
结果应阅读:国际球员的数量是:2
您的xpath需要更改...
XML输入(纠正为良好形成)
<footballclub>
<player>
<based>international</based>
<height>5.5</height>
<build>medium</build>
<age>24</age>
</player>
<player>
<based>local</based>
<height>5.5</height>
<build>medium</build>
<age>24</age>
</player>
<player>
<based>international</based>
<height>5.5</height>
<build>medium</build>
<age>24</age>
</player>
<player>
<based>local</based>
<height>5.5</height>
<build>medium</build>
<age>24</age>
</player>
</footballclub>
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.0"/>
<xsl:template match="/">
<html>
<head>
<title>bombers FC</title>
</head>
<body>
<p>
<xsl:text>NUMBER OF INTERNATIONAL PLAYERS IS: </xsl:text>
<xsl:value-of select="count(footballclub/player[based='international'])"/>
</p>
<p>
<xsl:text>AVERAGE HEIGHT OF INTERNATIONAL PLAYERS IS: </xsl:text>
<xsl:value-of select="sum(footballclub/player[based='international']/height) div count(footballclub/player[based='international'])"/>
</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
输出
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>bombers FC</title>
</head>
<body>
<p>NUMBER OF INTERNATIONAL PLAYERS IS: 2</p>
<p>AVERAGE HEIGHT OF INTERNATIONAL PLAYERS IS: 5.375</p>
</body>
</html>