<?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 / player / based [not(following :: based ='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
答案 0 :(得分:1)
你的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>