2008 13 2008年 08月

XSLの内側に区切られた文字列をトークン化する

あなたの要件は、値の区切り文字列を格納したXMLのノードの値を、分割する場合は、個々の項目に、あなたは正しい場所に到達した...以下の例を見てください。 XMLとXSLを少し精通している場合...私はあなたがどんな説明が必要ないと思います。
それはあなたが後にあるものだ場合、後の部分文字列-:コール·テンプレートは、xsl:部分列の前に、XSLまた、この例では、XSLのようなXSL関数の使用が含まれています。

変換されるXML(food.xml): -
タスクは、タグ "キーワード"には、カンマで区切られた文字列をトークン化することであると仮定

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<keywords>Fruits, Vegetables, Pulses, Meat, Cereals </keywords>
</food>

XSL(food.xsl): -

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>XSL 1.0 Delimited String Tokeniser</title>
</head>
<body>
<xsl:value-of select="food/meta"/>
<div >
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="food/keywords" />
<xsl:with-param name="delimitr" select="','" />
</xsl:call-template>

</div>
</body>
</html>
</xsl:template>
<xsl:template name="tokenize">
<xsl:param name="string" />
<xsl:param name="delimitr" />
<xsl:choose>
<xsl:when test="contains($string, $delimitr)">
<div style="border:1px solid red;">
<h3><xsl:value-of select="substring-before($string,$delimitr)" /></h3>
<xsl:variable name="data" select="substring-before($string,$delimitr)"/>
</div>
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="substring-after($string, $delimitr)" /><xsl:with-param name="delimitr" select="$delimitr" /></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<div style="border:1px solid red;">
<h3><xsl:value-of select="$string" /></h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

結果の出力HTML: -

<div>
<div style="border: 1px solid red;">
<h3>Fruits</h3>
</div>
<div style="border: 1px solid red;">
<h3> Vegetables</h3>
</div>
<div style="border: 1px solid red;">
<h3> Pulses</h3>
</div>
<div style="border: 1px solid red;">
<h3> Meat</h3>
</div>
<div style="border: 1px solid red;">
<h3> Cereals </h3>
</div>
</div>

言うまでもなく...ちょうどあなたの選択の区切り文字にパラメータ "delimitr"を変更


2008 2008年 8月 11

このフォークス位置付けWordPressのテンプレートをダウンロード

