1

現在、外部変数を介してメインの xql ファイルに 2 つのデータベースの名前を入力しています。これらの値を任意の XQL モジュールに渡したいと考えています。

たとえば、モジュール「mylib」をインポートするメイン スクリプトを作成できます。

     import module namespace mylib = "http://example.org/mylib" at "myLib.xqm";

     declare variable $dbName external; 

     $mylib:print()

次に、メイン スクリプトに dbName 外部変数を入力すると動作しますが、何らかの方法でモジュールに渡したいと思います。

     module namespace mylib = "http://example.org/mylib";

     declare variable $mylib:dbName external;

     declare function mymod:print() as xs:string  {
         $mymod:dbName
     };

ローカル dbName の値をモジュールのインスタンス $myLib:dbName にバインドするにはどうすればよいですか??

私は試した :

  • メインファイルの変数をグローバルにすることで、インポートされたモジュールから読み取ることができます
  • モジュールで同じ変数を宣言し、declare variable $mylib:dbname := $dbname のようなものでメイン クラスからそれらを割り当てようとします。
  • モジュールvarsを一意に外部として宣言し、メインスクリプトでそれらから値を取得し、そこから読み取ろうとします

これに対する明らかに簡単な解決策はありますか?? または、任意のモジュールに同じ値を静的に定義する必要がありますか?

4

2 に答える 2

1

関数への引数として渡さないのはなぜですか?

mymod:print($dbname)
于 2012-09-24T23:10:20.503 に答える