2012-07-12 35 views
1

目前我正在通過外部變量將2個數據庫的名稱提供給我的主要xql文件。我想將這些值傳遞給我的任何一個XQL模塊。如何使用主腳本中的全局變量提供Xquery模塊?

例如,我可以有一個主腳本導入模塊「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?

我想:

  • 決策變量在主文件全局的,這樣他們就可以通過任何導入模塊讀
  • 聲明相同的變量在模塊,並嘗試從主類的東西,如申報爲它們分配變量$ MYLIB:DBNAME:= $ DBNAME
  • 聲明爲外部獨特的模塊乏,獲取從他們的價值在我的主腳本,並嘗試從那裏

閱讀任何顯然簡單的解決方案?或者我將不得不靜態定義相同的值給任何模塊?

回答

0

爲什麼不把它作爲參數傳遞給函數?

mymod:print($dbname) 
+0

因爲那麼必須將它傳遞給所有方法,我想知道是否有easz waz,speciallz如果我想要一些szncroniyatioon類似內部靜態變量 – Whimusical 2012-10-11 14:01:40

相關問題