- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-07-22T05:49:29+00:00","","")
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
***XMLファイルに、XSLスタイルシートを関連づけ。 [#w653b501]
<?xml-stylesheet type="text/xsl" href="midashi.xsl" ?>
***アンカーをつける [#r50b5f3c]
<a><xsl:attribute name="name">code-<xsl:value-of select="code" /></xsl:attribute></a>
とすると、
<a name="code-6758" />
となる(6758はcode要素の値)。
***アンカーへのリンクを張る [#qff645a3]
<a><xsl:attribute name="href">#code-<xsl:value-of select="code" /></xsl:attribute><xsl:value-of select="code" /></a>
とすると
<a href="#code-6758">6758</a>
となる。
***繰り返し処理で、最後以外にカンマをつける [#md326f06]
よくある処理なので、まとめておきます。
<xsl:template match="security">
<xsl:apply-templates select="attribute" />
<xsl:choose>
<xsl:when test="position()=last()" />
<xsl:otherwise>,</xsl:otherwise>
</xsl:choose>
</xsl:template>
***○○属性が存在するときのみ、表示する [#x728cc9a]
<xsl:if test="count(@name)!=0">属性[<xsl:apply-templates select="@name" />]</xsl:if>
***modeの使い方 [#f45edb86]
XSLTの仕様にmodeという仕様があります。同じ要素名に対して、別のテンプレートを適用したいときに使用するのだと思います。
<xsl:template match="security">
一覧:<xsl:apply-templates select="code" />
</xsl:template>
<xsl:template match="security" mode="detail">
詳細:<xsl:apply-templates select="code" />
</xsl:template>
と定義しておいて
一覧を表示したいところに <xsl:apply-templates select="security" />
詳細を表示したいところに <xsl:apply-templates select="security" mode="detail" />
***xslでスペース( )を入れたい [#o824c060]
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
*** XSLT変換 [#gd575255]
transformer.transform(
new DOMSource(document),
// new StreamResult(System.out));
new StreamResult(new FileOutputStream(new File("hogehoge.xml"))));
----
この記事は
#vote(おもしろかった[1],そうでもない[0])
#vote(おもしろかった[3],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}