Я не могу понять, почему мой код не работает, единственный способ получить любой xsl для рендеринга - это использовать. оператор при использовании value-of select, который просто распечатывает каждое значение моего xml. Если вы измените значение select = "hey" на "." он будет показывать все, но когда я пытаюсь просто выбрать конкретный элемент, я ничего не получаю.XSL-значение select не работает
Это код, я работаю с:
<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Midterm Project
New York Knicks
Author: Nick Johnson
Date: 3/15/2015
Filename: roster.xml
Supporting File: roster.xsd
-->
<!-- roster vocabulary -->
<?xml-stylesheet type="text/xsl" href="rosterxsl.xsl"?>
<roster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://example.com/XMLProject/roster"
xsi:SchemaLocation="http://example.com/XMLProject roster.xsd">
<hey>TEST</hey>
\t \t <player lineup="starter">
\t \t \t <fName>Carmelo</fName>
\t \t \t <lName>Anthony</lName>
\t \t \t <age>30</age>
\t \t \t <number>7</number>
\t \t \t <position>Foward</position>
\t \t \t <college>Syracuse</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Quincy</fName>
\t \t \t <lName>Acy</lName>
\t \t \t <age>24</age>
\t \t \t <number>4</number>
\t \t \t <position>Foward</position>
\t \t \t <college>Baylor</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Cole</fName>
\t \t \t <lName>Aldrich</lName>
\t \t \t <age>26</age>
\t \t \t <number>45</number>
\t \t \t <position>Center</position>
\t \t \t <college>Kansas</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Lou</fName>
\t \t \t <lName>Amundson</lName>
\t \t \t <age>32</age>
\t \t \t <number>21</number>
\t \t \t <position>Center</position>
\t \t \t <college>Nevada</college>
\t \t </player>
\t \t
\t \t <player lineup="starter">
\t \t \t <fName>Andrea</fName>
\t \t \t <lName>Bargnani</lName>
\t \t \t <age>29</age>
\t \t \t <number>77</number>
\t \t \t <position>Center</position>
\t \t \t <college>Italy College</college>
\t \t </player>
\t \t
\t \t <player lineup="starter">
\t \t \t <fName>Jose</fName>
\t \t \t <lName>Calderon</lName>
\t \t \t <age>33</age>
\t \t \t <number>3</number>
\t \t \t <position>Point Guard</position>
\t \t \t <college>Spain College</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Cleanthony</fName>
\t \t \t <lName>Early</lName>
\t \t \t <age>23</age>
\t \t \t <number>17</number>
\t \t <position>Foward</position>
\t \t \t <college>Wichita State</college>
\t \t </player>
\t \t
\t \t <player lineup="starter">
\t \t \t <fName>Langston</fName>
\t \t \t <lName>Galloway</lName>
\t \t \t <age>23</age>
\t \t \t <number>2</number>
\t \t \t <position>Guard</position>
\t \t \t <college>St. Joseph's</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Tim</fName>
\t \t \t <lName>Hardaway</lName>
\t \t \t <age>22</age>
\t \t \t <number>5</number>
\t \t \t <position>Guard</position>
\t \t \t <college>Michigan</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Shane</fName>
\t \t \t <lName>Larkin</lName>
\t \t \t <age>22</age>
\t \t \t <number>0</number>
\t \t <position>Point Guard</position>
\t \t \t <college>Miami</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Alexey</fName>
\t \t \t <lName>Shved</lName>
\t \t \t <age>26</age>
\t \t \t <number>1</number>
\t \t \t <position>Guard</position>
\t \t \t <college>Russian College</college>
\t \t </player>
\t \t
\t \t <player lineup="starter">
\t \t \t <fName>Jason</fName>
\t \t \t <lName>Smith</lName>
\t \t \t <age>29</age>
\t \t \t <number>14</number>
\t \t \t <position>Foward</position>
\t \t \t <college>Colorado State</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Lance</fName>
\t \t \t <lName>Thomas</lName>
\t \t \t <age>26</age>
\t \t \t <number>42</number>
\t \t \t <position>Foward</position>
\t \t \t <college>Duke</college>
\t \t </player>
\t \t
\t \t <player lineup="reserve">
\t \t \t <fName>Travis</fName>
\t \t \t <lName>Wear</lName>
\t \t \t <age>24</age>
\t \t \t <number>6</number>
\t \t \t <position>Foward</position>
\t \t \t <college>UCLA</college>
\t \t </player>
\t </roster>
<?xml version="1.0" encoding="UTF-8" ?>
<!--
New Perspectives on XML, 3rd Edition
Tutorial 6
Case Problem 1
Voter Web Style Sheet
Author: Nick Johnson
Date: 4/23/2015
Filename: teamxsl.xsl
Supporting Files:
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
doctype-system="about:legacy-compat"
encoding="UTF-8"
indent="yes" />
\t
<xsl:template match="/">
<html>
<head>
<title>New York Knicks</title>
<link href="teamstyle.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<img src="headerimage.jpg" />
<p>hey</p>
<xsl:value-of select="hey" />
</div>
<xsl:for-each select="roster/player">
<xsl:sort select="fName" />
<table>
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
<th>Number</th>
<th>Position</th>
<th>College</th>
</tr>
</thead>
<tbody>
<xsl:apply-templates select="roster/player" >
</xsl:apply-templates>
</tbody>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template match="player">
<tr>
<td><xsl:value-of select="fName" /></td>
<td><xsl:value-of select="lName" /></td>
<td><xsl:value-of select="age"/></td>
<td><xsl:value-of select="position" /></td>
<td><xsl:value-of select="number" /></td>
<td><xsl:value-of select="college" /></td>
</tr>
</xsl:template>
</xsl:stylesheet>
@ Майкл Кей сказал все. См. [XSLT с источником XML, который имеет пространство имен по умолчанию, установленное в xmlns] (http://stackoverflow.com/questions/1344158/xslt-with-xml-source-that-has-a-default-namespace-set-to- xmlns), например. Это также стоит прочитать: http://www.jenitennison.com/2007/07/01/the-perils-of-default-namespaces.html – potame