Changeset 283


Ignore:
Timestamp:
Mar 15, 2013 10:16:35 PM (6 years ago)
Author:
prjemian
Message:

refactor (and prepare to make this the only XSLT)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 1dwg/branches/v1.1/cansasxml-extended-html.xsl

    r261 r283  
    1111 
    1212Purpose: 
    13         This stylesheet is used to translate cansas1d/1.1 
     13        This stylesheet is used to translate cansas1d:1.1 
    1414        XML data files into a display form for viewing 
    1515        in a web browser such as Firefox or Internet Explorer 
     
    180180                                        <tr> 
    181181                                                <xsl:for-each select="*"> 
    182                                                         <td><xsl:value-of select="." /></td> 
     182                                                        <xsl:call-template name="td-value"/> 
    183183                                                </xsl:for-each> 
    184184                                        </tr> 
     
    205205                                <tr> 
    206206                                        <xsl:for-each select="*"> 
    207                                                 <td><xsl:value-of select="." /></td> 
     207                                                <xsl:call-template name="td-value"/> 
    208208                                        </xsl:for-each> 
    209209                                </tr> 
     
    227227                                </xsl:when> 
    228228                                <xsl:otherwise> 
    229                                         <tr> 
    230                                                 <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    231                                                 <td><xsl:value-of select="." /></td> 
    232                                                 <td><xsl:value-of select="@unit" /></td> 
    233                                         </tr> 
     229                                        <xsl:call-template name="tr-parent-value-units"/> 
    234230                                </xsl:otherwise> 
    235231                        </xsl:choose> 
     
    250246                                <xsl:when test="name()='name'" /> 
    251247                                <xsl:otherwise> 
    252                                         <tr> 
    253                                                 <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    254                                                 <td><xsl:value-of select="." /></td> 
    255                                                 <td><xsl:value-of select="@unit" /></td> 
    256                                         </tr> 
     248                                        <xsl:call-template name="tr-parent-value-units"/> 
    257249                                </xsl:otherwise> 
    258250                        </xsl:choose> 
     
    270262                                <xsl:when test="name()='beam_size'"><xsl:apply-templates select="." /></xsl:when> 
    271263                                <xsl:otherwise> 
    272                                         <tr> 
    273                                                 <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    274                                                 <td><xsl:value-of select="." /></td> 
    275                                                 <td><xsl:value-of select="@unit" /></td> 
    276                                         </tr> 
     264                                        <xsl:call-template name="tr-parent-value-units"/> 
    277265                                </xsl:otherwise> 
    278266                        </xsl:choose> 
     
    281269 
    282270        <xsl:template match="cs:beam_size"> 
     271                <xsl:call-template name="tr-parent-name"/> 
     272                <xsl:for-each select="*"> 
     273                        <xsl:call-template name="tr-grandparent-value-units"/> 
     274                </xsl:for-each> 
     275        </xsl:template> 
     276 
     277        <xsl:template match="cs:SAScollimation"> 
     278                <xsl:for-each select="*"> 
     279                        <xsl:choose> 
     280                                <xsl:when test="name()='aperture'"><xsl:apply-templates select="." /></xsl:when> 
     281                                <xsl:otherwise> 
     282                                        <xsl:call-template name="tr-parent-value-units"/> 
     283                                </xsl:otherwise> 
     284                        </xsl:choose> 
     285                </xsl:for-each> 
     286        </xsl:template> 
     287 
     288        <xsl:template match="cs:aperture"> 
    283289                <tr> 
    284290                        <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    285291                        <td><xsl:value-of select="@name" /></td> 
     292                        <td><xsl:value-of select="@type" /></td> 
     293                </tr> 
     294                <xsl:for-each select="*"> 
     295                        <xsl:choose> 
     296                                <xsl:when test="name()='size'"><xsl:apply-templates select="." /></xsl:when> 
     297                                <xsl:otherwise> 
     298                                        <xsl:call-template name="tr-grandparent-value-units"/> 
     299                                </xsl:otherwise> 
     300                        </xsl:choose> 
     301                </xsl:for-each> 
     302        </xsl:template> 
     303 
     304        <xsl:template match="cs:size"> 
     305                <tr> 
     306                        <xsl:call-template name="td-grandparent"/> 
     307                        <td><xsl:value-of select="@name" /></td> 
    286308                        <td /> 
    287309                </tr> 
    288310                <xsl:for-each select="*"> 
    289311                        <tr> 
    290                                 <td><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    291                                 <td><xsl:value-of select="." /></td> 
    292                                 <td><xsl:value-of select="@unit" /></td> 
    293                         </tr> 
    294                 </xsl:for-each> 
    295         </xsl:template> 
    296  
    297         <xsl:template match="cs:SAScollimation"> 
    298                 <xsl:for-each select="*"> 
    299                         <xsl:choose> 
    300                                 <xsl:when test="name()='aperture'"><xsl:apply-templates select="." /></xsl:when> 
    301                                 <xsl:otherwise> 
    302                                         <tr> 
    303                                                 <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    304                                                 <td><xsl:value-of select="." /></td> 
    305                                                 <td><xsl:value-of select="@unit" /></td> 
    306                                         </tr> 
    307                                 </xsl:otherwise> 
    308                         </xsl:choose> 
    309                 </xsl:for-each> 
    310         </xsl:template> 
    311  
    312         <xsl:template match="cs:aperture"> 
    313                 <tr> 
    314                         <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    315                         <td><xsl:value-of select="@name" /></td> 
    316                         <td><xsl:value-of select="@type" /></td> 
    317                 </tr> 
    318                 <xsl:for-each select="*"> 
    319                         <xsl:choose> 
    320                                 <xsl:when test="name()='size'"><xsl:apply-templates select="." /></xsl:when> 
    321                                 <xsl:otherwise> 
    322                                         <tr> 
    323                                                 <td><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    324                                                 <td><xsl:value-of select="." /></td> 
    325                                                 <td><xsl:value-of select="@unit" /></td> 
    326                                         </tr> 
    327                                 </xsl:otherwise> 
    328                         </xsl:choose> 
    329                 </xsl:for-each> 
    330         </xsl:template> 
    331  
    332         <xsl:template match="cs:size"> 
    333                 <tr> 
    334                         <td><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    335                         <td><xsl:value-of select="@name" /></td> 
    336                         <td /> 
    337                 </tr> 
    338                 <xsl:for-each select="*"> 
    339                         <tr> 
    340                                 <td><xsl:value-of select="name(../../..)" />_<xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    341                                 <td><xsl:value-of select="." /></td> 
    342                                 <td><xsl:value-of select="@unit" /></td> 
     312                                <xsl:call-template name="td-greatgrandparent"/> 
     313                                <xsl:call-template name="td-value"/> 
     314                                <xsl:call-template name="td-unit"/> 
    343315                        </tr> 
    344316                </xsl:for-each> 
     
    359331                                <xsl:when test="name()='pixel_size'"><xsl:apply-templates select="." /></xsl:when> 
    360332                                <xsl:otherwise> 
    361                                         <tr> 
    362                                                 <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    363                                                 <td><xsl:value-of select="." /></td> 
    364                                                 <td><xsl:value-of select="@unit" /></td> 
    365                                         </tr> 
     333                                        <xsl:call-template name="tr-parent-value-units"/> 
    366334                                </xsl:otherwise> 
    367335                        </xsl:choose> 
     
    370338 
    371339        <xsl:template match="cs:orientation"> 
    372                 <tr> 
    373                         <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    374                         <td><xsl:value-of select="@name" /></td> 
    375                         <td /> 
    376                 </tr> 
    377                 <xsl:for-each select="*"> 
    378                         <tr> 
    379                                 <td><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    380                                 <td><xsl:value-of select="." /></td> 
    381                                 <td><xsl:value-of select="@unit" /></td> 
    382                         </tr> 
     340                <xsl:call-template name="tr-parent-name"/> 
     341                <xsl:for-each select="*"> 
     342                        <xsl:call-template name="tr-grandparent-value-units"/> 
    383343                </xsl:for-each> 
    384344        </xsl:template> 
    385345 
    386346        <xsl:template match="cs:position"> 
    387                 <tr> 
    388                         <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    389                         <td><xsl:value-of select="@name" /></td> 
    390                         <td /> 
    391                 </tr> 
    392                 <xsl:for-each select="*"> 
    393                         <tr> 
    394                                 <td><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    395                                 <td><xsl:value-of select="." /></td> 
    396                                 <td><xsl:value-of select="@unit" /></td> 
    397                         </tr> 
     347                <xsl:call-template name="tr-parent-name"/> 
     348                <xsl:for-each select="*"> 
     349                        <xsl:call-template name="tr-grandparent-value-units"/> 
    398350                </xsl:for-each> 
    399351        </xsl:template> 
    400352 
    401353        <xsl:template match="cs:offset"> 
    402                 <tr> 
    403                         <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    404                         <td><xsl:value-of select="@name" /></td> 
    405                         <td /> 
    406                 </tr> 
    407                 <xsl:for-each select="*"> 
    408                         <tr> 
    409                                 <td><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    410                                 <td><xsl:value-of select="." /></td> 
    411                                 <td><xsl:value-of select="@unit" /></td> 
    412                         </tr> 
     354                <xsl:call-template name="tr-parent-name"/> 
     355                <xsl:for-each select="*"> 
     356                        <xsl:call-template name="tr-grandparent-value-units"/> 
    413357                </xsl:for-each> 
    414358        </xsl:template> 
    415359 
    416360        <xsl:template match="cs:beam_center"> 
    417                 <tr> 
    418                         <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    419                         <td><xsl:value-of select="@name" /></td> 
    420                         <td /> 
    421                 </tr> 
    422                 <xsl:for-each select="*"> 
    423                         <tr> 
    424                                 <td><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    425                                 <td><xsl:value-of select="." /></td> 
    426                                 <td><xsl:value-of select="@unit" /></td> 
    427                         </tr> 
     361                <xsl:call-template name="tr-parent-name"/> 
     362                <xsl:for-each select="*"> 
     363                        <xsl:call-template name="tr-grandparent-value-units"/> 
    428364                </xsl:for-each> 
    429365        </xsl:template> 
    430366 
    431367        <xsl:template match="cs:pixel_size"> 
    432                 <tr> 
    433                         <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    434                         <td><xsl:value-of select="@name" /></td> 
    435                         <td /> 
    436                 </tr> 
    437                 <xsl:for-each select="*"> 
    438                         <tr> 
    439                                 <td><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    440                                 <td><xsl:value-of select="." /></td> 
    441                                 <td><xsl:value-of select="@unit" /></td> 
    442                         </tr> 
     368                <xsl:call-template name="tr-parent-name"/> 
     369                <xsl:for-each select="*"> 
     370                        <xsl:call-template name="tr-grandparent-value-units"/> 
    443371                </xsl:for-each> 
    444372        </xsl:template> 
     
    447375                <tr> 
    448376                        <td><xsl:value-of select="@name" /></td> 
    449                         <td><xsl:value-of select="." /></td> 
    450                         <td><xsl:value-of select="@unit" /></td> 
     377                        <xsl:call-template name="td-value"/> 
     378                        <xsl:call-template name="td-unit"/> 
    451379                </tr> 
    452380        </xsl:template> 
     
    455383                <tr> 
    456384                        <td><xsl:value-of select="name()" /></td> 
    457                         <td><xsl:value-of select="." /></td> 
     385                        <xsl:call-template name="td-value"/> 
    458386                        <td><xsl:value-of select="@name" /></td> 
    459387                </tr> 
     
    475403                                <tr> 
    476404                                        <td><xsl:value-of select="name()" /></td> 
    477                                         <td><xsl:value-of select="." /></td> 
     405                                        <xsl:call-template name="td-value"/> 
    478406                                        <td><xsl:value-of select="@name" /></td> 
    479407                                </tr> 
     
    500428                                <xsl:otherwise> 
    501429                                        <tr> 
    502                                                 <td><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></td> 
    503                                                 <td><xsl:value-of select="." /></td> 
     430                                                <xsl:call-template name="td-grandparent"/> 
     431                                                <xsl:call-template name="td-value"/> 
    504432                                                <td /> 
    505433                                        </tr> 
     
    513441                        <tr> 
    514442                                <td><xsl:value-of select="name()" /></td> 
    515                                 <td><xsl:value-of select="." /></td> 
     443                                <xsl:call-template name="td-value"/> 
    516444                                <td><xsl:value-of select="@name" /></td> 
    517445                        </tr> 
    518446                </xsl:if> 
    519447        </xsl:template> 
     448         
     449        <!-- =============== convenience routines =============== --> 
     450         
     451        <xsl:template name="tr-parent-value-units"> 
     452                <tr> 
     453                        <xsl:call-template name="td-parent"/> 
     454                        <xsl:call-template name="td-value"/> 
     455                        <xsl:call-template name="td-unit"/> 
     456                </tr> 
     457        </xsl:template> 
     458         
     459        <xsl:template name="tr-grandparent-value-units"> 
     460                <tr> 
     461                        <xsl:call-template name="td-grandparent"/> 
     462                        <xsl:call-template name="td-value"/> 
     463                        <xsl:call-template name="td-unit"/> 
     464                </tr> 
     465        </xsl:template> 
     466         
     467        <xsl:template name="tr-parent-name"> 
     468                <tr> 
     469                        <xsl:call-template name="td-parent"/> 
     470                        <td><xsl:value-of select="@name" /></td> 
     471                        <td /> 
     472                </tr> 
     473        </xsl:template> 
     474         
     475        <xsl:template name="td-value"> 
     476                <td><xsl:value-of select="." /></td> 
     477        </xsl:template> 
     478         
     479        <xsl:template name="td-parent"> 
     480                <td><xsl:value-of select="name(..)"  
     481                        />_<xsl:value-of select="name()"  
     482                        /></td> 
     483        </xsl:template> 
     484         
     485        <xsl:template name="td-grandparent"> 
     486                <td><xsl:value-of select="name(../..)"  
     487                        />_<xsl:value-of select="name(..)"  
     488                        />_<xsl:value-of select="name()"  
     489                        /></td> 
     490        </xsl:template> 
     491         
     492        <xsl:template name="td-greatgrandparent"> 
     493                <td><xsl:value-of select="name(../../..)"  
     494                        />_<xsl:value-of select="name(../..)"  
     495                        />_<xsl:value-of select="name(..)"  
     496                        />_<xsl:value-of select="name()"  
     497                        /></td> 
     498        </xsl:template> 
     499         
     500        <xsl:template name="td-unit"> 
     501                <td><xsl:value-of select="@unit" /></td> 
     502        </xsl:template> 
    520503 
    521504</xsl:stylesheet> 
Note: See TracChangeset for help on using the changeset viewer.