2016-12-20 2 views
0

最終出力ファイルに変換を行うXLSTファイルの名前を入れたいと思います。 XSLTでこれを行う方法はありますか?出力にXSLTファイル名を入れよう

検索結果にXMLファイル名が付いています。

たとえば、これがPerlの場合は、$ 0変数を使用しています。私が想像できる最も近いものは、むしろ冗長に見えるパラメータとしてそれを渡すことです。


だから私は、XSLTファイル名+パスを取得への答えを見つけましたが、今私は少し混乱しています(と簡単にこの答えを見つけるために他の人が欲しいです)。完全なパスなしでファイル名を取得する方法があるのであれば、正しい答えは、次の3つのファイル名を持っているとします:

  • XSLTファイル名:
  • XML入力ファイル名:
  • XML出力ファイル名:

答えて

1

XSLT 2.0では、static-base-uri()関数を使用すると閉じることができます。しかし、スタイルシートに関連付けられた単一の固有のファイル名が存在するという概念は過度に単純です。インクルード/インポートまたはXMLエンティティを使用してファイルの大きなコレクションからアセンブルされるか、 。

+0

base-uri(document( ''))は現在のスタイルシートのファイル名を指定していませんか?私はあなたがメモリ内にスタイルシートを作ることができないことを知りましたが、それは確かにこのシナリオには適合しません。基本的な状況であっても入出力ファイル名の機能がないということですか? – LadyCygnus

+0

XSLTの質問に対するMichael Kayの答えを編集するには、特別な帽子が必要です。 – teppic

+1

'document( '')'は 'document(static-base-uri())'に相当しますので、URIをとり、文書を取り出してツリーを構築し、base-uri()を適用しますそれがどこから来たのかを教えてくれるでしょう。したがって、100%相当で、おそらく100倍遅くなります。また、全く同じ問題を抱えています。スタイルシートに関連付けられたファイルの場所が1つもない場合は、必ずしも明確な答えではありません。しかし、何も巧妙ではない単純なケースでは、static-base-uri()は、関数呼び出しが現れるスタイルシートモジュールの場所を与えます。 –

関連する問題