あなたがインスピレーションを得たり、何を取得するために閲覧したHTMLページのCSSをチェックして連中の一人(私のような)、ある場合は、私たちは(すでに私の以前の記事で述べたように偽の位置を使用していることに気付いたかもしれません私たちは、あるブリリアントCCSレイアウト:のどの絶対位置を使用して

我々は、このテンプレートのいくつかの良い仕事をしてくれましたので、それを共有するニースと思った... (195回ダウンロード)これはWordPressのテーマをダウンロード


2008 7 2008年 08月

Animotoは:フラッシュなしで本当に素晴らしい"リッチなユーザーインターフェース"!

あなたはanimoto.comを見ましたか? よく! これがADではありませんが、私は本当にそれが好き! そして、それは確かにASS UIをキスされてい

私は数週間前、このサイトに出くわした。 最初のページを見て、ずっと気にDINT。 私にとって、それは、ユーザーが画像をアップロードするいくつかのトラックを選択し、素敵な写真のスライドショーに変換することができ、いくつかのリッチなFlashコンテンツを別のサイトでした。 FLVをダウンロードし、お好みの任意のサイト(YouTubeやMetaCafeに、Facebookと同類)...期間にそれを置く。

昨日、私はこのスライドショーの作成を通してユーザを取った内部流れのページを、見たとき.... 私はWOW OH行ってきました! 私が使用されるFlashのビットが存在しないことに気づいた時。 それは確かにリッチなユーザーインターフェースであった。 すべてのUI開発者が作成することを熱望するか、少なくとも、このインタフェースを行っているチームの一員でなければならない.... 絶対に素晴らしい! と感激!

LOOK ...持ちhttp://animoto.com/を ...と登録し、それで遊ぶ...だけ、あなたは天才を認めることができる。


2008 4 2008年 08月

XSL内の位置()の問題...またはそれは何ですか?

今日はXSLを作成している間私は、この蓄熱問題を抱えていた。 ネットを通じて答えを探したが、いずれかを見つけるcouldntの.... 実際に私は推測する! 私は私の問題が何であったか知っているDINTので、私はは何を求めますか?

とにかく! 場合にだけ、あなたは私トンに感謝し...あなたはこのページに着​​陸する管理FORCEの力でも、何とか、この非常に同じ問題を抱えている...そして、あなたが誤っていくつかの奇妙な運命は、このページに上陸していて、ことが起こる場合XSLの開発者は、 今このメモしておいてください。未来の原因については 、いつか、この問題に直面している場合、FORCEはあなたと一緒ではないかもしれません。

問題文:
その中に複数のアイテムを持つ2つのノードがあるときは、私は、このXMLを持っており、これらの2つのノード間でアイテムは1対1で対応している。 次の例では、ノード<array内の各項目name="PLAYURL" />ノード<arrayの項目に(対応する位置)に関連するname="SITENAME" />

<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>

今、私は<array name="SITENAME">を通じて、私はループループを持って、私は<array name="PLAYURL">に関連する項目を(対応する位置)を取得したい、

何がnormalyかを試してみたいとは...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

SORRY! これは文句を言わない仕事...ああ! Surpised ...

今、あなたはおそらく、このような何かを試してみたい...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

そして再び、これは文句を言わない仕事...今あなたは、いくつかのXSLを知って、任意の助けになるかもしれないと思う皆に連絡しようとすると、あなたの頭を悩ま...あなたは、他のすべてのオプションを試してみてください...そして、まだそれは文句を言わない仕事...まあ! 私には少なくとも何が起こったかをザッツ...

DONT絶望! このトライ

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

ITワークス理由は聞かいけない。 私は正当な理由を持っていけない...あなたがしなければ原因! コメントを削除しないでください。 それはかなり便利かもしれません。 また! このポストのためのより良いTITLEを使用している場合、私のラインドロップしない :)


2008 2 2008年 08月

XSLにDOCTYPEを設定する

先週私は、クライアントのプログレシブHTML / CSSのレイアウトを作成したIE6、IE7とFF 3でそれをテストし、完全に大丈夫だった...まで! レイアウトはmanufactingサイクルのさらに下行ってきました。 それに失敗しました。 HTMLレイアウトはそれに適用されるXSLとXMLに変換されたときにページレイアウトの要素だけであらゆる場所に行きました...がっかり!

私はこのSH **を修正する必要があります場合は、月曜日の朝の予想では、週末OK眠れませんでした。 しかし、今の状況、これらの種類(ブラウザの癖、私が意味する)を扱うにはほとんどexperinceを持って、私はそれがなくDOCTYPE他には何もしなければならなかった知っていた.... そしてそれは...

問題:
あなたの変換は明示的にデフォルトのDOCTYPEが含まれていますので、あなたは、DOCTYPEを制御したい、あなたのレイアウトはトスのために外となります。

ソリューション:
XSLTの仕様は、チョイスのDOCTYPEを設定するには、出力メソッドを提供します。 また、私達のUI開発者のために、興味のあるトピックは次のようになります。 HTML出力メソッドXML出力メソッド

よく! あなたが退屈する前に、ここで修正です。

例えば、あなたのHTMLのバージョンでは、次のDOCTYPEを持っている場合: -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

その後、XSLには、次のものがなければならない: -

<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes" />

そして最後に! あなたのXSLTの出力は、選択したDOCTYPEに従うことを確認しないでください。


NDKホーム | ITを表現 | 表現口蓋 | Penmenshipを表現 | 表現する素晴らしい | 自分を表現