Commit db983ad0 authored by Jerome Chauveau's avatar Jerome Chauveau
Browse files

html des plugins pour la consultation d'un doc complet + debug breadcrumb pour doc complet

parent 5e1c64a9
Loading
Loading
Loading
Loading
+24 −17
Original line number Diff line number Diff line
@@ -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)
@@ -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>)
};


@@ -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
+10 −4
Original line number Diff line number Diff line
@@ -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>