- PR -

長くなりがちなXSLファイルを短くする方法

1
投稿者投稿内容
かごかご
会議室デビュー日: 2002/01/21
投稿数: 5
投稿日時: 2002-01-23 17:16
XSLファイルを作成していますが、

例えば
<input type="text" name="t1" size="70" maxlength="25">
をXSLにすると、
<xsl:element name="input">
<xsl:attribute name="type">text</xsl:attribute>
<xsl:attribute name="name">t1</xsl:attribute>
<xsl:attribute name="size">70</xsl:attribute>
<xsl:attribute name="maxlength">25</xsl:attribute>
</xsl:element>
こうなると思うのですが、1つのフォームでこれだけの量を書くというのはいかがなものかなと。フォームが100個も並ぶと頭が痛くなりそうです。

簡単に記述する方法はないのでしょうか?それともXSLはそういうものなんでしょうか?
ご教授願います。
miki
大ベテラン
会議室デビュー日: 2001/09/21
投稿数: 174
お住まい・勤務地: 東京都八王子市
投稿日時: 2002-01-23 17:37
動的に要素や属性を変更しないのなら、直接埋め込めばよいでしょう。

<xsl:template match="hoge">
<form><input type="text" name="t1" size="70" maxlength="25"/> </form>
</xsl:template>
かごかご
会議室デビュー日: 2002/01/21
投稿数: 5
投稿日時: 2002-01-24 10:03
返答ありがとうございます。
すいません重要な項目が抜けてました。なぜ直接書かなかったというと、

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

と、フォームの中に初期値を入れたかったためです。説明不足ですいません。
この場合ではどうなのでしょうか?
miki
大ベテラン
会議室デビュー日: 2001/09/21
投稿数: 174
お住まい・勤務地: 東京都八王子市
投稿日時: 2002-01-24 10:25
$initValueのところにお望みのXPathを書けば良いような気がします。
<input type="text" name="t1" value="{$initVaule}"/>
かごかご
会議室デビュー日: 2002/01/21
投稿数: 5
投稿日時: 2002-01-24 11:35
ありがとうございます。

XMLをやり始めてまだ、数日なのでXpathというのがどういうものか
よく分かっていないのですが、これを機に勉強してみようと思います。
1

スキルアップ/キャリアアップ(JOB@IT)