XSLT 3

XSLTの話は終わり。と思っていたのですが…

本日Amazonから、注文しておいたO’Reillyの[XSLT Cookbook]第二版が届きました。
700ページを越す大著で、勿論全部目を通してはいませんが、第一章にXPATHの説明があります。
著者の言では、XSLTにおけるXPATHは英語におけるアルファベットのようなもので、
第一版での解説が少なかったと第二版では最初の章で丁寧に説明しています。

どうやら私はXSLT(およびXPATH)1.0でプログラミングに手こずっていたようです。
XPATH1.0と2.0では別物かと思わせるほどの変更があります。
「以下のように[号棟 = ‘2’ And (外壁 = ‘True’ Or 屋上= ‘True’ Or 修理 = ‘True’ Or 塗装 =’ True’)]と式の論理結合ができません」と書きましたが、
2.0では少し異なる部分がありますが、OKのようです。

<xsl:template match=”/画像[号棟 = ‘2’ And (外壁 = ‘True’ Or 屋上= ‘True’ Or 修理 = ‘True’ Or 塗装 =’ True’)]”>
  <xsl:call-templates name=”Display”/>
 </xsl:template>

私は、昔XMLエディタとしてALTOVAの[XML Spy]を購入し、
XMLの専門家ではないので、これで充分ともう10年近くもバージョンアップせずに愛用してきました。
とてもコンパクトで、XMLのデータ構造を視覚的に表現してくれ、編集がとても楽にできます。

[XML Spy]のXPATHプロセッサが古いということが今回分かりましたが、
私はそれを知らないままに、プログラムの苦心をしていたのです。
手元の参考書も皆古いものなので、バージョンアップによる変更を考えてもいませんでした。

もっと調査をしなければいけませんが、前回ご紹介しましたリカーシブコールのプログラムはまったく必要なく、
実に簡単なプログラムで済むようです。

Visual Studioの処理系はXPATH2.0を採用しているようなので、以後VS2008を使おうと思います。
このエディタは[XML Spy]ほどには気がきいていませんが。

余談ですが、私は英語の技術書を読むのは余り苦になりません。
が、時々辞書の力を借りなければいけません。
辞書を引くのはカッタルイので、近年インターネットの辞書を使ってましたが、
これも何とかならないかと思って電子辞書を購入しました。
名詞入れを少し大きくした程度で、沢山の辞書が入っていて、これが一番いいかといつも持ち歩いています。

error: コピーできません !!