From c4b9f4d459541a0b406091ade062be4bf99f7632 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 28 Jul 2014 17:32:21 +0200 Subject: Namespace declaration, getOutcomeFromView and getOutcomeFromEvent work. Added getLastView --- src/main/resources/cristal-function-lib.xql | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'src/main/resources/cristal-function-lib.xql') 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 -- cgit v1.2.3