Changeset 9232


Ignore:
Timestamp:
05/10/07 23:30:30 (5 years ago)
Author:
anp
Message:

Contournement bug moteur xpath qui génère une exception quand "id" possède un saut de ligne dans <xsl:for-each select=//xxxx[normalize-space(id)=$vId]>...

Location:
trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/_common/sm/textOdTransf/getContent.xsl.xsl

    r8994 r9232  
    189189                --> 
    190190                <scOd:dataBlock category="{@category}"> 
    191                         <scOd:id> 
     191                        <xsl:variable name="vId"> 
    192192                                <xsl0:choose> 
    193193                                        <xsl0:when test="sm:blockId"><xsl0:apply-templates select="sm:blockId"/></xsl0:when> 
     
    195195                                        <xsl0:otherwise><xsl0:apply-templates select="sm:label"/></xsl0:otherwise> 
    196196                                </xsl0:choose> 
    197                         </scOd:id> 
     197                        </xsl:variable> 
     198                        <scOd:id value="{{normalize-space($vId)}}"/> 
    198199                        <xsl0:apply-templates select="sm:overrideContentDeclaration"/> 
    199200                        <scOd:sortKey><xsl0:apply-templates select="sm:sortKey"/></scOd:sortKey> 
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/sm_compositionOdtTransf/getContent.xsl.xsl

    r8994 r9232  
    402402        <xsl0:template match="sm:dataBlock" name="sm:dataBlock_mContent" mode="mContent"> 
    403403                <scOd:dataBlock category="{@category}"> 
    404                         <scOd:id> 
     404                        <xsl:variable name="vId"> 
    405405                                <xsl0:choose> 
    406406                                        <xsl0:when test="sm:blockId"><xsl0:apply-templates select="sm:blockId"/></xsl0:when> 
     
    408408                                        <xsl0:otherwise><xsl0:apply-templates select="sm:label"/></xsl0:otherwise> 
    409409                                </xsl0:choose> 
    410                         </scOd:id> 
     410                        </xsl:variable> 
     411                        <scOd:id value="{{normalize-space($vId)}}"/> 
    411412                        <xsl0:apply-templates select="sm:overrideContentDeclaration"/> 
    412413                        <scOd:sortKey><xsl0:apply-templates select="sm:sortKey"/></scOd:sortKey> 
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/sm_dataFormOdTransf/getContent.xsl.xsl

    r8894 r9232  
    265265        <xsl0:template match="sm:dataBlock" name="sm:dataBlock_mContent" mode="mContent"> 
    266266                <scOd:dataBlock category="{@category}"> 
    267                         <scOd:id> 
     267                        <xsl:variable name="vId"> 
    268268                                <xsl0:choose> 
    269269                                        <xsl0:when test="sm:blockId"><xsl0:apply-templates select="sm:blockId"/></xsl0:when> 
     
    271271                                        <xsl0:otherwise><xsl0:apply-templates select="sm:label"/></xsl0:otherwise> 
    272272                                </xsl0:choose> 
    273                         </scOd:id> 
     273                        </xsl:variable> 
     274                        <scOd:id value="{{normalize-space($vId)}}"/> 
    274275                        <xsl0:apply-templates select="sm:overrideContentDeclaration"/> 
    275276                        <scOd:sortKey><xsl0:apply-templates select="sm:sortKey"/></scOd:sortKey> 
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/sm_odTemplateText/pp.content.xsl.xsl

    r8888 r9232  
    3535                #          - dataBlock 
    3636                #             <scOd:dataBlock category="xxxx"> 
    37                 #                                       <scOd:id></scOd:id> 
     37                #                                       <scOd:id value=""/> 
    3838                #                                       <scOd:sortKey></scOd:sortKey> 
    3939                #                                       <scOd:title></scOd:title> 
     
    212212                 
    213213                <xsl:template match="scOd:dataBlock" mode="getDataBlockList"> 
    214                         <xsl:variable name="vId" select="normalize-space(scOd:id)"/> 
     214                        <xsl:variable name="vId" select="scOd:id/@value"/> 
    215215                        <xsl:variable name="vCategory" select="@category"/> 
    216216                        <xsl:variable name="vIsContentShowInDocument"><!-- Permet de dire si la partie "contenu" de ce block a été affichée qq part dans le document --> 
     
    221221                                </xsl:choose> 
    222222                        </xsl:variable> 
    223                         <dataBlock refId="{{generate-id()}}" category="{{@category}}" blockId="{{normalize-space(scOd:id)}}" isContentShowInDocument="{{normalize-space($vIsContentShowInDocument)}}"/> 
     223                        <dataBlock refId="{{generate-id()}}" category="{{@category}}" blockId="{{scOd:id/@value}}" isContentShowInDocument="{{normalize-space($vIsContentShowInDocument)}}"/> 
    224224                </xsl:template> 
    225225                 
     
    227227                        <xsl:param name="pIdForEach"/> 
    228228                        <xsl:param name="pMode"/><!-- [|ignoreAlreadyShowBlocks] --> 
    229                         <xsl:variable name="vId" select="normalize-space(scOd:id)"/> 
     229                        <xsl:variable name="vId" select="scOd:id/@value"/> 
    230230                        <xsl:variable name="vCategory" select="@category"/> 
    231231                        <xsl:variable name="vIdBlockList"> 
    232232                                <xsl:choose> 
    233233                                        <xsl:when test="key('dataBlockDeclaration', @category)/@hideSameBlock='yes'"><!-- pas de doublon--> 
    234                                                 <xsl:for-each select="//scOd:dataBlock[@category=$vCategory and normalize-space(scOd:id)=$vId]"><xsl:value-of select="generate-id()"/>###</xsl:for-each> 
     234                                                <xsl:for-each select="//scOd:dataBlock[@category=$vCategory and scOd:id/@value=$vId]"><xsl:value-of select="generate-id()"/>###</xsl:for-each> 
    235235                                        </xsl:when> 
    236236                                        <xsl:otherwise><!-- on affiche toutes les entrées --> 
     
    244244                                <xsl:choose> 
    245245                                        <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> 
     246                                        <xsl:when test="count(//scOd:dataBlock[scOd:id/@value=$vId and @category=$vCategory and scOd:overrideContentDeclaration//scOd:block.data])&gt;0">true</xsl:when> 
    247247                                        <xsl:otherwise>false</xsl:otherwise> 
    248248                                </xsl:choose> 
     
    250250                        <xsl:if test="$pMode!='ignoreAlreadyShowBlocks' or key('dataBlockDeclaration', @category)/@hideBlockIfShowInContent='no' or (key('dataBlockDeclaration', @category)/@hideBlockIfShowInContent='yes' and normalize-space($vIsContentShowInDocument)='false')"> 
    251251                                <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)}}"> 
     252                                                                and not($vHasData)) and not(key('dataBlockDeclaration', @category)/@hideSameBlock='yes' and string-length(scOd:id/@value)!=0 and preceding::scOd:dataBlock[@category=$vCategory and scOd:id/@value=$vId] and preceding::scOd:dataBlock[@category=$vCategory and scOd:id/@value=$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="{{scOd:id/@value}}" isContentShowInDocument="{{normalize-space($vIsContentShowInDocument)}}"> 
    254254                                                <title><xsl:copy-of select="scOd:title/* | scOd:title/text()"/></title> 
    255255                                                <data><xsl:copy-of select="$vData"/></data> 
     
    265265                <xsl:template match="scOd:dataBlock"> 
    266266                        <xsl:variable name="vId" select="generate-id()"/> 
    267                         <xsl:variable name="vBlockId" select="normalize-space(scOd:id)"/> 
     267                        <xsl:variable name="vBlockId" select="scOd:id/@value"/> 
    268268                        <xsl:variable name="vBlockCategory" select="@category"/> 
    269269                        <xsl:variable name="vBlockList"> 
     
    282282                                <xsl:when test="xalan:nodeset($vBlockList)//block[contains(@idList, $vId)]/declaration/scOd:conditionalContent"> 
    283283                                        <xsl:choose> 
    284                                                 <xsl:when test="count(preceding-sibling::scOd:dataBlock[normalize-space(scOd:id)=$vBlockId and @category=$vBlockCategory])=0"><!-- première déclaration --> 
     284                                                <xsl:when test="count(preceding-sibling::scOd:dataBlock[scOd:id/@value=$vBlockId and @category=$vBlockCategory])=0"><!-- première déclaration --> 
    285285                                                        <xsl:apply-templates select="xalan:nodeset($vBlockList)//block[contains(@idList, $vId)][1]/declaration/scOd:conditionalContent/scOd:firstCall/* | xalan:nodeset($vBlockList)//block[contains(@idList, $vId)][1]/declaration/scOd:conditionalContent/scOd:firstCall/text()"/> 
    286286                                                </xsl:when> 
Note: See TracChangeset for help on using the changeset viewer.