summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-07-28 17:32:21 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-07-28 17:32:21 +0200
commitc4b9f4d459541a0b406091ade062be4bf99f7632 (patch)
tree3bfcf9dcf2e5ac2352ff74f0ed18ec7931e68e09
parent5631e9aabdf21427e0945264e76f00a4d53f2a31 (diff)
Namespace declaration, getOutcomeFromView and getOutcomeFromEvent work.
Added getLastView
-rw-r--r--src/main/resources/cristal-function-lib.xql26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/main/resources/cristal-function-lib.xql b/src/main/resources/cristal-function-lib.xql
index 3c6b6b3..c9bdad0 100644
--- a/src/main/resources/cristal-function-lib.xql
+++ b/src/main/resources/cristal-function-lib.xql
@@ -1,11 +1,21 @@
+declare namespace cristal "http://cristal-ise.org/";
+
declare function cristal:getOutcomeFromView($coll as xs:string, $view as node()) as xs:string
{
- let $schemaName := $view/@SchemaName
- let $schemaVersion := $view/@SchemaVersion
- let $eventId := $view/@Last
- return fn:string-join(($coll,'/','Outcome.',$schemaName,'.',$schemaVersion,'.',$eventId),'')
+ string-join(($coll,'/',$view,'Outcome.',$view/Viewpoint/@SchemaName,'.',$view/Viewpoint/@SchemaVersion,'.',$view/Viewpoint/@Last) ,'')
+};
+
+
+declare function cristal:getOutcomeFromEvent($coll as xs:string, $event as node()) as xs:string
+{
+ return string-join(($coll,'/','Outcome.',$event/Event/@SchemaName,'.',$event/Event/@SchemaVersion,'.',$event/Event/@ID),'')
};
+declare function cristal:getLastView($coll as xs:string, $schemaName as xs:string) as xs:string
+{
+ string-join(($coll,'/','ViewPoint.',$schemaName,'.last'), '')
+}
+
declare function cristal:getCollByType($typeName as xs:string) as xs:string*
{
for $prop in //Property[@name="CfCName"]
@@ -23,11 +33,3 @@ declare function cristal:getCollByName($name as xs:string) as xs:string*
where $prop eq $typeName and $prodType eq "Product"
return $itemColl
};
-
-declare function cristal:getOutcomeFromEvent($coll as xs:string, $event as node()) as xs:string
-{
- let $schemaName := $event/@SchemaName
- let $schemaVersion := $event/@SchemaVersion
- let $eventId := $event/@ID
- return fn:string-join(($coll,'/','Outcome.',$schemaName,'.',$schemaVersion,'.',$eventId),'')
-}; \ No newline at end of file