Googleの検索数増加、データベースの自給率 2003.10.5 (検索デスク)
日本語の検索結果数が際立って伸びた原因の考察。
Mid Pass Filter
IE5.x/Win対策(CSS)。IE5.x/Win以外にはあまり迷惑がかからないのがポイントかも。
Re:2003/10/05(Sun.) - XML を練習してみる - CSS でイケてるデザインサイトリンク集2 を勝手に XML 化(4)

test="./update[. =$trigger]"、これはtest="child::update[string(current()) = string($trigger)]"とすべきでは。

述語内の.self::node())はコンテクストノードであるupdate要素です。コンテクストノードが変更された述語内において、カレントノードはcurrent()で参照することができます(正確にはカレントノード一つだけを含むノード集合)。

参照:カレントノードとコンテキストノードの違い

因みに<xsl:apply-templates select="child::thumbnail/child::website[string(child::country) = 'Japanese']" />とすれば、子供のcountry要素の文字列値が'Japanese'であるwebsite要素だけをカレントノードリストにすることができます。<xsl:apply-templates select="./thumbnail/website">..</xsl:apply-templates>としてしまうと、country要素の文字列値が'Oversea'であるwebsite要素もカレントノードリストに含まれることになり、website要素用のテンプレートが評価されるプロセスが無駄になってしまいます。別にどうでも良いことかもしれませんが、そうするとパラメータを渡す必要が無いので、先のtest="./update[. =$trigger]"、これはtest="update"で済んだりと、色々良いことがあります。

RELAX NGをフラットにするスタイルシート v0.3

Since include and externalRef elements are resolved after datatypeLibrary attributes are added but before ns attributes are added, ns attributes are inherited into external schemas but datatypeLibrary attributes are not.

RELAX NG Specification 4.9. ns attribute Note より

案の定、このような素敵な罠を発見。ns属性と違ってdatatypeLibrary属性は継承されないそうな。だから外部のgrammar要素にdatatypeLibrary属性が無い場合、そのgrammar要素に置き換わるdiv要素にdatatypeLibrary="" を明示すれば等価になるようだ。その他若干の修正を加えた。

とりあえずこのスタイルシートの肝の部分だけあっちに纏めておきたい。