XSLとは

実行環境

XMLStarlet


MSXML(.NET)

クライアントサイド(ブラウザ)で変換させる

Java

TransformerFactory trfactory = TransformerFactory.newInstance();
Transformer t = trfactory.newTransformer(new StreamSource(xsltInput));
t.transform(new StreamSource(xmlInput), new StreamResult(xmlOutput));

基本的な考え方

xsl:output

xsl:template

子要素にテンプレートルールを適用する

CSS

xsl:apply-templates

<xsl:template match="/">
 <xsl:apply-templates select="pieces"/>
</xsl:template>

xsl:copy

<xsl:copy select="name"/>

xsl:copy-of

<xsl:copy-of select="name"/>

xsl:value-of

<xsl:value-of select="name"/>

XPath

基本的な使い方

要素番号の指定

要素名[要素番号]

値による絞り込み

<xsl:apply-templates select="要素名[${XPath} 比較演算子 値]"/>

関数

<xsl:value-of select="関数(${XPath})"/>

詳細表記

条件分岐と要素・属性の追加

要素の追加

<xsl:element name="${タグ名}">${要素}</xsl:element>
<${タグ名}>${要素}</${タグ名}>

属性の追加

<xsl:attribute name="${属性名}">${属性}</xsl:attribute>

テキストの追加

<xsl:text>${テキスト}</xsl:text>
${テキスト}

条件分岐(xsl:if)

<xsl:if text="評価式">
  評価式が成り立つときに出力する内容
</xsl:if>

条件分岐(xsl:choose, xsl:when, xsl:otherwise)

else-if を書きたい場合には <xsl:choose> を使う

<xsl:choose>
  <xsl:when test=". = '飛'">
    <xsl:element name="name"><xsl:attribute name="type">成駒</xsl:attribute>龍</xsl:element>
  </xsl:when>
  <xsl:when test=". = '角'">
    <xsl:element name="name"><xsl:attribute name="type">成駒</xsl:attribute>馬</xsl:element>
  </xsl:when>
   ・・・・
  <xsl:otherwise>
    <xsl:element name="name"><xsl:attribute name="type">成駒</xsl:attribute></xsl:element>
  </xsl:otherwise>
</xsl:choose>

繰り返し

そーっと Sort

Numbering

include,import

<xsl:import href="booklist.xsl"/>
<xsl:include href="modified.xsl"/>

グローバル変数

ローカル変数


Java#XML / HTML


添付ファイル: filekoma.png 2353件 [詳細] filekoma2.png 2270件 [詳細] filegorin.png 2375件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2011-03-09 (水) 22:17:31 (4788d)
Short-URL:
ISBN10
ISBN13
9784061426061