0
私はXSLT 2.0で書かれたファイルをブラウザで使用できるようにXSLT 1.0に変換中です。誰もがfn:Qnameと同じ機能を持つものを実装する方法を知っていますか?XSLT 1.0でfn:QNameを実装する方法は?
私はXSLT 2.0で書かれたファイルをブラウザで使用できるようにXSLT 1.0に変換中です。誰もがfn:Qnameと同じ機能を持つものを実装する方法を知っていますか?XSLT 1.0でfn:QNameを実装する方法は?
fn:QName
は、xs:QName
の値を返します。このようなデータ型はXSLT 1.0には存在しないため、同等の機能はありません。まず、QNameの代替表現を決定する必要があります。たとえば、文字列として保持されているXPath 3.0表記 "Q {uri} local"を使用できます。
"Q {uri} local"という表現を使用することを前提とし、その名前空間接頭辞は不要であると仮定すると、xs:QName型は名前空間接頭辞も保持しますが、 fn:QName
の同等物を実装することは、concat()
,、およびsubstring-after()
などの関数を使用して直接行うことができます。
ブラウザでXSLT 2.0を実行する方法(Saxon-CE、Saxon-JS)がありますが、XSLT 1.0で独自にXSLTとXPath 2.0の部分を実装しようとするより簡単な方法かもしれません。 –
@MartinHonnen提案していただきありがとうございます。 Saxonのソリューションでは、事前にコンパイルされたSEFファイルしか読み込めないという印象がありました。 Saxon EEライセンスを購入せずに使用することは可能ですか? –
http://saxonica.com/ce/index.xmlはオープンソースであり、Saxon EEでスタイルシートをコンパイルする必要はありません。一方、Saxon-JSはそれを必要とします。ただし、oXygenのようなツールにはSaxon EEが付属しており、oXygenユーザがSaxon-JSのスタイルシートを作成してコンパイルできるように、スタイルシートをコンパイルする機能もあります。 –