質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.35%

  • XML

    791questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

  • XSLT

    12questions

    XSLTは、組み立てられた文書を(XML、HTML、そしてプレーンテキストのような)別のフォーマットに変化する為にデザインされたXMLの為の変換用言語です。

XML XSLについての問題です

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 893

yck3000

score 10

最近XML XSLの課題で、すべでの資料は表の中に入れてくださいといわれたんですが、表の作り方はわかりませんので、ご教授をお願い致します。
以下は今まで作ったXSL
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="Shift_JIS" />
    <xsl:template match="/">
        <root>
            <xsl:apply-templates select="students/student[point &lt; 60]" />
        </root>
    </xsl:template>
        <xsl:template match="students">
        <xsl:apply-templates select="student" />    
    </xsl:template>
    <xsl:template match="student">
        <xsl:copy>
            <xsl:apply-templates select="@id" />
            <xsl:apply-templates select="name" />
            <xsl:apply-templates select="point" />
        </xsl:copy>
    </xsl:template>
    <xsl:template match="@id">
        <id>
            <xsl:value-of select="." />
        </id>
    </xsl:template>
    <xsl:template match="name">
        <xsl:copy-of select="." />
    </xsl:template>
    <xsl:template match="point">
        <xsl:copy-of select="." />
    </xsl:template>
</xsl:stylesheet>

XMLです

<?xml version="1.0" encoding="Shift_JIS" ?>
<students>
    <student id="E99X0001">
        <name>一橋太郎</name>
        <point>85</point>
    </student>
    <student id="E99X0002">
        <name>二宮恵</name>
        <point>75</point>
    </student>
    <student id="E99X0003">
        <name>三島和義</name>
        <point>40</point>
    </student>
    <student id="E99X0004">
        <name>四谷明美</name>
        <point>87</point>
    </student>
    <student id="E99X0005">
        <name>五木弘樹</name>
        <point>60</point>
    </student>
    <student id="E99X0006">
        <name>六本木朱里</name>
        <point>82</point>
    </student>
    <student id="E99X0007">
        <name>七星賢治</name>
        <point>77</point>
    </student>
    <student id="E99X0008">
        <name>八坂ほのか</name>
        <point>62</point>
    </student>
    <student id="E99X0009">
        <name>九鬼雅臣</name>
        <point>45</point>
    </student>
    <student id="E99X0010">
        <name>十川登喜子</name>
        <point>100</point>
    </student>
</students>

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mhashi

    2015/12/21 10:46

    Tak1waさんが示したものと同じ課題の丸投げに見えますが、具体的に何を達成したいのか、その中で何を試して何が不明なのかを示してもらえないと何を答えていいのか判断しにくいので質問修正してもらえますでしょうか

    キャンセル

  • yck3000

    2015/12/21 11:29

    以上のデータでテーブル表示のHTML文書に
    変換するXSLファイルを作成したいです。

    キャンセル

回答 1

0

確認していませんが、こんな感じで出来ると思います。

<?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>List</title>
   </head>

   <body>
   <p align="center"><font color="navy">Studentリスト表示</font></p>

   <table border="1" width="600" align="center">
      <tr>
         <th>ID</th>
         <th>Name</th>
         <th>Point</th>
      </tr>

   <xsl:apply-templates />

   </table>

   </body>
   </html>
</xsl:template>

<xsl:template match="students">

<xsl:for-each select="student">
      <tr>
         <td><xsl:value-of select="id" /></td>
         <td><xsl:value-of select="name" /></td>
         <td><xsl:value-of select="point" /></td>
      </tr>
</xsl:for-each>

</xsl:template>

</xsl:stylesheet>

こちらが参考になるかと。
http://www.atmarkit.co.jp/ait/articles/0306/25/news002.html

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • XML

    791questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

  • XSLT

    12questions

    XSLTは、組み立てられた文書を(XML、HTML、そしてプレーンテキストのような)別のフォーマットに変化する為にデザインされたXMLの為の変換用言語です。