Changeset 8872


Ignore:
Timestamp:
03/05/07 19:29:23 (5 years ago)
Author:
anp
Message:

débug dataBlock

Location:
trunk/Wsp_Modeling
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Wsp_Modeling/es/content/data/dataFormOdTransf/xml.xed.xml

    r8863 r8872  
    156156                        <childs> 
    157157                                <insert4all se:bind="current"> 
    158                                         <element se:name="sm:overrideContentDeclaration" se:bind="element" se:card="?" se:show="ifExist" insert="collapsed" forcefilled="true"> 
    159                                                 <childs> 
    160                                                         <se:ref se:refid="sm:dataBlockDeclaration.choice" se:refurl="chrome://sm_modeling/content/odTemplate/odTemplateText/xml.xed.xml"/> 
    161                                                         <insert se:bind="current"/> 
    162                                                 </childs> 
    163                                         </element> 
     158                                        <se:ref se:refid="sm:overrideContentDeclaration" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
    164159                                        <se:ref se:name="sm:blockId" se:refid="sm:dataBlock.inForField.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
    165160                                        <se:ref se:name="sm:sortKey" se:refid="sm:dataBlock.inForField.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
     
    351346                        <childs> 
    352347                                <insert4all se:bind="current"> 
    353                                         <element se:name="sm:overrideContentDeclaration" se:bind="element" se:card="?" se:show="ifExist" insert="collapsed" forcefilled="true"> 
    354                                                 <childs> 
    355                                                         <se:ref se:refid="sm:dataBlockDeclaration.choice" se:refurl="chrome://sm_modeling/content/odTemplate/odTemplateText/xml.xed.xml"/> 
    356                                                         <insert se:bind="current"/> 
    357                                                 </childs> 
    358                                         </element> 
     348                                        <se:ref se:refid="sm:overrideContentDeclaration" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
    359349                                        <se:ref se:name="sm:blockId" se:refid="sm:dataBlock.inForSet.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
    360350                                        <se:ref se:name="sm:sortKey" se:refid="sm:dataBlock.inForSet.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
     
    751741                                                                                                <childs> 
    752742                                                                                                        <insert4all se:bind="current"> 
    753                                                                                                                 <element se:name="sm:overrideContentDeclaration" se:bind="element" se:card="?" se:show="ifExist" insert="collapsed" forcefilled="true"> 
    754                                                                                                                         <childs> 
    755                                                                                                                                 <se:ref se:refid="sm:dataBlockDeclaration.choice" se:refurl="chrome://sm_modeling/content/odTemplate/odTemplateText/xml.xed.xml"/> 
    756                                                                                                                                 <insert se:bind="current"/> 
    757                                                                                                                         </childs> 
    758                                                                                                                 </element> 
     743                                                                                                                <se:ref se:refid="sm:overrideContentDeclaration" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
    759744                                                                                                                <se:ref se:name="sm:blockId" se:refid="sm:dataBlock.default.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
    760745                                                                                                                <se:ref se:name="sm:sortKey" se:refid="sm:dataBlock.default.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
  • trunk/Wsp_Modeling/es/content/odTemplate/odTemplateText/xml.xed.xml

    r8477 r8872  
    656656                                                        </choiceInput> 
    657657                                                </attribute> 
     658                                                <attribute se:bind="attribute" se:name="hideBlockIfShowInContent" tooltiptext="Ignorer les blocs déja affichés dans le contenu ('sm:content' possède 'sm:callBlockData')"> 
     659                                                        <choiceInput> 
     660                                                                <ciItem label="yes"/> 
     661                                                                <ciItem label="no"/> 
     662                                                        </choiceInput> 
     663                                                </attribute> 
    658664                                        </atts> 
    659665                                        <childs> 
     
    671677                                                                                                        <choiceInput> 
    672678                                                                                                                <ciItem label="first"/> 
     679                                                                                                                <ciItem label="firstCallData"/> 
    673680                                                                                                                <!-- <ciItem label="last"/> --> 
    674681                                                                                                        </choiceInput> 
  • trunk/Wsp_Modeling/es/content/organisation/compositionOdtTransf/xml.xed.xml

    r8863 r8872  
    581581                        <childs> 
    582582                                <insert4all se:bind="current"> 
    583                                         <element se:name="sm:overrideContentDeclaration" se:bind="element" se:card="?" se:show="ifExist" insert="collapsed" forcefilled="true"> 
    584                                                 <childs> 
    585                                                         <se:ref se:refid="sm:dataBlockDeclaration.choice" se:refurl="chrome://sm_modeling/content/odTemplate/odTemplateText/xml.xed.xml"/> 
    586                                                         <insert se:bind="current"/> 
    587                                                 </childs> 
    588                                         </element> 
     583                                        <se:ref se:refid="sm:overrideContentDeclaration" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
    589584                                        <se:ref se:name="sm:blockId" se:refid="sm:dataBlock_ctx.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
    590585                                        <se:ref se:name="sm:sortKey" se:refid="sm:dataBlock_ctx.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
     
    618613                        <childs> 
    619614                                <insert4all se:bind="current"> 
    620                                         <element se:name="sm:overrideContentDeclaration" se:bind="element"  se:card="?" se:show="ifExist" insert="collapsed" forcefilled="true"> 
    621                                                 <childs> 
    622                                                         <se:ref se:refid="sm:dataBlockDeclaration.choice" se:refurl="chrome://sm_modeling/content/odTemplate/odTemplateText/xml.xed.xml"/> 
    623                                                         <insert se:bind="current"/> 
    624                                                 </childs> 
    625                                         </element> 
     615                                        <se:ref se:refid="sm:overrideContentDeclaration" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
    626616                                        <se:ref se:name="sm:blockId" se:refid="sm:dataBlock_fix.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
    627617                                        <se:ref se:name="sm:sortKey" se:refid="sm:dataBlock_fix.label" se:card="?" se:show="ifExist" insert="collapsed"/> 
  • trunk/Wsp_Modeling/es/content/resources/textOdTransf/xml.xed.xml

    r8863 r8872  
    246246                                                                                <childs> 
    247247                                                                                        <insert4all se:bind="current"> 
    248                                                                                                 <element se:name="sm:overrideContentDeclaration" se:bind="element" se:card="?" se:show="ifExist" insert="collapsed" forcefilled="true"> 
    249                                                                                                         <childs> 
    250                                                                                                                 <se:ref se:refid="sm:dataBlockDeclaration.choice" se:refurl="chrome://sm_modeling/content/odTemplate/odTemplateText/xml.xed.xml"/> 
    251                                                                                                                 <insert se:bind="current"/> 
    252                                                                                                         </childs> 
    253                                                                                                 </element> 
     248                                                                                                <se:ref se:refid="sm:overrideContentDeclaration" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
    254249                                                                                                <se:ref se:name="sm:blockId" se:refid="sm:label" se:card="?" se:show="ifExist" insert="collapsed"/> 
    255250                                                                                                <se:ref se:name="sm:sortKey" se:refid="sm:label" se:card="?" se:show="ifExist" insert="collapsed"/> 
  • trunk/Wsp_Modeling/es/content/xEdition/coreOd.xed.xml

    r8778 r8872  
    117117                        </childs> 
    118118                </element> 
     119                 
     120                 
     121        <!--** 
     122                 *  elmts des dataBlock 
     123                 *--> 
     124                <element se:name="sm:overrideContentDeclaration" se:bind="element" se:card="?" se:show="ifExist" insert="collapsed" forcefilled="true"> 
     125                        <childs> 
     126                                <se:choice se:card="*" se:id="sm:dataBlockDeclaration.choice"> 
     127                                        <element se:bind="element" se:name="sm:callBlockLabel" forcefilled="true" se:show="ifExist"/> 
     128                                        <element se:bind="element" se:name="sm:callBlockData" forcefilled="true"/> 
     129                                        <se:ref se:refid="sm:fixedString" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
     130                                        <se:ref se:refid="sm:dynamicString" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
     131                                        <se:ref se:refid="sm:formattingMark" se:refurl="chrome://sm_modeling/content/xEdition/coreOd.xed.xml"/> 
     132                                </se:choice> 
     133                                <insert se:bind="current"/> 
     134                        </childs> 
     135                </element> 
    119136                  
    120137        <!--** 
    121138                 *  defaultStyle 
    122139                 *--> 
    123                   
    124140                <insert se:bind="current" se:id="sm:defaultStyle"/> 
    125141                <!--  
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/_common/sm/od/getContent.xsl.xsl

    r8845 r8872  
    114114                </xsl0:template> 
    115115                 
     116                 
    116117        <!-- ## 
    117118                  # dataBlock 
    118119                  ### --> 
    119                  <xsl0:template match="sm:overrideContentDeclaration"> 
     120                <xsl0:template match="sm:overrideContentDeclaration"> 
    120121                        <scOd:overrideContentDeclaration> 
    121122                                <xsl0:apply-templates/> 
    122123                        </scOd:overrideContentDeclaration> 
    123                  </xsl0:template> 
     124                </xsl0:template> 
     125                  
     126                <xsl0:template match="sm:refBlock" name="sm:refBlock"> 
     127                        <xsl0:for-each select="*"> 
     128                                <xsl0:choose> 
     129                                        <xsl0:when test="name()='sm:blockPage'"><scOd:refBlock format="page" position="{../@position}"/></xsl0:when> 
     130                                        <xsl0:when test="name()='sm:blockTitle'"><scOd:refBlock format="text" position="{../@position}"/></xsl0:when> 
     131                                        <xsl0:when test="name()='sm:blockChapter'"><scOd:refBlock format="chapter" position="{../@position}"/></xsl0:when> 
     132                                        <xsl0:when test="name()='sm:blockDirection'"><scOd:refBlock format="direction" position="{../@position}"/></xsl0:when> 
     133                                </xsl0:choose> 
     134                        </xsl0:for-each> 
     135                </xsl0:template> 
     136                <xsl0:template match="sm:refBlock" mode="mContent"><xsl0:call-template name="sm:refBlock"/></xsl0:template> 
     137                         
     138                <xsl0:template match="sm:callBlockData" name="sm:callBlockData"><scOd:block.data/></xsl0:template> 
     139                <xsl0:template match="sm:callBlockData" mode="mContent"><xsl0:call-template name="sm:callBlockData"/></xsl0:template> 
     140 
     141                <xsl0:template match="sm:callBlockLabel" name="sm:callBlockLabel"><scOd:block.label/></xsl0:template> 
     142                <xsl0:template match="sm:callBlockLabel" mode="mContent"><xsl0:call-template name="sm:callBlockLabel"/></xsl0:template> 
     143                 
     144                <xsl0:template match="sm:callBlockPosition" name="sm:callBlockPosition"><scOd:block.position/></xsl0:template> 
     145                <xsl0:template match="sm:callBlockPosition" mode="mContent"><xsl0:call-template name="sm:callBlockPosition"/></xsl0:template> 
     146                 
     147                <xsl0:template match="sm:callBlockPages" name="sm:callBlockPages"><scOd:callBlockPages separator="{@separator}"/></xsl0:template> 
     148                <xsl0:template match="sm:callBlockPages" mode="mContent"><xsl0:call-template name="sm:callBlockPages"/></xsl0:template> 
    124149                 
    125150</xsl0:stylesheet> 
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/sm_compositionOdtTransf/getContent.xsl.xsl

    r8699 r8872  
    5858        <xsl0:namespace-alias stylesheet-prefix="xsl" result-prefix="xsl0"/> 
    5959         
    60         <xsl:include href="bsco:sm/od/getContent.xsl.xsl"/> 
     60        <xsl0:include href="bsco:sm/od/getContent.xsl.xsl"/> 
    6161        <xsl0:include href="bs:resolveBlockCode.xsl.xsl"/> 
    6262         
     
    418418        <xsl0:template match="sm:label | sm:sortKey | sm:blockId"><xsl0:apply-templates select="*" mode="mContent"/></xsl0:template> 
    419419        <xsl0:template match="sm:data"><xsl0:apply-templates select="*" mode="mContent"/></xsl0:template> 
    420          
     420                 
    421421        <xsl0:template match="sm:fixedString"><xsl0:value-of select="@value"/></xsl0:template> 
    422422         
     
    604604         
    605605        <xsl0:template match="sm:fixedString" mode="mContent"><xsl0:value-of select="@value"/></xsl0:template> 
    606                          
    607         <xsl0:template match="*"/> 
     606 
    608607</xsl0:stylesheet> 
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/sm_odTemplateText/getContent.xml.xsl

    r8844 r8872  
    133133        </xsl:template> 
    134134        <xsl:template match="sm:dataBlockDeclaration"> 
    135                 <scOd:dataBlockDeclaration category="{@category}" sort="{@sort}" hideSameBlock="{@hideSameBlock}" hideEmptyBlocks="{@hideEmptyBlocks}"> 
     135                <scOd:dataBlockDeclaration category="{@category}" sort="{@sort}" hideSameBlock="{@hideSameBlock}" hideEmptyBlocks="{@hideEmptyBlocks}" hideBlockIfShowInContent="{si(@hideBlockIfShowInContent, @hideBlockIfShowInContent, 'no')}"> 
    136136                        <xsl:apply-templates/> 
    137137                </scOd:dataBlockDeclaration> 
     
    153153        </xsl:template> 
    154154         
    155         <xsl:template match="sm:refBlock"> 
    156                 <xsl:for-each select="*"> 
    157                         <xsl:choose> 
    158                                 <xsl:when test="name()='sm:blockPage'"><scOd:refBlock format="page" position="{../@position}"/></xsl:when> 
    159                                 <xsl:when test="name()='sm:blockTitle'"><scOd:refBlock format="text" position="{../@position}"/></xsl:when> 
    160                                 <xsl:when test="name()='sm:blockChapter'"><scOd:refBlock format="chapter" position="{../@position}"/></xsl:when> 
    161                                 <xsl:when test="name()='sm:blockDirection'"><scOd:refBlock format="direction" position="{../@position}"/></xsl:when> 
    162                         </xsl:choose> 
    163                 </xsl:for-each> 
    164         </xsl:template> 
    165                          
    166         <xsl:template match="sm:callBlockData"><scOd:block.data/></xsl:template> 
    167         <xsl:template match="sm:callBlockLabel"><scOd:block.label/></xsl:template> 
    168         <xsl:template match="sm:callBlockPosition"><scOd:block.position/></xsl:template> 
    169         <xsl:template match="sm:callBlockPages"><scOd:callBlockPages separator="{@separator}"/></xsl:template> 
    170          
    171155        <xsl:template match="*"/> 
    172156</xsl:stylesheet> 
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/sm_odTemplateText/postProcessing.xsl.xsl

    r8704 r8872  
    4040                #                                       <scOd:data>odContent</scOd:data> 
    4141                #                         </scOd:dataBlock> 
    42                 #                         <scOd:showDataBlocks category="xxx" hideEmptyBlocks="yes|no" hideIfNoBlocks="yes|no"> 
     42                #                         <scOd:showDataBlocks category="xxx" hideEmptyBlocks="yes|no" hideIfNoBlocks="yes|no" hideBlockIfShowInContent="yes|no"> 
    4343                #                <scOd:forEachBlock> 
    4444                #                       odContent 
     
    186186                        <xsl:param name="pCateg"/> 
    187187                        <xsl:param name="pIdForEach"/> 
     188                        <xsl:param name="pMode"/><!-- [|ignoreAlreadyShowBlocks] --> 
    188189                        <xsl:for-each select="//scOd:dataBlockDeclaration[@category=$pCateg]"> 
    189190                                <blocks category="{{$pCateg}}"> 
    190                                         <documentBlockList><!-- liste des dataBlock tels que déclarés --> 
     191                                        <documentBlockList firstShowDbId="{{generate-id(//scOd:showDataBlocks[@category=$pCateg][1]//scOd:forEachBlock[1])}}"><!-- liste des dataBlock tels que déclarés --> 
    191192                                                <xsl:apply-templates select="//scOd:dataBlock[@category=$pCateg]" mode="getDataBlockList"/> 
    192193                                        </documentBlockList> 
     
    195196                                                        <xsl:apply-templates select="//scOd:dataBlock[@category=$pCateg]" mode="getBlockDef"> 
    196197                                                                <xsl:with-param name="pIdForEach" select="$pIdForEach"/> 
     198                                                                <xsl:with-param name="pMode" select="$pMode"/> 
    197199                                                                <xsl:sort select="normalize-space(scOd:sortKey)" data-type="text" order="{{key('dataBlockDeclaration', @category)/@sort}}"/> 
    198200                                                        </xsl:apply-templates> 
     
    201203                                                        <xsl:apply-templates select="//scOd:dataBlock[@category=$pCateg]" mode="getBlockDef"> 
    202204                                                                <xsl:with-param name="pIdForEach" select="$pIdForEach"/> 
     205                                                                <xsl:with-param name="pMode" select="$pMode"/> 
    203206                                                        </xsl:apply-templates> 
    204207                                                </xsl:otherwise> 
     
    209212                 
    210213                <xsl:template match="scOd:dataBlock" mode="getDataBlockList"> 
    211                         <dataBlock refId="{{generate-id()}}" category="{{@category}}" blockId="{{normalize-space(scOd:id)}}"/> 
     214                        <xsl:variable name="vId" select="normalize-space(scOd:id)"/> 
     215                        <xsl:variable name="vCategory" select="@category"/> 
     216                        <xsl:variable name="vIsContentShowInDocument"><!-- Permet de dire si la partie "contenu" de ce block a été affichée qq part dans le document --> 
     217                                <xsl:choose> 
     218                                        <xsl:when test="scOd:overrideContentDeclaration and scOd:overrideContentDeclaration//scOd:block.data">true</xsl:when> 
     219                                        <xsl:when test="key('dataBlockDeclaration', @category)/scOd:content//scOd:block.data or key('dataBlockDeclaration', @category)/scOd:conditionalContent//scOd:block.data">true</xsl:when> 
     220                                        <xsl:otherwise>false</xsl:otherwise> 
     221                                </xsl:choose> 
     222                        </xsl:variable> 
     223                        <dataBlock refId="{{generate-id()}}" category="{{@category}}" blockId="{{normalize-space(scOd:id)}}" isContentShowInDocument="{{normalize-space($vIsContentShowInDocument)}}"/> 
    212224                </xsl:template> 
    213225                 
    214226                <xsl:template match="scOd:dataBlock" mode="getBlockDef"> 
    215227                        <xsl:param name="pIdForEach"/> 
     228                        <xsl:param name="pMode"/><!-- [|ignoreAlreadyShowBlocks] --> 
    216229                        <xsl:variable name="vId" select="normalize-space(scOd:id)"/> 
    217230                        <xsl:variable name="vCategory" select="@category"/> 
     
    227240                        </xsl:variable> 
    228241                        <xsl:variable name="vData"><xsl:copy-of select="scOd:data/* | scOd:data/text()"/></xsl:variable> 
     242                        <xsl:variable name="vHasData" select="string-length(normalize-space($vData))&gt;0"/> 
    229243                        <xsl:variable name="vIsContentShowInDocument"><!-- Permet de dire si la partie "contenu" de ce block a été affichée qq part dans le document --> 
    230244                                <xsl:choose> 
    231                                         <xsl:when test="key('dataBlockDeclaration', @category)/scOd:content or key('dataBlockDeclaration', @category)/scOd:conditionalContent">true</xsl:when> 
    232                                         <xsl:when test="key('dataBlockDeclaration', @category)/scOd:noContent and count(//scOd:dataBlock[normalize-space(scOd:id)=$vId and @category=$vCategory and scOd:overrideContentDeclaration])&gt;0">true</xsl:when> 
     245                                        <xsl:when test="key('dataBlockDeclaration', @category)/scOd:content//scOd:block.data or key('dataBlockDeclaration', @category)/scOd:conditionalContent//scOd:block.data">true</xsl:when> 
     246                                        <xsl:when test="count(//scOd:dataBlock[normalize-space(scOd:id)=$vId and @category=$vCategory and scOd:overrideContentDeclaration//scOd:block.data])&gt;0">true</xsl:when> 
    233247                                        <xsl:otherwise>false</xsl:otherwise> 
    234248                                </xsl:choose> 
    235249                        </xsl:variable> 
    236                         <xsl:if test="(key('dataBlockDeclaration', @category)/@hideEmptyBlocks='true' and count(normalize-space($vData))=0) or key('dataBlockDeclaration', @category)/@hideSameBlock='no' or string-length(normalize-space(scOd:sortKey))=0 or not(preceding::scOd:dataBlock[@category=$vCategory and normalize-space(scOd:id)=$vId])"><!-- si block déja pris en compte et élimination des doublons activée et sortKey renseigné => on ne prend pas le block--> 
    237                                 <block idList="{{normalize-space($vIdBlockList)}}" category="{{@category}}" sortKey="{{normalize-space(scOd:sortKey)}}" idBlock="{{normalize-space(scOd:id)}}" isContentShowInDocument="{{normalize-space($vIsContentShowInDocument)}}"><!-- TODO : isContentShowInDocument à exploiter dans showDataBlock. Mettre une option pour n'afficher que les blocks qui n'ont pas été matérialisés dans le document --> 
    238                                         <title><xsl:copy-of select="scOd:title/* | scOd:title/text()"/></title> 
    239                                         <data><xsl:copy-of select="$vData"/></data> 
    240                                         <declaration><xsl:copy-of select="key('dataBlockDeclaration', @category)/* | key('dataBlockDeclaration', @category)/text()"/></declaration> 
    241                                         <xsl:if test="string-length(normalize-space($pIdForEach))&gt;0"> 
    242                                                 <definition><xsl:copy-of select="key('forEachBlock', $pIdForEach)/*"/></definition> 
    243                                         </xsl:if> 
    244                                 </block> 
     250                        <xsl:if test="$pMode!='ignoreAlreadyShowBlocks' or key('dataBlockDeclaration', @category)/@hideBlockIfShowInContent='no' or (key('dataBlockDeclaration', @category)/@hideBlockIfShowInContent='yes' and normalize-space($vIsContentShowInDocument)='false')"> 
     251                                <xsl:if test="  not(key('dataBlockDeclaration', @category)/@hideEmptyBlocks='yes'  
     252                                                                and not($vHasData)) and not(key('dataBlockDeclaration', @category)/@hideSameBlock='yes' and string-length(normalize-space(scOd:id))!=0 and preceding::scOd:dataBlock[@category=$vCategory and normalize-space(scOd:id)=$vId] and preceding::scOd:dataBlock[@category=$vCategory and normalize-space(scOd:id)=$vId]/scOd:data=$vData)"><!-- si block vide OU déja pris en compte => on ne prend pas le block--> 
     253                                        <block idList="{{normalize-space($vIdBlockList)}}" category="{{@category}}" sortKey="{{normalize-space(scOd:sortKey)}}" idBlock="{{normalize-space(scOd:id)}}" isContentShowInDocument="{{normalize-space($vIsContentShowInDocument)}}"> 
     254                                                <title><xsl:copy-of select="scOd:title/* | scOd:title/text()"/></title> 
     255                                                <data><xsl:copy-of select="$vData"/></data> 
     256                                                <declaration><xsl:copy-of select="key('dataBlockDeclaration', @category)/* | key('dataBlockDeclaration', @category)/text()"/></declaration> 
     257                                                <xsl:if test="string-length(normalize-space($pIdForEach))&gt;0"> 
     258                                                        <definition><xsl:copy-of select="key('forEachBlock', $pIdForEach)/*"/></definition> 
     259                                                </xsl:if> 
     260                                        </block> 
     261                                </xsl:if> 
    245262                        </xsl:if> 
    246263                </xsl:template> 
     
    293310                                        <xsl:with-param name="pCateg" select="$vCateg"/> 
    294311                                        <xsl:with-param name="pIdForEach" select="generate-id()"/> 
     312                                        <xsl:with-param name="pMode">ignoreAlreadyShowBlocks</xsl:with-param><!-- On n'affiche pas les blocks déja pris en compte dans le contenu --> 
    295313                                </xsl:call-template> 
    296314                        </xsl:variable> 
     
    305323                        <xsl:variable name="vCateg" select="ancestor-or-self::scOd:showDataBlocks/@category"/> 
    306324                        <xsl:variable name="vBlockList"> 
    307                                 <xsl:call-template name="getDataBlockList"> 
    308                                         <xsl:with-param name="pCateg" select="$vCateg"/> 
    309                                         <xsl:with-param name="pIdForEach" select="generate-id()"/> 
    310                                 </xsl:call-template> 
    311                         </xsl:variable> 
    312                         <xsl:apply-templates select="xalan:nodeset($vBlockList)" mode="definition"/> 
    313                 </xsl:template> 
    314                  
    315                 <xsl:template match="blocks" mode="definition"><xsl:apply-templates mode="definition"/></xsl:template> 
    316                 <xsl:template match="block" mode="definition"><xsl:apply-templates select="definition/* | definition/text()"/></xsl:template> 
     325                                <root showDataBlockId="{{generate-id()}}"> 
     326                                        <xsl:call-template name="getDataBlockList"> 
     327                                                <xsl:with-param name="pCateg" select="$vCateg"/> 
     328                                                <xsl:with-param name="pIdForEach" select="generate-id()"/> 
     329                                                <xsl:with-param name="pMode">ignoreAlreadyShowBlocks</xsl:with-param><!-- On n'affiche pas les blocks déja pris en compte dans le contenu --> 
     330                                        </xsl:call-template> 
     331                                </root> 
     332                        </xsl:variable> 
     333                        <xsl:apply-templates select="xalan:nodeset($vBlockList)/root/*" mode="definition"/> 
     334                </xsl:template> 
     335                 
     336                <xsl:template match="blocks" mode="definition"> 
     337                        <xsl:apply-templates mode="definition"/> 
     338                </xsl:template> 
     339                <xsl:template match="block" mode="definition"> 
     340                        <xsl:apply-templates select="definition/* | definition/text()"/> 
     341                </xsl:template> 
    317342                 
    318343                <xsl:template match="scOd:refBlock"> 
     
    321346                        <xsl:variable name="vCategory" select="$vBlock/@category"/> 
    322347                        <xsl:variable name="vIdBlock" select="normalize-space($vBlock/@idBlock)"/> 
     348                         
     349                        <xsl:variable name="vFirstCall" select="$vDataBlockList/dataBlock[@category=$vCategory and @blockId=$vIdBlock][1]/@refId"/> 
     350                        <xsl:variable name="vFirstCallData" select="$vDataBlockList/dataBlock[@category=$vCategory and @blockId=$vIdBlock and @isContentShowInDocument='true'][1]/@refId"/> 
     351                        <xsl:variable name="vFirstShowDbCall" select="concat($vDataBlockList/@firstShowDbId,$vIdBlock)"/> 
     352                         
    323353                        <xsl:variable name="vRefBlockId"> 
    324354                                <xsl:choose> 
    325                                         <xsl:when test="@position='first'"><xsl:value-of select="$vDataBlockList/dataBlock[@category=$vCategory and @blockId=$vIdBlock][1]/@refId"/></xsl:when> 
     355                                        <xsl:when test="@position='first'"><xsl:value-of select="$vDataBlockList"/></xsl:when> 
     356                                        <xsl:when test="@position='firstCallData' and $vFirstCallData"><xsl:value-of select="$vFirstCallData"/></xsl:when> 
     357                                        <xsl:when test="@position='firstCallData' and $vFirstShowDbCall"><xsl:value-of select="$vFirstShowDbCall"/></xsl:when> 
     358                                        <xsl:when test="@position='firstCallData'"><xsl:value-of select="$vDataBlockList"/></xsl:when> 
    326359                                </xsl:choose> 
    327360                        </xsl:variable> 
     
    330363                 
    331364                <xsl:template match="scOd:block.data"> 
    332                         <xsl:variable name="vBlock" select="ancestor::block"/> 
    333                         <xsl:apply-templates select="$vBlock/data/* | $vBlock/data/text()"/> 
    334                 </xsl:template> 
    335                  
    336                 <xsl:template match="scOd:block.label"><xsl:variable name="vBlock" select="ancestor::block"/><xsl:value-of select="$vBlock/title"/></xsl:template> 
     365                        <xsl:choose> 
     366                                <xsl:when test="ancestor::block"><!-- on est dans le contexte d'un showDataBlock --> 
     367                                        <xsl:variable name="vBlock" select="ancestor::block"/> 
     368                                        <xsl:variable name="vShowDbId" select="ancestor::root/@showDataBlockId"/> 
     369                                        <text:p text:style-name="odHiddenParagraph"><text:bookmark-start text:name="{{concat($vShowDbId, $vBlock/@idBlock)}}"/><scOd:notIfText/></text:p> 
     370                                        <xsl:apply-templates select="$vBlock/data/* | $vBlock/data/text()"/> 
     371                                        <text:p text:style-name="odHiddenParagraph"><text:bookmark-end text:name="{{concat($vShowDbId, $vBlock/@idBlock)}}"/><scOd:notIfText/></text:p> 
     372                                </xsl:when> 
     373                                <xsl:otherwise> 
     374                                        <xsl:variable name="vBlock" select="ancestor::scOd:dataBlock"/> 
     375                                        <xsl:apply-templates select="$vBlock/scOd:data/* | $vBlock/scOd:data/text()"/> 
     376                                </xsl:otherwise> 
     377                        </xsl:choose> 
     378                </xsl:template> 
     379                 
     380                <xsl:template match="scOd:block.label"> 
     381                        <xsl:choose> 
     382                                <xsl:when test="ancestor::block"> 
     383                                        <xsl:variable name="vBlock" select="ancestor::block"/> 
     384                                        <xsl:value-of select="$vBlock/title"/> 
     385                                </xsl:when> 
     386                                <xsl:otherwise> 
     387                                        <xsl:variable name="vBlock" select="ancestor::scOd:dataBlock"/> 
     388                                        <xsl:value-of select="$vBlock/scOd:title"/> 
     389                                </xsl:otherwise> 
     390                        </xsl:choose> 
     391                </xsl:template> 
    337392                <xsl:template match="scOd:block.position"><xsl:for-each select="ancestor::block[1]"><xsl:value-of select="count(preceding-sibling::block)+1"/></xsl:for-each></xsl:template> 
    338393                <xsl:template match="scOd:callBlockPages"> 
Note: See TracChangeset for help on using the changeset viewer.