ぼんさい塾

ぼんさいノートと補遺に関する素材や注釈です.ミスが多いので初稿から1週間を経た重要な修正のみ最終更新日を残しています.

XML (3)

2012-04-14 12:26:31 | 暮らし
IT-s.pdf,
記事一覧.

3.要素の表示

[3-3] に XSLT Version1.0 のスタイルシートの要素が説明があります.ここでは
[3-1] の xsl:attribute に [3-4] の xsl:choose を組み合わせた例 manyo3c.xsl と,
[3-2] の xsl:sort の例 manyo3d.xsl を示します.これらは
 http://www.hakurei-isl.org/m-miyata/xml/manyo3c.xml
 http://www.hakurei-isl.org/m-miyata/xml/manyo3d.xml
で確認できます.

//manyo3c.xml--------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="manyo3c.xsl "?> 
<manyosyu>
<volume no="1">
<poem>
<pno>8</pno>
<mkana>熟田津尓 船乗世武登 月待者 潮毛可奈比沼 今者許藝乞菜</mkana>
<poet>額田王(ぬかたのおおきみ)</poet>
<yomi>熟田津に船乗りせむと月待てば潮もかなひぬ今は漕ぎ出でな</yomi>
<image>image/m0008.jpg</image>
<mean>熟田津(にきたつ)で、船を出そうと月を待っていると、いよいよ潮の流れも良くなってきた。
さあ、いまこそ船出するのです。</mean>
</poem>
<poem>
<pno>20</pno> 
<mkana>茜草指 武良前野逝 標野行 野守者不見哉 君之袖布流</mkana> 
<poet>額田王(ぬかたのおおきみ)</poet> 
<yomi>茜(あかね)さす、紫野行き標野(しめの)行き、野守(のもり)は見ずや、君が袖振る</yomi> 
<image>image/m0020.jpg</image> 
<mean>(茜色の光に満ちている)紫野、天智天皇御領地の野で、あぁ、あなたはそんなに袖を振ってらして、
野守が見るかもしれませんよ。</mean> 
</poem>
</volume>
</manyosyu>
//manyo3c.xsl--------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
 <html>
   <head><title>たのしいXML: XSLTスタイルシート例-3</title></head>
   <body><xsl:apply-templates /></body>
 </html>
</xsl:template>

<xsl:template match="poem">
<table border="0" width="600" align="center">

  <xsl:choose>
  <xsl:when test="pno[number(.) >= 10]">
    <xsl:comment>何もしない</xsl:comment>
  </xsl:when>
  <xsl:otherwise>

  <tr><td>
    <xsl:value-of select="pno" />: <xsl:value-of select="yomi" />
  </td></tr>
  <tr><td><img>
    <xsl:attribute name="src"><xsl:value-of select="image" /></xsl:attribute>
  </img></td></tr>

  </xsl:otherwise>
  </xsl:choose>

</table>
</xsl:template>

</xsl:stylesheet> 
//------------------------------------------------

//manyo3d.xml--------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="manyo3c.xsl "?> 
<manyosyu>
・・・・・
//manyo3d.xsl-------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
 <html>
   <head><title>たのしいXML: XSLTスタイルシート例-3</title></head>
   <body><xsl:apply-templates /></body>
 </html>
</xsl:template>

<xsl:template match="volume">
<table border="0" width="600" align="center">
<xsl:for-each select="poem">
  <xsl:sort select="pno" data-type="number" order="descending" />

  <tr><td>
    <xsl:value-of select="pno" />: <xsl:value-of select="yomi" />
  </td></tr>

</xsl:for-each>
</table>
</xsl:template>

</xsl:stylesheet> 
//------------------------------------------------


[3-1] xsl:value-of で要素の内容を表示
 http://www6.airnet.ne.jp/manyo/xml/xslt/step8.html
[3-2] xsl:attribute で属性を作る
 http://www6.airnet.ne.jp/manyo/xml/xslt/step9.html
[3-3] XSLTスタイルシートの要素
 http://www6.airnet.ne.jp/manyo/xml/xslt/step10.html
[3-4] XMLドキュメントをIEで表示(基礎編): 内容によって表示を変える
 http://www6.airnet.ne.jp/manyo/xml/xslt/step11.html
 http://www6.airnet.ne.jp/manyo/xml/xslt/step11-1.html
[3-5] XSLT基礎編: xsl:commentでコメントを生成
  http://www6.airnet.ne.jp/manyo/xml/xslt/step28.html