デザイン定義側から他のスキーマーを読み込んでの利用
Posted: 2007年10月15日(月) 23:24
いつもお世話になっております。
下記リンク先の「TIPS・活用事例」にある、「メニュー項目選択肢をデザイン定義に読み込む」についての質問です。
▼これです
http://cms.al-design.jp/phpbb/viewtopic.php?t=546
質問の意図をうまく説明する自信がいまいち無いのですが、、、、
TIPSの例は、「AAA」というスキーマ名のデザイン定義から、同じく「AAA」という名前のスキーマを読み込んで再利用という方法になっているかと思います。
・・で、今回やりたいことは、「AAA」というスキーマ名のデザイン定義から、「BBB」というスキーマ名のスキーマを読み込むという事です。
つまり、「AAA.list.default.xsl」から、「BBB.schema.xml」を読み込んで、メニュー項目選択肢などを展開するという方法です。
実際に実験をしてみまして、
例:(以下はAAA.list.default.xslの内容)
というように、「BBB.schema.xml」の位置を「AAA.list.default.xsl」から見た相対パスで指定すると、目論見どおりに読み込みが可能だったのですが、これは、CMSDesignerの利用方法として、またはXSLTのあしらい方として、正しい使い方の範疇に収まる処理となりますでしょうか?
心配しているのは、仮にとりあえず動いたとしても、今後のバージョンアップなどでNGになる可能性についてです。
余談ながら、なぜ上記の様な処理を行いたいかと言いますと、
メニュー項目を日本語ページと英語ページで表記を切り替える処理に下記の様な方法での実現が出来ないかと考えました。
スキーマ名「AAA」を顧客リストの定義として、その中に都道府県のメニュー項目を持っているとします。
そしてスキーマ名「BBB」では、上記の都道府県名の日本語表記、英語表記のマスターとして、下記のように定義しておいて、、
「AAA」のデザイン定義側で、質問の処理を用い日本語用デザイン定義と英語用デザイン定義を作って、日本語ページ/英語ページでの都道府県の日本語/英語表記の自動切り替え表示を行いたいのです。
自分で書いていても非常に解りにくい質問で大変申し訳ありませんが、ご回答をお願いできますと幸いです。
下記リンク先の「TIPS・活用事例」にある、「メニュー項目選択肢をデザイン定義に読み込む」についての質問です。
▼これです
http://cms.al-design.jp/phpbb/viewtopic.php?t=546
質問の意図をうまく説明する自信がいまいち無いのですが、、、、
TIPSの例は、「AAA」というスキーマ名のデザイン定義から、同じく「AAA」という名前のスキーマを読み込んで再利用という方法になっているかと思います。
・・で、今回やりたいことは、「AAA」というスキーマ名のデザイン定義から、「BBB」というスキーマ名のスキーマを読み込むという事です。
つまり、「AAA.list.default.xsl」から、「BBB.schema.xml」を読み込んで、メニュー項目選択肢などを展開するという方法です。
実際に実験をしてみまして、
例:(以下はAAA.list.default.xslの内容)
コード: 全て選択
<xsl:variable name="pref_list" select="document('../BBB/BBB.schema.xml')/schema/data[@name='pref']/menuitem" />心配しているのは、仮にとりあえず動いたとしても、今後のバージョンアップなどでNGになる可能性についてです。
余談ながら、なぜ上記の様な処理を行いたいかと言いますと、
メニュー項目を日本語ページと英語ページで表記を切り替える処理に下記の様な方法での実現が出来ないかと考えました。
スキーマ名「AAA」を顧客リストの定義として、その中に都道府県のメニュー項目を持っているとします。
コード: 全て選択
<data name="pref" type="menu" caption="都道府県" >
<menuitem id="1">北海道</menuitem>
<menuitem id="2">青森県</menuitem>
・
・
</data>そしてスキーマ名「BBB」では、上記の都道府県名の日本語表記、英語表記のマスターとして、下記のように定義しておいて、、
コード: 全て選択
<data name="pref" type="menu" caption="都道府県" >
<menuitem id="1">北海道</menuitem>
<menuitem id="2">青森県</menuitem>
・
・
</data>
<data name="pref_e" type="menu" caption="都道府県" >
<menuitem id="1">Hokkaido</menuitem>
<menuitem id="2">Aomori</menuitem>
・
・
</data>
自分で書いていても非常に解りにくい質問で大変申し訳ありませんが、ご回答をお願いできますと幸いです。