6.6 轉化函數的定義
如上所述,在GeoXACML中,長度的內部單位是米,面積的內部單位是平方米。這就意味著基于不同度量單位的長度面積參數在被相應的函數處理(例如 :IsWithinDistance和Buffer函數)之前都必須轉化成米和平方米。這可以通過如下的轉換函數來實現。
ConvertToMetre(d:Double, u:String) : Double
這個函數應有一個數據類型為“http : //www.w3.org/2001/XML-Schema#double”的參數和一個數據類型為“http : //www.w3.org/2001/XML-Schema#string”的用以表示度量長度單位的參數。這個函數應返回一個數據類型為“http : //www.w3.org/2001/XMLSchema# double”的值。
這個函數用于把度量單位為u的距離值d轉化成相應的基于米制的長度。
如果度量單位,如給定的參數u,不能轉化成米,那么這個函數應返回一個“不確定”狀態的XACML 處理出錯信息。
ConvertToSquareMetre(a:Double, u:String) : Double
這個函數應有一個數據類型為“http : //www.w3.org/2001/XML-Schema#double”的參數和一個數據類型為“http : //www.w3.org/2001/XML-Schema#string”的用以表示度量面積單位的參數。這個函數應返回一個數據類型為“http : //www.w3.org/2001/XMLSchema# double”的值。
這個函數用于把度量單位為u的面積值a轉化成相應的基于平方米制的面積。
如果度量單位,如給定的參數u,不能轉化成平方米,那么這個函數應返回一個“不確定”狀態的XACML 處理出錯信息。
為了避免運行時不必要的轉化,應直接用米和平方米來說明長度和面積。
GB/T 30280—2013 信息安全技術 鑒別與授權 地理空間可擴展訪問控制置標語言