Loading plugins-available/default/breadcrumb/breadcrumb.xqmdeleted 100644 → 0 +0 −65 Original line number Diff line number Diff line (: For conditions of distribution and use, see the accompanying legal.txt file. :) module namespace max.plugin.breadcrumb = 'pddn/max/plugin/breadcrumb'; import module namespace max.config = 'pddn/max/config' at '../../rxq/config.xqm'; import module namespace max.util = 'pddn/max/util' at '../../rxq/util.xqm'; import module namespace rest = "http://exquery.org/ns/restxq"; declare variable $max.plugin.breadcrumb:PLUGIN_ID := "breadcrumb"; declare variable $max.plugin.breadcrumb:TOP_LABEL := "topLabel"; (: Breadcrumb fragment identifié :) declare %rest:GET %output:method("html") %rest:path("/{$project}/plugins/breadcrumb/{$route=.*\.xml}/{$id}") function max.plugin.breadcrumb:buildIdBreadcrumb($project, $route, $id){ let $dbPath := max.config:getProjectDBPath($project) let $projectPrettyName := max.plugin.breadcrumb:getBreadcrumbTop($project) let $title:= max.util:getDocTitle($dbPath, $route, max.config:getXMLFormat($project)) let $xsl := max.config:getDocumentTitleTOCXSL($project) let $transformedTitle := xslt:transform($title,$xsl) let $fragmentTitle := xslt:transform( collection($dbPath)//*[@xml:id=$id], file:parent(static-base-uri()) || '_breadcrumb.xsl') return <div id="breadcrumb"> <ol class="breadcrumb"> <li><a href = "{max.config:getBaseURI() || $project}/sommaire">{$projectPrettyName}</a></li> <li><a href = "{max.config:getBaseURI() ||$project}/sommaire/{$route}">{$transformedTitle}</a></li> <li>{$fragmentTitle}</li> </ol> </div> }; (: Breadcrumb document complet :) declare %rest:GET %output:method("html") %rest:path("/{$project}/plugins/breadcrumb/{$route=.*\.xml}") function max.plugin.breadcrumb:buildDocBreadcrumb($project, $route){ let $dbPath := max.config:getProjectDBPath($project) let $projectPrettyName := max.plugin.breadcrumb:getBreadcrumbTop($project) let $title:= max.util:getDocTitle($dbPath, $route, max.config:getXMLFormat($project)) let $xsl := max.config:getDocumentTitleTOCXSL($project) let $transformedTitle := xslt:transform($title,$xsl) return <div id="breadcrumb"> <ol class="breadcrumb"> <li><a href = "{max.config:getBaseURI() || $project}">{$projectPrettyName}</a></li> <li><a href = "{max.config:getBaseURI() || $project}/sommaire/{$route}">{$transformedTitle}</a></li> </ol> </div> }; declare %private function max.plugin.breadcrumb:getBreadcrumbTop($project){ max.config:getPluginParameterValue($project, $max.plugin.breadcrumb:PLUGIN_ID, $max.plugin.breadcrumb:TOP_LABEL) }; Loading
plugins-available/default/breadcrumb/breadcrumb.xqmdeleted 100644 → 0 +0 −65 Original line number Diff line number Diff line (: For conditions of distribution and use, see the accompanying legal.txt file. :) module namespace max.plugin.breadcrumb = 'pddn/max/plugin/breadcrumb'; import module namespace max.config = 'pddn/max/config' at '../../rxq/config.xqm'; import module namespace max.util = 'pddn/max/util' at '../../rxq/util.xqm'; import module namespace rest = "http://exquery.org/ns/restxq"; declare variable $max.plugin.breadcrumb:PLUGIN_ID := "breadcrumb"; declare variable $max.plugin.breadcrumb:TOP_LABEL := "topLabel"; (: Breadcrumb fragment identifié :) declare %rest:GET %output:method("html") %rest:path("/{$project}/plugins/breadcrumb/{$route=.*\.xml}/{$id}") function max.plugin.breadcrumb:buildIdBreadcrumb($project, $route, $id){ let $dbPath := max.config:getProjectDBPath($project) let $projectPrettyName := max.plugin.breadcrumb:getBreadcrumbTop($project) let $title:= max.util:getDocTitle($dbPath, $route, max.config:getXMLFormat($project)) let $xsl := max.config:getDocumentTitleTOCXSL($project) let $transformedTitle := xslt:transform($title,$xsl) let $fragmentTitle := xslt:transform( collection($dbPath)//*[@xml:id=$id], file:parent(static-base-uri()) || '_breadcrumb.xsl') return <div id="breadcrumb"> <ol class="breadcrumb"> <li><a href = "{max.config:getBaseURI() || $project}/sommaire">{$projectPrettyName}</a></li> <li><a href = "{max.config:getBaseURI() ||$project}/sommaire/{$route}">{$transformedTitle}</a></li> <li>{$fragmentTitle}</li> </ol> </div> }; (: Breadcrumb document complet :) declare %rest:GET %output:method("html") %rest:path("/{$project}/plugins/breadcrumb/{$route=.*\.xml}") function max.plugin.breadcrumb:buildDocBreadcrumb($project, $route){ let $dbPath := max.config:getProjectDBPath($project) let $projectPrettyName := max.plugin.breadcrumb:getBreadcrumbTop($project) let $title:= max.util:getDocTitle($dbPath, $route, max.config:getXMLFormat($project)) let $xsl := max.config:getDocumentTitleTOCXSL($project) let $transformedTitle := xslt:transform($title,$xsl) return <div id="breadcrumb"> <ol class="breadcrumb"> <li><a href = "{max.config:getBaseURI() || $project}">{$projectPrettyName}</a></li> <li><a href = "{max.config:getBaseURI() || $project}/sommaire/{$route}">{$transformedTitle}</a></li> </ol> </div> }; declare %private function max.plugin.breadcrumb:getBreadcrumbTop($project){ max.config:getPluginParameterValue($project, $max.plugin.breadcrumb:PLUGIN_ID, $max.plugin.breadcrumb:TOP_LABEL) };