Ignore:
Timestamp:
08/04/09 19:09:44 (3 years ago)
Author:
sys
Message:

textPrim : ajout meta sur toutes les structures de la textPrim. En cours...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Wsp_Modeling/spaces/gen/modelBuilder/bs.doss/sm_textPrim/relaxNg.rng.xsl

    r13527 r13657  
    6060                <sng:define name="{resultatAgent('//codeModel')}_blocs"> 
    6161                        <xsl:choose> 
    62                                 <xsl:when test="count(sm:structure/sm:blockTags) &gt; 0"> 
     62                                <xsl:when test="boolean(sm:structure/sm:blockTags/*)"> 
    6363                                        <sng:oneOrMore> 
    6464                                                <sng:choice> 
     
    9090                        </sng:optional> 
    9191                </sng:define> 
    92         </xsl:template> 
    93          
     92                <xsl:apply-templates select="sm:structure/*" mode="define"/> 
     93        </xsl:template> 
    9494         
    9595         
    9696        <xsl:template match="sm:blockTags"> 
     97                <xsl:apply-templates/> 
     98        </xsl:template> 
     99         
     100        <xsl:template match="sm:paraTag"> 
    97101                <sng:element name="sc:para"> 
    98                         <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     102                        <!-- <xsl:call-template name="attRole"/> --> 
     103                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     104                        <xsl:apply-templates select="sm:meta"/> 
    99105                        <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    100106                </sng:element> 
    101                  
    102                 <xsl:if test="sm:simpleListTag"> 
    103                         <sng:element name="sc:simpleList"> 
    104                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    105                                 <sng:optional> 
    106                                         <sng:attribute name="role"> 
     107        </xsl:template> 
     108         
     109        <xsl:template match="sm:simpleListTag"> 
     110                <sng:element name="sc:simpleList"> 
     111                        <xsl:call-template name="attRole"/> 
     112                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     113                        <xsl:apply-templates select="sm:meta"/> 
     114                        <xsl:if test="sm:titleTag"> 
     115                                <sng:optional> 
     116                                        <sng:element name="sc:title"> 
     117                                                <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     118                                                <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     119                                        </sng:element> 
     120                                </sng:optional> 
     121                        </xsl:if> 
     122                        <sng:zeroOrMore> 
     123                                <sng:element name="sc:member"> 
     124                                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     125                                        <xsl:apply-templates select="sm:meta"/> 
     126                                        <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     127                                </sng:element> 
     128                        </sng:zeroOrMore> 
     129                </sng:element> 
     130        </xsl:template> 
     131         
     132        <xsl:template match="sm:itemizedListTag"> 
     133                <sng:element name="sc:itemizedList"> 
     134                        <xsl:call-template name="attRole"/> 
     135                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     136                        <xsl:apply-templates select="sm:meta"/> 
     137                        <xsl:if test="sm:titleTag"> 
     138                                <sng:optional> 
     139                                        <sng:element name="sc:title"> 
     140                                                <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     141                                                <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     142                                        </sng:element> 
     143                                </sng:optional> 
     144                        </xsl:if> 
     145                        <sng:zeroOrMore> 
     146                                <sng:element name="sc:listItem"> 
     147                                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     148                                        <xsl:apply-templates select="sm:meta"/> 
     149                                        <sng:ref name="{resultatAgent('//codeModel')}_blocs"/> 
     150                                </sng:element> 
     151                        </sng:zeroOrMore> 
     152                </sng:element> 
     153        </xsl:template> 
     154         
     155        <xsl:template match="sm:orderedListTag"> 
     156                <sng:element name="sc:orderedList"> 
     157                        <xsl:call-template name="attRole"/> 
     158                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     159                        <xsl:apply-templates select="sm:meta"/> 
     160                        <xsl:if test="sm:titleTag"> 
     161                                <sng:optional> 
     162                                        <sng:element name="sc:title"> 
     163                                                <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     164                                                <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     165                                        </sng:element> 
     166                                </sng:optional> 
     167                        </xsl:if> 
     168                        <sng:zeroOrMore> 
     169                                <sng:element name="sc:listItem"> 
     170                                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     171                                        <xsl:apply-templates select="sm:meta"/> 
     172                                        <sng:ref name="{resultatAgent('//codeModel')}_blocs"/> 
     173                                </sng:element> 
     174                        </sng:zeroOrMore> 
     175                </sng:element> 
     176        </xsl:template> 
     177         
     178        <xsl:template match="sm:tableTag"> 
     179                <sng:element name="sc:table"> 
     180                        <xsl:call-template name="attRole"/> 
     181                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     182                        <xsl:apply-templates select="sm:meta"/> 
     183                        <xsl:if test="sm:captionTag"> 
     184                                <sng:optional> 
     185                                        <sng:element name="sc:caption"> 
     186                                                <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     187                                                <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     188                                        </sng:element> 
     189                                </sng:optional> 
     190                        </xsl:if> 
     191                        <sng:zeroOrMore> 
     192                                <xsl:choose> 
     193                                        <xsl:when test="count(sm:columnTag)&gt;1"> 
    107194                                                <sng:choice> 
    108                                                         <xsl:for-each select="sm:simpleListTag"> 
    109                                                                 <sng:value> 
    110                                                                         <xsl:value-of select="@role"/> 
    111                                                                 </sng:value> 
    112                                                         </xsl:for-each> 
     195                                                        <xsl:apply-templates select="sm:columnTag"/> 
    113196                                                </sng:choice> 
    114                                         </sng:attribute> 
    115                                 </sng:optional> 
    116                                 <xsl:if test="sm:simpleListTag/sm:titleTag"> 
    117                                         <sng:optional> 
    118                                                 <sng:element name="sc:title"> 
    119                                                         <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    120                                                         <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    121                                                 </sng:element> 
    122                                         </sng:optional> 
    123                                 </xsl:if> 
    124                                 <sng:zeroOrMore> 
    125                                         <sng:element name="sc:member"> 
    126                                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    127                                                 <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    128                                         </sng:element> 
    129                                 </sng:zeroOrMore> 
    130                         </sng:element> 
    131                 </xsl:if> 
    132                  
    133                 <xsl:if test="sm:itemizedListTag"> 
    134                         <sng:element name="sc:itemizedList"> 
    135                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    136                                 <sng:optional> 
    137                                         <sng:attribute name="role"> 
     197                                        </xsl:when> 
     198                                        <xsl:otherwise> 
     199                                                <xsl:apply-templates select="sm:columnTag"/> 
     200                                        </xsl:otherwise> 
     201                                </xsl:choose> 
     202                        </sng:zeroOrMore> 
     203                        <sng:zeroOrMore> 
     204                                <xsl:choose> 
     205                                        <xsl:when test="count(sm:rowTag)&gt;1"> 
    138206                                                <sng:choice> 
    139                                                         <xsl:for-each select="sm:itemizedListTag"> 
    140                                                                 <sng:value> 
    141                                                                         <xsl:value-of select="@role"/> 
    142                                                                 </sng:value> 
    143                                                         </xsl:for-each> 
     207                                                        <xsl:apply-templates select="sm:rowTag"/> 
    144208                                                </sng:choice> 
    145                                         </sng:attribute> 
    146                                 </sng:optional> 
    147                                 <xsl:if test="sm:itemizedListTag/sm:titleTag"> 
    148                                         <sng:optional> 
    149                                                 <sng:element name="sc:title"> 
    150                                                         <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    151                                                         <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    152                                                 </sng:element> 
    153                                         </sng:optional> 
    154                                 </xsl:if> 
    155                                 <sng:zeroOrMore> 
    156                                         <sng:element name="sc:listItem"> 
    157                                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    158                                                 <sng:ref name="{resultatAgent('//codeModel')}_blocs"/> 
    159                                         </sng:element> 
    160                                 </sng:zeroOrMore> 
    161                         </sng:element> 
    162                 </xsl:if> 
    163                  
    164                 <xsl:if test="sm:orderedListTag"> 
    165                         <sng:element name="sc:orderedList"> 
    166                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    167                                 <sng:optional> 
    168                                         <sng:attribute name="role"> 
    169                                                 <sng:choice> 
    170                                                         <xsl:for-each select="sm:orderedListTag"> 
    171                                                                 <sng:value> 
    172                                                                         <xsl:value-of select="@role"/> 
    173                                                                 </sng:value> 
    174                                                         </xsl:for-each> 
    175                                                 </sng:choice> 
    176                                         </sng:attribute> 
    177                                 </sng:optional> 
    178                                 <xsl:if test="sm:orderedListTag/sm:titleTag"> 
    179                                         <sng:optional> 
    180                                                 <sng:element name="sc:title"> 
    181                                                         <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    182                                                         <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    183                                                 </sng:element> 
    184                                         </sng:optional> 
    185                                 </xsl:if> 
    186                                 <sng:zeroOrMore> 
    187                                         <sng:element name="sc:listItem"> 
    188                                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    189                                                 <sng:ref name="{resultatAgent('//codeModel')}_blocs"/> 
    190                                         </sng:element> 
    191                                 </sng:zeroOrMore> 
    192                         </sng:element> 
    193                 </xsl:if> 
    194                 <!-- 
    195                 <xsl:if test="sm:variableListTag"> 
    196                         <sng:element name="sc:variableList"> 
    197                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    198                                 <sng:optional> 
    199                                         <sng:attribute name="role"> 
    200                                                 <sng:choice> 
    201                                                         <xsl:for-each select="sm:variableListTag"> 
    202                                                                 <sng:value> 
    203                                                                         <xsl:value-of select="@role"/> 
    204                                                                 </sng:value> 
    205                                                         </xsl:for-each> 
    206                                                 </sng:choice> 
    207                                         </sng:attribute> 
    208                                 </sng:optional> 
    209                                 <sng:zeroOrMore> 
    210                                         <sng:element name="sc:varListEntry"> 
    211                                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    212                                                 <sng:oneOrMore> 
    213                                                         <sng:element name="sc:term"> 
    214                                                                 <sng:data type="string"/> 
    215                                                         </sng:element> 
    216                                                 </sng:oneOrMore> 
    217                                                 <sng:element name="sc:listItem"> 
    218                                                         <sng:ref name="{resultatAgent('//codeModel')}_blocs"/> 
    219                                                 </sng:element> 
    220                                         </sng:element> 
    221                                 </sng:zeroOrMore> 
    222                         </sng:element> 
    223                 </xsl:if> 
    224                 --> 
    225                  
    226                 <xsl:if test="sm:tableTag"> 
    227                         <sng:element name="sc:table"> 
    228                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    229                                 <sng:optional> 
    230                                         <sng:attribute name="role"> 
    231                                                 <sng:choice> 
    232                                                         <xsl:for-each select="sm:tableTag"> 
    233                                                                 <sng:value> 
    234                                                                         <xsl:value-of select="@role"/> 
    235                                                                 </sng:value> 
    236                                                         </xsl:for-each> 
    237                                                 </sng:choice> 
    238                                         </sng:attribute> 
    239                                 </sng:optional> 
    240                                 <xsl:if test="sm:tableTag/sm:captionTag"> 
    241                                         <sng:optional> 
    242                                                 <sng:element name="sc:caption"> 
    243                                                         <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    244                                                         <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    245                                                 </sng:element> 
    246                                         </sng:optional> 
    247                                 </xsl:if> 
    248                                 <sng:zeroOrMore> 
    249                                         <sng:element name="sc:column"> 
    250                                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    251                                                 <sng:optional> 
    252                                                         <sng:attribute name="role"> 
    253                                                                 <sng:choice> 
    254                                                                         <xsl:if test="xalan:distinct(sm:tableTag/sm:columnTag[not(@role)])"> 
    255                                                                                 <sng:value/> 
    256                                                                         </xsl:if> 
    257                                                                         <xsl:for-each select="xalan:distinct(sm:tableTag/sm:columnTag/@role)"> 
    258                                                                                 <sng:value> 
    259                                                                                         <xsl:value-of select="."/> 
    260                                                                                 </sng:value> 
    261                                                                         </xsl:for-each> 
    262                                                                 </sng:choice> 
    263                                                         </sng:attribute> 
    264                                                 </sng:optional> 
    265                                                 <sng:attribute name="width"> 
    266                                                         <sng:data type="string"/> 
    267                                                 </sng:attribute> 
    268                                         </sng:element> 
    269                                 </sng:zeroOrMore> 
    270                                 <sng:zeroOrMore> 
    271                                         <sng:element name="sc:row"> 
    272                                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    273                                                 <sng:optional> 
    274                                                         <sng:attribute name="role"> 
    275                                                                 <sng:choice> 
    276                                                                         <xsl:if test="xalan:distinct(sm:tableTag/sm:rowTag[not(@role)])"> 
    277                                                                                 <sng:value/> 
    278                                                                         </xsl:if> 
    279                                                                         <xsl:for-each select="xalan:distinct(sm:tableTag/sm:rowTag/@role)"> 
    280                                                                                 <sng:value> 
    281                                                                                         <xsl:value-of select="."/> 
    282                                                                                 </sng:value> 
    283                                                                         </xsl:for-each> 
    284                                                                 </sng:choice> 
    285                                                         </sng:attribute> 
    286                                                 </sng:optional> 
    287                                                 <sng:zeroOrMore> 
    288                                                         <sng:element name="sc:cell"> 
    289                                                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    290                                                                 <sng:optional> 
    291                                                                         <sng:attribute name="role"> 
    292                                                                                 <sng:choice> 
    293                                                                                         <xsl:if test="xalan:distinct(sm:tableTag/sm:cellTag[not(@role)])"> 
    294                                                                                                 <sng:value/> 
    295                                                                                         </xsl:if> 
    296                                                                                         <xsl:for-each select="xalan:distinct(sm:tableTag/sm:cellTag/@role)"> 
    297                                                                                                 <sng:value> 
    298                                                                                                         <xsl:value-of select="."/> 
    299                                                                                                 </sng:value> 
    300                                                                                         </xsl:for-each> 
    301                                                                                 </sng:choice> 
    302                                                                         </sng:attribute> 
    303                                                                 </sng:optional> 
    304                                                                 <sng:optional> 
    305                                                                         <sng:attribute name="rowSpan"> 
    306                                                                                 <sng:data type="string"/> 
    307                                                                         </sng:attribute> 
    308                                                                 </sng:optional> 
    309                                                                 <sng:optional> 
    310                                                                         <sng:attribute name="colSpan"> 
    311                                                                                 <sng:data type="string"/> 
    312                                                                         </sng:attribute> 
    313                                                                 </sng:optional> 
    314                                                                 <sng:optional> 
    315                                                                         <sng:ref name="{resultatAgent('//codeModel')}_blocs"/> 
    316                                                                 </sng:optional> 
    317                                                         </sng:element> 
    318                                                 </sng:zeroOrMore> 
    319                                         </sng:element> 
    320                                 </sng:zeroOrMore> 
    321                         </sng:element> 
    322                 </xsl:if> 
    323                  
    324                 <xsl:if test="sm:extBlockTag"> 
    325                         <sng:element name="sc:extBlock"> 
    326                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    327                                 <sng:optional> 
    328                                         <sng:attribute name="role"> 
    329                                                 <sng:choice> 
    330                                                         <xsl:for-each select="sm:extBlockTag"> 
    331                                                                 <sng:value> 
    332                                                                         <xsl:value-of select="@role"/> 
    333                                                                 </sng:value> 
    334                                                         </xsl:for-each> 
    335                                                 </sng:choice> 
    336                                         </sng:attribute> 
    337                                 </sng:optional> 
     209                                        </xsl:when> 
     210                                        <xsl:otherwise> 
     211                                                <xsl:apply-templates select="sm:rowTag"/> 
     212                                        </xsl:otherwise> 
     213                                </xsl:choose> 
     214                        </sng:zeroOrMore> 
     215                        <sng:ref name="{resultatAgent('//codeModel')}_cells_{@role}"/> 
     216                </sng:element> 
     217        </xsl:template> 
     218         
     219        <xsl:template match="sm:columnTag"> 
     220                <sng:element name="sc:column"> 
     221                        <xsl:call-template name="attRole"/> 
     222                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     223                        <sng:attribute name="width"> 
     224                                <sng:data type="string"/> 
     225                        </sng:attribute> 
     226                        <!-- <xsl:apply-templates select="sm:meta"/> --> 
     227                </sng:element> 
     228        </xsl:template> 
     229         
     230        <xsl:template match="sm:rowTag"> 
     231                <sng:element name="sc:row"> 
     232                        <xsl:call-template name="attRole"/> 
     233                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     234                        <xsl:apply-templates select="sm:meta"/> 
     235                        <sng:ref name="{resultatAgent('//codeModel')}_cells_{../@role}"/> 
     236                </sng:element> 
     237        </xsl:template> 
     238         
     239        <xsl:template match="sm:extBlockTag"> 
     240                <sng:element name="sc:extBlock"> 
     241                        <xsl:call-template name="attRole"/> 
     242                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     243                        <sng:attribute name="sc:refUri"> 
     244                                <sng:data type="string"> 
     245                                        <sng:param name="minLength">1</sng:param> 
     246                                </sng:data> 
     247                        </sng:attribute> 
     248                        <xsl:apply-templates select="sm:meta"/> 
     249                        <xsl:if test="sm:captionBlockTag"> 
     250                                <sng:optional> 
     251                                        <sng:element name="sc:captionBlock"> 
     252                                                <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     253                                                <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     254                                        </sng:element> 
     255                                </sng:optional> 
     256                        </xsl:if> 
     257                </sng:element> 
     258        </xsl:template> 
     259         
     260        <xsl:template match="sm:emptyBlockTag"> 
     261                <sng:element name="sc:emptyBlock"> 
     262                        <xsl:call-template name="attRole"/> 
     263                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     264                        <xsl:apply-templates select="sm:meta"/> 
     265                </sng:element> 
     266        </xsl:template> 
     267         
     268         
     269         
     270         
     271         
     272        <xsl:template match="sm:inlineTags"> 
     273                <xsl:apply-templates/> 
     274        </xsl:template> 
     275         
     276        <xsl:template match="sm:uLinkTag"> 
     277                <sng:element name="sc:uLink"> 
     278                        <xsl:call-template name="attRole"/> 
     279                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     280                        <sng:optional> 
     281                                <sng:attribute name="url"> 
     282                                        <sng:data type="string"> 
     283                                                <sng:param name="minLength">1</sng:param> 
     284                                        </sng:data> 
     285                                </sng:attribute> 
     286                        </sng:optional> 
     287                        <sng:optional> 
    338288                                <sng:attribute name="sc:refUri"> 
    339289                                        <sng:data type="string"> 
     
    341291                                        </sng:data> 
    342292                                </sng:attribute> 
    343                                 <xsl:if test="sm:extBlockTag/sm:captionBlockTag"> 
    344                                         <sng:optional> 
    345                                                 <sng:element name="sc:captionBlock"> 
    346                                                         <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    347                                                         <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    348                                                 </sng:element> 
    349                                         </sng:optional> 
    350                                 </xsl:if> 
    351                         </sng:element> 
    352                 </xsl:if> 
    353                  
    354                 <xsl:if test="sm:emptyBlockTag"> 
    355                         <sng:element name="sc:emptyBlock"> 
    356                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     293                        </sng:optional> 
     294                        <xsl:apply-templates select="sm:meta"/> 
     295                        <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     296                </sng:element> 
     297        </xsl:template> 
     298         
     299        <xsl:template match="sm:phraseTag"> 
     300                <sng:element name="sc:phrase"> 
     301                        <xsl:call-template name="attRole"/> 
     302                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     303                        <sng:optional> 
     304                                <!-- pour compatibilité avec SC < 3.7 --> 
     305                                <sng:attribute name="xml:lang"> 
     306                                        <sng:data type="string"/> 
     307                                </sng:attribute> 
     308                        </sng:optional> 
     309                        <xsl:apply-templates select="sm:meta"/> 
     310                        <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     311                </sng:element> 
     312        </xsl:template> 
     313         
     314        <xsl:template match="sm:inlineStyleTag"> 
     315                <sng:element name="sc:inlineStyle"> 
     316                        <xsl:call-template name="attRole"/> 
     317                        <xsl:apply-templates select="sm:meta"/> 
     318                        <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
     319                </sng:element> 
     320        </xsl:template> 
     321         
     322        <xsl:template match="sm:textLeafTag"> 
     323                <sng:element name="sc:textLeaf"> 
     324                        <xsl:call-template name="attRole"/> 
     325                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     326                        <xsl:apply-templates select="sm:meta"/> 
     327                        <sng:text/> 
     328                </sng:element> 
     329        </xsl:template> 
     330         
     331        <xsl:template match="sm:objectLeafTag"> 
     332                <sng:element name="sc:objectLeaf"> 
     333                        <xsl:call-template name="attRole"/> 
     334                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     335                        <sng:attribute name="sc:refUri"> 
     336                                <sng:data type="string"> 
     337                                        <sng:param name="minLength">1</sng:param> 
     338                                </sng:data> 
     339                        </sng:attribute> 
     340                        <xsl:apply-templates select="sm:meta"/> 
     341                </sng:element> 
     342        </xsl:template> 
     343         
     344        <xsl:template match="sm:emptyLeafTag"> 
     345                <sng:element name="sc:emptyLeaf"> 
     346                        <xsl:call-template name="attRole"/> 
     347                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     348                        <xsl:apply-templates select="sm:meta"/> 
     349                </sng:element> 
     350        </xsl:template> 
     351         
     352        <xsl:template match="sm:inlineImgTag"> 
     353                <sng:element name="sc:inlineImg"> 
     354                        <xsl:call-template name="attRole"/> 
     355                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     356                        <sng:attribute name="sc:refUri"> 
     357                                <sng:data type="string"> 
     358                                        <sng:param name="minLength">1</sng:param> 
     359                                </sng:data> 
     360                        </sng:attribute> 
     361                        <xsl:apply-templates select="sm:meta"/> 
     362                        <sng:text/> 
     363                </sng:element> 
     364        </xsl:template> 
     365         
     366        <xsl:template match="sm:noteTag"> 
     367                <sng:element name="sc:note"> 
     368                        <xsl:call-template name="attRole"/> 
     369                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     370                        <sng:ref name="{resultatAgent('//codeModel')}"/> 
     371                </sng:element> 
     372        </xsl:template> 
     373         
     374         
     375         
     376        <xsl:template match="sm:blockTags" mode="define"> 
     377                <xsl:apply-templates mode="define"/> 
     378        </xsl:template> 
     379        <xsl:template match="sm:tableTag" mode="define"> 
     380                <sng:define name="{resultatAgent('//codeModel')}_cells_{@role}"> 
     381                        <sng:zeroOrMore> 
     382                                <xsl:choose> 
     383                                        <xsl:when test="count(sm:cellTag)&gt;1"> 
     384                                                <sng:choice> 
     385                                                        <xsl:apply-templates select="sm:cellTag" mode="define"/> 
     386                                                </sng:choice> 
     387                                        </xsl:when> 
     388                                        <xsl:otherwise> 
     389                                                <xsl:apply-templates select="sm:cellTag" mode="define"/> 
     390                                        </xsl:otherwise> 
     391                                </xsl:choose> 
     392                        </sng:zeroOrMore> 
     393                </sng:define> 
     394        </xsl:template> 
     395        <xsl:template match="sm:cellTag" mode="define"> 
     396                <sng:element name="sc:cell"> 
     397                        <xsl:call-template name="attRole"/> 
     398                        <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
     399                        <sng:optional> 
     400                                <sng:attribute name="rowSpan"> 
     401                                        <sng:data type="string"/> 
     402                                </sng:attribute> 
     403                        </sng:optional> 
     404                        <sng:optional> 
     405                                <sng:attribute name="colSpan"> 
     406                                        <sng:data type="string"/> 
     407                                </sng:attribute> 
     408                        </sng:optional> 
     409                        <xsl:apply-templates select="sm:meta"/> 
     410                        <sng:optional> 
     411                                <sng:ref name="{resultatAgent('//codeModel')}_blocs"/> 
     412                        </sng:optional> 
     413                </sng:element> 
     414        </xsl:template> 
     415         
     416        <xsl:template match="sm:inlineTags" mode="define"> 
     417                <xsl:apply-templates mode="define"/> 
     418        </xsl:template> 
     419         
     420        <xsl:template match="node()" mode="define"/> 
     421         
     422         
     423        <xsl:template name="attRole"> 
     424                <xsl:choose> 
     425                        <xsl:when test="string(@role)"> 
     426                                <!-- Role spécifié. --> 
     427                                <sng:attribute name="role"> 
     428                                        <sng:value> 
     429                                                <xsl:value-of select="@role"/> 
     430                                        </sng:value> 
     431                                </sng:attribute> 
     432                        </xsl:when> 
     433                        <xsl:otherwise> 
     434                                <!-- pas de role spécifié. --> 
    357435                                <sng:optional> 
    358436                                        <sng:attribute name="role"> 
    359                                                 <sng:choice> 
    360                                                         <xsl:for-each select="sm:emptyBlockTag"> 
    361                                                                 <sng:value> 
    362                                                                         <xsl:value-of select="@role"/> 
    363                                                                 </sng:value> 
    364                                                         </xsl:for-each> 
    365                                                 </sng:choice> 
     437                                                <sng:value/> 
    366438                                        </sng:attribute> 
    367439                                </sng:optional> 
    368                         </sng:element> 
    369                 </xsl:if> 
    370         </xsl:template> 
    371          
    372          
    373         <xsl:template match="sm:inlineTags"> 
    374                 <xsl:if test="sm:uLinkTag"> 
    375                         <sng:element name="sc:uLink"> 
    376                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    377                                 <sng:optional> 
    378                                         <sng:attribute name="role"> 
    379                                                 <sng:choice> 
    380                                                         <xsl:for-each select="sm:uLinkTag"> 
    381                                                                 <sng:value> 
    382                                                                         <xsl:value-of select="@role"/> 
    383                                                                 </sng:value> 
    384                                                         </xsl:for-each> 
    385                                                 </sng:choice> 
    386                                         </sng:attribute> 
    387                                 </sng:optional> 
    388                                 <sng:optional> 
    389                                         <sng:attribute name="url"> 
    390                                                 <sng:data type="string"> 
    391                                                         <sng:param name="minLength">1</sng:param> 
    392                                                 </sng:data> 
    393                                         </sng:attribute> 
    394                                 </sng:optional> 
    395                                 <sng:optional> 
    396                                         <sng:attribute name="sc:refUri"> 
    397                                                 <sng:data type="string"> 
    398                                                         <sng:param name="minLength">1</sng:param> 
    399                                                 </sng:data> 
    400                                         </sng:attribute> 
    401                                 </sng:optional> 
    402                                 <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    403                         </sng:element> 
    404                 </xsl:if> 
    405                 <xsl:if test="sm:phraseTag"> 
    406                         <sng:element name="sc:phrase"> 
    407                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    408                                 <sng:optional> 
    409                                         <sng:attribute name="role"> 
    410                                                 <sng:choice> 
    411                                                         <xsl:for-each select="sm:phraseTag"> 
    412                                                                 <sng:value> 
    413                                                                         <xsl:value-of select="@role"/> 
    414                                                                 </sng:value> 
    415                                                         </xsl:for-each> 
    416                                                 </sng:choice> 
    417                                         </sng:attribute> 
    418                                 </sng:optional> 
    419                                 <sng:optional> 
    420                                         <sng:attribute name="xml:lang"> 
    421                                                 <sng:data type="string"/> 
    422                                         </sng:attribute> 
    423                                 </sng:optional> 
    424                                 <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    425                         </sng:element> 
    426                 </xsl:if> 
    427                 <xsl:if test="sm:inlineStyleTag"> 
    428                         <sng:element name="sc:inlineStyle"> 
    429                                 <sng:optional> 
    430                                         <sng:attribute name="role"> 
    431                                                 <sng:choice> 
    432                                                         <xsl:for-each select="sm:inlineStyleTag"> 
    433                                                                 <sng:value> 
    434                                                                         <xsl:value-of select="@role"/> 
    435                                                                 </sng:value> 
    436                                                         </xsl:for-each> 
    437                                                 </sng:choice> 
    438                                         </sng:attribute> 
    439                                 </sng:optional> 
    440                                 <sng:ref name="{resultatAgent('//codeModel')}_inline"/> 
    441                         </sng:element> 
    442                 </xsl:if> 
    443                 <xsl:if test="sm:textLeafTag"> 
    444                         <sng:element name="sc:textLeaf"> 
    445                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    446                                 <sng:optional> 
    447                                         <sng:attribute name="role"> 
    448                                                 <sng:choice> 
    449                                                         <xsl:for-each select="sm:textLeafTag"> 
    450                                                                 <sng:value> 
    451                                                                         <xsl:value-of select="@role"/> 
    452                                                                 </sng:value> 
    453                                                         </xsl:for-each> 
    454                                                 </sng:choice> 
    455                                         </sng:attribute> 
    456                                 </sng:optional> 
    457                                 <sng:text/> 
    458                         </sng:element> 
    459                 </xsl:if> 
    460                 <xsl:if test="sm:objectLeafTag"> 
    461                         <sng:element name="sc:objectLeaf"> 
    462                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    463                                 <sng:optional> 
    464                                         <sng:attribute name="role"> 
    465                                                 <sng:choice> 
    466                                                         <xsl:for-each select="sm:objectLeafTag"> 
    467                                                                 <sng:value> 
    468                                                                         <xsl:value-of select="@role"/> 
    469                                                                 </sng:value> 
    470                                                         </xsl:for-each> 
    471                                                 </sng:choice> 
    472                                         </sng:attribute> 
    473                                 </sng:optional> 
    474                                 <sng:attribute name="sc:refUri"> 
    475                                         <sng:data type="string"> 
    476                                                 <sng:param name="minLength">1</sng:param> 
    477                                         </sng:data> 
    478                                 </sng:attribute> 
    479                         </sng:element> 
    480                 </xsl:if> 
    481                 <xsl:if test="sm:emptyLeafTag"> 
    482                         <sng:element name="sc:emptyLeaf"> 
    483                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    484                                 <sng:optional> 
    485                                         <sng:attribute name="role"> 
    486                                                 <sng:choice> 
    487                                                         <xsl:for-each select="sm:emptyLeafTag"> 
    488                                                                 <sng:value> 
    489                                                                         <xsl:value-of select="@role"/> 
    490                                                                 </sng:value> 
    491                                                         </xsl:for-each> 
    492                                                 </sng:choice> 
    493                                         </sng:attribute> 
    494                                 </sng:optional> 
    495                                 <xsl:apply-templates select="sm:meta" mode="title"/> 
    496                         </sng:element> 
    497                 </xsl:if> 
    498                 <xsl:if test="sm:inlineImgTag"> 
    499                         <sng:element name="sc:inlineImg"> 
    500                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    501                                 <sng:optional> 
    502                                         <sng:attribute name="role"> 
    503                                                 <sng:choice> 
    504                                                         <xsl:for-each select="sm:inlineImgTag"> 
    505                                                                 <sng:value> 
    506                                                                         <xsl:value-of select="@role"/> 
    507                                                                 </sng:value> 
    508                                                         </xsl:for-each> 
    509                                                 </sng:choice> 
    510                                         </sng:attribute> 
    511                                 </sng:optional> 
    512                                 <sng:attribute name="sc:refUri"> 
    513                                         <sng:data type="string"> 
    514                                                 <sng:param name="minLength">1</sng:param> 
    515                                         </sng:data> 
    516                                 </sng:attribute> 
    517                                 <sng:text/> 
    518                         </sng:element> 
    519                 </xsl:if> 
    520                 <xsl:if test="sm:noteTag"> 
    521                         <sng:element name="sc:note"> 
    522                                 <sng:ref name="{resultatAgent('//codeModel')}_id"/> 
    523                                 <sng:optional> 
    524                                         <sng:attribute name="role"> 
    525                                                 <sng:choice> 
    526                                                         <xsl:for-each select="sm:noteTag"> 
    527                                                                 <sng:value> 
    528                                                                         <xsl:value-of select="@role"/> 
    529                                                                 </sng:value> 
    530                                                         </xsl:for-each> 
    531                                                 </sng:choice> 
    532                                         </sng:attribute> 
    533                                 </sng:optional> 
    534                                 <sng:ref name="{resultatAgent('//codeModel')}"/> 
    535                         </sng:element> 
    536                 </xsl:if> 
    537         </xsl:template> 
    538          
    539         <xsl:template match="sm:meta[@usage='optional']" mode="title"> 
     440                        </xsl:otherwise> 
     441                </xsl:choose> 
     442        </xsl:template> 
     443         
     444        <xsl:template match="sm:meta[@usage='optional']"> 
    540445                <sng:optional> 
    541446                        <sng:ref name="{resultatAgent(concat('@', getIdFromPath(@sc:refUri), '/codeModel'))}"/> 
    542447                </sng:optional> 
    543448        </xsl:template> 
    544         <xsl:template match="sm:meta" mode="title"> 
     449        <xsl:template match="sm:meta"> 
    545450                <sng:ref name="{resultatAgent(concat('@', getIdFromPath(@sc:refUri), '/codeModel'))}"/> 
    546451        </xsl:template> 
Note: See TracChangeset for help on using the changeset viewer.