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

#111. Patch pour intégrer les plugins lors de l'alignement

parent 64e02940
Loading
Loading
Loading
Loading
+2 −23
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ function max:fragmentToHTMLPage($project, $routeDoc, $id, $search as xs:string ?
                        $project, $routeDoc,
                        <div>
                            <div class="plugins-wrapper">
                                {max:invokePluginXQueries($project, $routeDoc, $id)}
                                {max.html:invokePluginXQueries($project, $routeDoc, $id)}
                            </div>
                            {$txml}
                        </div>, $id)
@@ -167,7 +167,7 @@ function max:getFullDocument($project, $doc, $search as xs:string ?, $focus as x
    let $html:= max.html:render(
                $project, "doc/"||$docName,
                <div>
                    <div>{max:invokePluginXQueries($project, $docName, ())}</div>
                    <div>{max.html:invokePluginXQueries($project, $docName, ())}</div>
                    <div id='text'>
                        {max.util:getTextHookFragment($project, $docName)}
                        {max:transformEditionFragment($project, $xmlDoc, $docName)}
@@ -333,27 +333,6 @@ 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:getEnabledPluginNames($project)
        let $pluginXQ := file:parent(static-base-uri())||'/plugins/' || $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
};


(:declare:)
(:%rest:GET:)
(:%rest:path("/{$projectId}/test/fop"):)
+7 −2
Original line number Diff line number Diff line
@@ -22,7 +22,12 @@ function max.alignment:alignedHTML($project, $doc, $id1, $id2){
   let $xsltParams := max.config:getXSLTParams($project, $doc,())
   let $xml := max.alignment:runAlignmentQuery($project, $doc, $id1, $id2)

   let $html:= <div>{xslt:transform($xml, $xsltDoc, $xsltParams)}</div>
   let $html:=  <div>
                    <div class="plugins-wrapper">
                    {max.html:invokePluginXQueries($project, $doc, $id1)}
                    </div>
                    <div>{xslt:transform($xml, $xsltDoc, $xsltParams)}</div>
                </div>
                         
   (: return <div>{$xsltParams}</div> :)
   return  max.html:render($project,$doc, $html , $id1) 
+20 −0
Original line number Diff line number Diff line
@@ -346,6 +346,26 @@ declare %private function max.html:buildMetas($projectId, $xmlFragment){

};

declare function max.html:invokePluginXQueries($project, $routeDoc, $id){
    let $dbPath := max.config:getProjectDBPath($project)
    let $pluginsHTML :=
        for $pluginName in max.config:getEnabledPluginNames($project)
        let $pluginXQ := file:parent(static-base-uri())||'/plugins/' || $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
};

declare function max.html:cleanValue($value){
    let $value := replace($value, '&#xA;', ' ')
    let $value := replace($value, '&#x9;', ' ')