0
저는 제 출력물에 21 세기의 대통령 만 표시하고 싶습니다. xsl 문서에서이 문제를 어떻게 해결할 수 있습니까? xml 파일에서 네임 스페이스를 사용해야하고이를 .xsd 및 xsl 파일에 통합해야합니까? xs : date 값에서 날짜를 추출하려면 어떻게합니까?xs : date에서 연도를 추출합니다.
<?xml-stylesheet type="text/xsl" href="president_21c.xsl"?>
<presidents xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="president.xsd" xmlns:president="http://www.du.edu/~mschwart/xml/president" date="2014-09-24">
<president>
<number>41</number>
<name>George H. W. Bush</name>
<birthday>1924-06-12</birthday>
<took_office>1989-01-20</took_office>
<left_office>1993-01-20</left_office>
<party>Republican</party>
<term>
<term_number>51</term_number>
<vice_president>Dan Quayle</vice_president>
</term>
<president_image>images/41.jpg</president_image>
</president>
<president>
<number>42</number>
<name>Bill Clinton</name>
<birthday>1946-08-19</birthday>
<took_office>1993-01-20</took_office>
<left_office>2001-01-20</left_office>
<party>Democratic</party>
<term>
<term_number>52</term_number>
<vice_president>Al Gore</vice_president>
</term>
<term>
<term_number>53</term_number>
<vice_president>Al Gore</vice_president>
</term>
<president_image>images/42.jpg</president_image>
</president>
<president>
<number>43</number>
<name>George W. Bush</name>
<birthday>1946-07-06</birthday>
<took_office>2001-01-20</took_office>
<left_office>2009-01-20</left_office>
<party>Republican</party>
<term>
<term_number>54</term_number>
<vice_president>Dick Cheney</vice_president>
</term>
<term>
<term_number>55</term_number>
<vice_president>Dick Cheney</vice_president>
</term>
<president_image>images/43.jpg</president_image>
</president>
<president>
<number>44</number>
<name>Barack Obama</name>
<birthday>1961-08-04</birthday>
<took_office>2009-01-20</took_office>
<left_office xsi:nil="true"/>
<party>Democratic</party>
<term>
<term_number>56</term_number>
<vice_president>Joe Biden</vice_president>
</term>
<president_image>images/44.jpg</president_image>
</president>
</presidents>
내 XSL : 날짜가 year-from-date() function를 사용하는 것입니다에서
<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.0"/>
<xsl:template match="/">
<html>
<head>
<link rel="stylesheet" type="text/css" href="president_21c.css"/>
<title>Table of Us Presidents</title>
</head>
<body>
<h1>Table of Us Presidents</h1>
<table>
<tr>
<th>Name</th>
<th>Birthday</th>
<th>Took Office</th>
<th>Left Office</th>
<th>Party</th>
<th>Vice President</th>
<th>Portrait</th>
</tr>
<xsl:apply-templates select="//president">
<xsl:sort select="party"/>
</xsl:apply-templates>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="president">
<tr>
<td><xsl:apply-templates select="name"/></td>
<td><xsl:apply-templates select="birthday"/></td>
<td><xsl:apply-templates select="took_office"/></td>
<td><xsl:apply-templates select="left_office"/></td>
<td><xsl:apply-templates select="party"/></td>
<td>
<xsl:for-each select="term">
<xsl:number value="position()" format="1. " />
<xsl:value-of select="vice_president" /><br />
</xsl:for-each>
</td>
<td align="center" style="background-color: #E1E0E0;">
<img src="{president_image}" class="president_image"/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
상선을 K :
(종종 더 편리 할 수 있음) 비정형있어서 사용하는 것이다. 그럼 어떻게 이것을 내 xsl 문서에 구현합니까? – esgg
@esgg 위의 링크에서 예제를 복사하여 내 답변에 붙여 넣을 수 있습니다. –
ok 좋습니다. – esgg