XML
のデータをWML
に変換する必要があります。私は、ファイル構造を変更することはできませんPHPの条件付きXSLT変換
<root>
<category name="music"/>
<subcategory name="classic"/>
<subcategory name="rock"/>
<subcategory name="Techno"/>
<node type="music" subtype="classic" name="beethoven"/>
<node type="music" subtype="classic" name="chopin"/>
<record author="beethoven" name="moonlight sonata"/>
…
</root>
:
それはこのようなものです。
一部のNokia
モバイルブラウザでは、<card>
のロットをメモリにロードできません。
ので、携帯電話のブラウザによっては、WML
ページは<card>
のセット全体年代、または<card>
のサブセット年代のどちらかでなければなりません。例えば
私は通常のブラウザでページをダウンロードした場合、それは次のようになります。
<wml>
<card id="TOC">
<p><a href="#contents">Contents</a></p>
<p><a href="#az">A-Z</a></p>
</card>
<card id="contents">
<p><a href="#music">music</a></p>
<p><a href="#video">video</a></p>
<p><a href="#java">java</a></p>
</card>
<card id="az">
<p><a href="#beethoven">beethoven</a></p>
<p><a href="#chopin">chopin</a></p>
</card>
<card id="music">
<p><a href="#classic">classic</a></p>
<p><a href="#rock">rock</a></p>
<p><a href="#Techno">Techno</a></p>
</card>
<card id="classic">
<p><a href="#beethoven">beethoven</a></p>
<p><a href="#chopin">chopin</a></p>
</card>
…
</wml>
、ユーザーがサーバーへのラウンドトリップなしで閲覧できるようにします。
http://example.com/classic
<wml>
<card id="TOC">
<p><a href="#contents">Contents</a></p>
<p><a href="#az">A-Z</a></p>
</card>
<card id="contents">
<p><a href="/music">music</a></p>
<p><a href="/video">video</a></p>
<p><a href="/java">java</a></p>
</card>
<card id="az">
<p><a href="#beethoven">beethoven</a></p>
<p><a href="#chopin">chopin</a></p>
</card>
<card id="classic">
<p><a href="#beethoven">beethoven</a></p>
<p><a href="#chopin">chopin</a></p>
</card>
…
</wml>
:私は
href
を訪問するとき、それは内部の内容を表示する必要があり、
http://example.com/
<wml>
<card id="TOC">
<p><a href="#contents">Contents</a></p>
<p><a href="#az">A-Z</a></p>
</card>
<card id="contents">
<p><a href="#music">music</a></p>
<p><a href="#video">video</a></p>
<p><a href="#java">java</a></p>
</card>
<card id="az">
<p><a href="/beethoven">beethoven</a></p>
<p><a href="/chopin">chopin</a></p>
</card>
<card id="music">
<p><a href="/classic">classic</a></p>
<p><a href="/rock">rock</a></p>
<p><a href="/Techno">Techno</a></p>
</card>
<card id="video">
<p><a href="/movies">Movies</a></p>
</card>
<card id="java">
<p><a href="/games">Games</a></p>
</card>
</wml>
:私はNokia
を使用して、スタートページを訪問したときに
しかし、ページは次のようになります。
XSLT
は、基本的に以下のことを行う必要があります。
何が表示されるべきかのパラメータを受け入れる:カテゴリ、サブカテゴリなど
表示される
<card>
を数えます。- 我々は唯一のタイプをロードし、TOC場合は、我々は唯一のタイプおよびサブタイプをロードする場合、我々は
10
カードを取得2
カード(私たちは常にそれらを表示)- を取得します。
- タイプ、サブタイプ、タイトルを読み込むと、
100
カードが表示されます。 - すべてをロードすると、
300
カードが表示されます。
Nokia
以上120
のカードを扱うことができないので、我々はちょうどレベル3
で停止します。XML
変更やレベル3
は130
カードが必要な場合、我々はレベル2
に停止する必要があります。それは、カードが表示されない場合/
(外側リンク)と#
(内部リンク)を交換一定レベル以下- 我々は唯一のタイプをロードし、TOC場合は、我々は唯一のタイプおよびサブタイプをロードする場合、我々は
ある場合
は
<card>
を表示しません。
XSL
ファイルで行うことはできますか?
URLのレベルは1つしかありませんか?スラッシュ+キーワード、それ?それはあいまいさにつながりませんか?またはURLは構造化されていますか? – Tomalak
いいえ、そうではありません。それは一度にすべてのカードを保持するように設計されており、別個の名前を持つ必要があります。この問題は、テストするときに発生したばかりです。 – Quassnoi
@名前はすべてのカテゴリ/サブカテゴリ/ノード/レコード要素で一意であると信じられますか? – Tomalak