Loading max.xq +24 −17 Original line number Diff line number Diff line Loading @@ -137,22 +137,8 @@ function max:fragmentToHTMLPage($project, $routeDoc, $id){ return try { let $html := xslt:transform($xml, $xsltDoc, $xsltParams) let $pluginsHTML := for $pluginName in max.config:getPluginNameList($project) let $pluginXQ := file:parent(static-base-uri())||'/plugins-enabled/' || $pluginName || '/'|| $pluginName ||'.xq' return if(file:exists($pluginXQ)) then xquery:invoke($pluginXQ, map { 'baseURI' : max.config:getBaseURI(), 'dbPath': $dbPath, 'project' : $project, 'doc' : $routeDoc, 'id' :$id }) else () return max.html:render($project, $routeDoc, <div>{$pluginsHTML}{$html}</div>, $id) return max.html:render($project, $routeDoc, <div>{max:invokePluginXQueries($project, $routeDoc, $id)}{$html}</div>, $id) } catch * { max:max-error("Erreur code " || $err:code, $err:description,$err:module, $err:line-number) Loading Loading @@ -272,7 +258,9 @@ declare function max:getFullDocument($project, $doc){ let $xmlDoc := (doc(max.config:getProjectDBPath($project) || "/" || $doc)/*)[1] return max.html:render($project, "doc/"||$doc, <div id='text'>{max:transformEditionFragment($project, $xmlDoc, $doc)}</div>) max.html:render( $project, "doc/"||$doc, <div><div>{max:invokePluginXQueries($project, $doc, ())}</div><div id='text'>{max:transformEditionFragment($project, $xmlDoc, $doc)}</div></div>) }; Loading Loading @@ -328,3 +316,22 @@ function max:buildSitemap($project){ declare %private function max:invokePluginXQueries($project, $routeDoc, $id){ let $dbPath := max.config:getProjectDBPath($project) let $pluginsHTML := for $pluginName in max.config:getPluginNameList($project) let $pluginXQ := file:parent(static-base-uri())||'/plugins-enabled/' || $pluginName || '/'|| $pluginName ||'.xq' return if(file:exists($pluginXQ)) then xquery:invoke($pluginXQ, map { 'baseURI' : max.config:getBaseURI(), 'dbPath': $dbPath, 'project' : $project, 'doc' : $routeDoc, 'id' :$id }) else () return $pluginsHTML }; No newline at end of file plugins-available/default/breadcrumb/breadcrumb.xq +10 −4 Original line number Diff line number Diff line Loading @@ -17,14 +17,20 @@ let $projectPrettyName := max.config:getPluginParameterValue($project, $PLUGIN_I let $title:= max.util:getDocTitle($dbPath, $doc, 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 = "{$baseURI || $project}/sommaire">{$projectPrettyName}</a></li> <li><a href = "{$baseURI ||$project}/sommaire/{$doc}">{$transformedTitle}</a></li> <li>{$fragmentTitle}</li> { if($id)then <li>{ xslt:transform( collection($dbPath)//*[@xml:id = $id], file:parent(static-base-uri()) || '_breadcrumb.xsl') } </li> else() } </ol> </div> Loading
max.xq +24 −17 Original line number Diff line number Diff line Loading @@ -137,22 +137,8 @@ function max:fragmentToHTMLPage($project, $routeDoc, $id){ return try { let $html := xslt:transform($xml, $xsltDoc, $xsltParams) let $pluginsHTML := for $pluginName in max.config:getPluginNameList($project) let $pluginXQ := file:parent(static-base-uri())||'/plugins-enabled/' || $pluginName || '/'|| $pluginName ||'.xq' return if(file:exists($pluginXQ)) then xquery:invoke($pluginXQ, map { 'baseURI' : max.config:getBaseURI(), 'dbPath': $dbPath, 'project' : $project, 'doc' : $routeDoc, 'id' :$id }) else () return max.html:render($project, $routeDoc, <div>{$pluginsHTML}{$html}</div>, $id) return max.html:render($project, $routeDoc, <div>{max:invokePluginXQueries($project, $routeDoc, $id)}{$html}</div>, $id) } catch * { max:max-error("Erreur code " || $err:code, $err:description,$err:module, $err:line-number) Loading Loading @@ -272,7 +258,9 @@ declare function max:getFullDocument($project, $doc){ let $xmlDoc := (doc(max.config:getProjectDBPath($project) || "/" || $doc)/*)[1] return max.html:render($project, "doc/"||$doc, <div id='text'>{max:transformEditionFragment($project, $xmlDoc, $doc)}</div>) max.html:render( $project, "doc/"||$doc, <div><div>{max:invokePluginXQueries($project, $doc, ())}</div><div id='text'>{max:transformEditionFragment($project, $xmlDoc, $doc)}</div></div>) }; Loading Loading @@ -328,3 +316,22 @@ function max:buildSitemap($project){ declare %private function max:invokePluginXQueries($project, $routeDoc, $id){ let $dbPath := max.config:getProjectDBPath($project) let $pluginsHTML := for $pluginName in max.config:getPluginNameList($project) let $pluginXQ := file:parent(static-base-uri())||'/plugins-enabled/' || $pluginName || '/'|| $pluginName ||'.xq' return if(file:exists($pluginXQ)) then xquery:invoke($pluginXQ, map { 'baseURI' : max.config:getBaseURI(), 'dbPath': $dbPath, 'project' : $project, 'doc' : $routeDoc, 'id' :$id }) else () return $pluginsHTML }; No newline at end of file
plugins-available/default/breadcrumb/breadcrumb.xq +10 −4 Original line number Diff line number Diff line Loading @@ -17,14 +17,20 @@ let $projectPrettyName := max.config:getPluginParameterValue($project, $PLUGIN_I let $title:= max.util:getDocTitle($dbPath, $doc, 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 = "{$baseURI || $project}/sommaire">{$projectPrettyName}</a></li> <li><a href = "{$baseURI ||$project}/sommaire/{$doc}">{$transformedTitle}</a></li> <li>{$fragmentTitle}</li> { if($id)then <li>{ xslt:transform( collection($dbPath)//*[@xml:id = $id], file:parent(static-base-uri()) || '_breadcrumb.xsl') } </li> else() } </ol> </div>