Changeset 16 for 1dwg


Ignore:
Timestamp:
Mar 18, 2008 3:10:04 PM (14 years ago)
Author:
prjemian
Message:

example XSLT now uses revised example.xsl

Location:
1dwg/trunk/examples
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • 1dwg/trunk/examples/xslt/example.xsl

    r14 r16  
    1212                <html> 
    1313                        <head> 
    14                                 <title>example XSL for cansas1d</title> 
     14                                <title>SAS data in canSAS 1-D format</title> 
    1515                        </head> 
    1616                        <body> 
    1717                                <h1>SAS data in canSAS 1-D format</h1> 
     18                                <small>generated using <TT>example.xsl</TT> from canSAS</small> 
     19                                <BR /> 
    1820                                <table border="2"> 
    1921                                        <tr> 
    20                                                 <th bgcolor="lavender">version:</th> 
     22                                                <th bgcolor="lavender">canSAS 1-D XML version:</th> 
    2123                                                <td><xsl:value-of select="cs:SASroot/@version" /></td> 
    2224                                        </tr> 
     
    2527                                                <td><xsl:value-of select="count(cs:SASroot/cs:SASentry)" /></td> 
    2628                                        </tr> 
     29                                        <xsl:if test="count(/cs:SASroot//cs:SASentry)>1"> 
     30                                                <!-- if more than one SASentry, make a table of contents --> 
     31                                                <xsl:for-each select="/cs:SASroot//cs:SASentry"> 
     32                                                        <tr> 
     33                                                                <th bgcolor="lavender">SASentry-<xsl:value-of select="position()" /></th> 
     34                                                                <td> 
     35                                                                        <A HREF="#SASentry-{generate-id(.)}"> 
     36                                                                                <xsl:if test="@name!=''"> 
     37                                                                                        (<xsl:value-of select="@name" />) 
     38                                                                                </xsl:if> 
     39                                                                                <xsl:value-of select="cs:Title" /> 
     40                                                                        </A> 
     41                                                                        <xsl:if test="count(cs:SASdata)>1"> 
     42                                                                                <!-- if more than one SASdata, make a local table of contents --> 
     43                                                                                <xsl:for-each select="cs:SASdata"> 
     44                                                                                        <xsl:text> | </xsl:text> 
     45                                                                                        <A HREF="#SASdata-{generate-id(.)}"> 
     46                                                                                                <xsl:choose> 
     47                                                                                                        <xsl:when test="@name!=''"> 
     48                                                                                                                <xsl:value-of select="@name" /> 
     49                                                                                                        </xsl:when> 
     50                                                                                                        <xsl:otherwise> 
     51                                                                                                                SASdata<xsl:value-of select="position()" /> 
     52                                                                                                        </xsl:otherwise> 
     53                                                                                                </xsl:choose> 
     54                                                                                        </A> 
     55                                                                                </xsl:for-each> 
     56                                                                        </xsl:if> 
     57                                                                </td> 
     58                                                        </tr> 
     59                                                </xsl:for-each> 
     60                                        </xsl:if> 
    2761                                </table> 
    2862                                <xsl:apply-templates  /> 
     
    3670                        <hr /> 
    3771                        <br /> 
     72                        <A NAME="#SASentry-{generate-id(.)}" /> 
    3873                        <h1> 
    39                                 Entry:  
    40                                 <xsl:if test="@name!=''"> 
    41                                         (<xsl:value-of select="@name" />) 
    42                                 </xsl:if> 
    43                                 <xsl:value-of select="cs:Title" /> 
     74                                        SASentry<xsl:value-of select="position()" />: 
     75                                        <xsl:if test="@name!=''"> 
     76                                                (<xsl:value-of select="@name" />) 
     77                                        </xsl:if> 
     78                                        <xsl:value-of select="cs:Title" /> 
    4479                        </h1> 
     80                        <xsl:if test="count(cs:SASdata)>1"> 
     81                                <TABLE BORDER="2"> 
     82                                        <CAPTION>SASdata contents</CAPTION> 
     83                                        <xsl:for-each select="cs:SASdata"> 
     84                                                <TR> 
     85                                                        <TH>SASdata-<xsl:value-of select="position()" /></TH> 
     86                                                        <TD> 
     87                                                                <A HREF="#SASdata-{generate-id(.)}"> 
     88                                                                        <xsl:choose> 
     89                                                                        <xsl:when test="@name!=''"> 
     90                                                                                        <xsl:value-of select="@name" /> 
     91                                                                                </xsl:when> 
     92                                                                                <xsl:otherwise> 
     93                                                                                        SASdata<xsl:value-of select="position()" /> 
     94                                                                                </xsl:otherwise> 
     95                                                                        </xsl:choose> 
     96                                                                </A> 
     97                                                        </TD> 
     98                                                </TR> 
     99                                        </xsl:for-each> 
     100                                </TABLE> 
     101                        </xsl:if> 
     102                        <br /> 
    45103                        <TABLE BORDER="2"> 
    46104                                <TR> 
     
    80138 
    81139        <xsl:template match="cs:SASdata"> 
     140                <A NAME="#SASdata-{generate-id(.)}" /> 
    82141                <table border="2"> 
    83142                        <caption> 
     
    108167 
    109168        <xsl:template match="cs:SASsample"> 
    110                 <xsl:if test="cs:name!=''"> 
    111                         <TR> 
    112                                 <TD>Sample_optional_name</TD> 
    113                                 <TD><xsl:value-of select="cs:name" /></TD> 
    114                                 <TD /> 
    115                         </TR> 
    116                 </xsl:if> 
    117                 <xsl:for-each select="*"> 
    118                         <TR> 
    119                                 <TD><xsl:value-of select="name()" /></TD> 
    120                                 <TD><xsl:value-of select="." /></TD> 
    121                                 <TD /> 
    122                         </TR> 
     169                <TR> 
     170                        <TD>SASsample</TD> 
     171                        <TD><xsl:value-of select="@name" /></TD> 
     172                        <TD /> 
     173                </TR> 
     174                <xsl:for-each select="*"> 
     175                        <xsl:choose> 
     176                                <xsl:when test="name()='position'"> 
     177                                        <xsl:apply-templates select="." /> 
     178                                </xsl:when> 
     179                                <xsl:when test="name()='orientation'"> 
     180                                        <xsl:apply-templates select="." /> 
     181                                </xsl:when> 
     182                                <xsl:otherwise> 
     183                                        <TR> 
     184                                                <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     185                                                <TD><xsl:value-of select="." /></TD> 
     186                                                <TD><xsl:value-of select="@unit" /></TD> 
     187                                        </TR> 
     188                                </xsl:otherwise> 
     189                        </xsl:choose> 
    123190                </xsl:for-each> 
    124191        </xsl:template> 
    125192 
    126193        <xsl:template match="cs:SASinstrument"> 
    127                 <xsl:if test="cs:name!=''"> 
    128                         <TR> 
    129                                 <TD>Instrument_name</TD> 
    130                                 <TD><xsl:value-of select="cs:name" /></TD> 
    131                                 <TD bgcolor="#9acd32">section follows</TD> 
    132                         </TR> 
    133                 </xsl:if> 
    134                 <xsl:apply-templates select="cs:SASsource" /> 
    135                 <xsl:apply-templates select="cs:SAScollimation" /> 
    136                 <xsl:apply-templates select="cs:SASdetector" /> 
     194                <TR> 
     195                        <TD>SASinstrument</TD> 
     196                        <TD><xsl:value-of select="cs:name" /></TD> 
     197                        <TD><xsl:value-of select="@name" /></TD> 
     198                </TR> 
     199                <xsl:for-each select="*"> 
     200                        <xsl:choose> 
     201                                <xsl:when test="name()='SASsource'"><xsl:apply-templates select="." /></xsl:when> 
     202                                <xsl:when test="name()='SAScollimation'"><xsl:apply-templates select="." /></xsl:when> 
     203                                <xsl:when test="name()='SASdetector'"><xsl:apply-templates select="." /></xsl:when> 
     204                                <xsl:when test="name()='name'" /> 
     205                                <xsl:otherwise> 
     206                                        <TR> 
     207                                                <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     208                                                <TD><xsl:value-of select="." /></TD> 
     209                                                <TD><xsl:value-of select="@unit" /></TD> 
     210                                        </TR> 
     211                                </xsl:otherwise> 
     212                        </xsl:choose> 
     213                </xsl:for-each> 
    137214        </xsl:template> 
    138215 
    139216        <xsl:template match="cs:SASsource"> 
    140                 <xsl:for-each select="*"> 
    141                         <TR> 
    142                                 <TD>SASsource_<xsl:value-of select="name()" /></TD> 
     217                <TR> 
     218                        <TD><xsl:value-of select="name()" /></TD> 
     219                        <TD><xsl:value-of select="@name" /></TD> 
     220                        <TD /> 
     221                </TR> 
     222                <xsl:for-each select="*"> 
     223                        <xsl:choose> 
     224                                <xsl:when test="name()='beam_size'"><xsl:apply-templates select="." /></xsl:when> 
     225                                <xsl:otherwise> 
     226                                        <TR> 
     227                                                <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     228                                                <TD><xsl:value-of select="." /></TD> 
     229                                                <TD><xsl:value-of select="@unit" /></TD> 
     230                                        </TR> 
     231                                </xsl:otherwise> 
     232                        </xsl:choose> 
     233                </xsl:for-each> 
     234        </xsl:template> 
     235 
     236        <xsl:template match="cs:beam_size"> 
     237                <TR> 
     238                        <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     239                        <TD><xsl:value-of select="@name" /></TD> 
     240                        <TD /> 
     241                </TR> 
     242                <xsl:for-each select="*"> 
     243                        <TR> 
     244                                <TD><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
    143245                                <TD><xsl:value-of select="." /></TD> 
    144246                                <TD><xsl:value-of select="@unit" /></TD> 
     
    149251        <xsl:template match="cs:SAScollimation"> 
    150252                <xsl:for-each select="*"> 
    151                         <TR> 
    152                                 <TD>SAScollimation_<xsl:value-of select="name()" /></TD> 
     253                        <xsl:choose> 
     254                                <xsl:when test="name()='aperture'"><xsl:apply-templates select="." /></xsl:when> 
     255                                <xsl:otherwise> 
     256                                        <TR> 
     257                                                <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     258                                                <TD><xsl:value-of select="." /></TD> 
     259                                                <TD><xsl:value-of select="@unit" /></TD> 
     260                                        </TR> 
     261                                </xsl:otherwise> 
     262                        </xsl:choose> 
     263                </xsl:for-each> 
     264        </xsl:template> 
     265 
     266        <xsl:template match="cs:aperture"> 
     267                <TR> 
     268                        <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     269                        <TD><xsl:value-of select="@name" /></TD> 
     270                        <TD><xsl:value-of select="@type" /></TD> 
     271                </TR> 
     272                <xsl:for-each select="*"> 
     273                        <xsl:choose> 
     274                                <xsl:when test="name()='size'"><xsl:apply-templates select="." /></xsl:when> 
     275                                <xsl:otherwise> 
     276                                        <TR> 
     277                                                <TD><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     278                                                <TD><xsl:value-of select="." /></TD> 
     279                                                <TD><xsl:value-of select="@unit" /></TD> 
     280                                        </TR> 
     281                                </xsl:otherwise> 
     282                        </xsl:choose> 
     283                </xsl:for-each> 
     284        </xsl:template> 
     285 
     286        <xsl:template match="cs:size"> 
     287                <TR> 
     288                        <TD><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     289                        <TD><xsl:value-of select="@name" /></TD> 
     290                        <TD /> 
     291                </TR> 
     292                <xsl:for-each select="*"> 
     293                        <TR> 
     294                                <TD><xsl:value-of select="name(../../..)" />_<xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
    153295                                <TD><xsl:value-of select="." /></TD> 
    154296                                <TD><xsl:value-of select="@unit" /></TD> 
     
    158300 
    159301        <xsl:template match="cs:SASdetector"> 
    160                 <xsl:for-each select="*"> 
    161                         <TR> 
    162                                 <TD>SASdetector_<xsl:value-of select="name()" /></TD> 
    163                                 <TD><xsl:value-of select="." /></TD> 
    164                                 <TD><xsl:value-of select="@unit" /></TD> 
    165                         </TR> 
    166                 </xsl:for-each> 
     302                <TR> 
     303                        <TD><xsl:value-of select="name()" /></TD> 
     304                        <TD><xsl:value-of select="cs:name" /></TD> 
     305                        <TD><xsl:value-of select="@name" /></TD> 
     306                </TR> 
     307                <xsl:for-each select="*"> 
     308                        <xsl:choose> 
     309                                <xsl:when test="name()='name'" /> 
     310                                <xsl:when test="name()='offset'"><xsl:apply-templates select="." /></xsl:when> 
     311                                <xsl:when test="name()='orientation'"><xsl:apply-templates select="." /></xsl:when> 
     312                                <xsl:when test="name()='beam_center'"><xsl:apply-templates select="." /></xsl:when> 
     313                                <xsl:when test="name()='pixel_size'"><xsl:apply-templates select="." /></xsl:when> 
     314                                <xsl:otherwise> 
     315                                        <TR> 
     316                                                <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     317                                                <TD><xsl:value-of select="." /></TD> 
     318                                                <TD><xsl:value-of select="@unit" /></TD> 
     319                                        </TR> 
     320                                </xsl:otherwise> 
     321                        </xsl:choose> 
     322                </xsl:for-each> 
     323        </xsl:template> 
     324 
     325        <xsl:template match="cs:orientation"> 
     326                <TR> 
     327                        <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     328                        <TD><xsl:value-of select="@name" /></TD> 
     329                        <TD /> 
     330                </TR> 
     331                <xsl:for-each select="*"> 
     332                        <TR> 
     333                                <TD><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     334                                <TD><xsl:value-of select="." /></TD> 
     335                                <TD><xsl:value-of select="@unit" /></TD> 
     336                        </TR> 
     337                </xsl:for-each> 
     338        </xsl:template> 
     339 
     340        <xsl:template match="cs:position"> 
     341                <TR> 
     342                        <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     343                        <TD><xsl:value-of select="@name" /></TD> 
     344                        <TD /> 
     345                </TR> 
     346                <xsl:for-each select="*"> 
     347                        <TR> 
     348                                <TD><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     349                                <TD><xsl:value-of select="." /></TD> 
     350                                <TD><xsl:value-of select="@unit" /></TD> 
     351                        </TR> 
     352                </xsl:for-each> 
     353        </xsl:template> 
     354 
     355        <xsl:template match="cs:offset"> 
     356                <TR> 
     357                        <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     358                        <TD><xsl:value-of select="@name" /></TD> 
     359                        <TD /> 
     360                </TR> 
     361                <xsl:for-each select="*"> 
     362                        <TR> 
     363                                <TD><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     364                                <TD><xsl:value-of select="." /></TD> 
     365                                <TD><xsl:value-of select="@unit" /></TD> 
     366                        </TR> 
     367                </xsl:for-each> 
     368        </xsl:template> 
     369 
     370        <xsl:template match="cs:beam_center"> 
     371                <TR> 
     372                        <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     373                        <TD><xsl:value-of select="@name" /></TD> 
     374                        <TD /> 
     375                </TR> 
     376                <xsl:for-each select="*"> 
     377                        <TR> 
     378                                <TD><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     379                                <TD><xsl:value-of select="." /></TD> 
     380                                <TD><xsl:value-of select="@unit" /></TD> 
     381                        </TR> 
     382                </xsl:for-each> 
     383        </xsl:template> 
     384 
     385        <xsl:template match="cs:pixel_size"> 
     386                <TR> 
     387                        <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     388                        <TD><xsl:value-of select="@name" /></TD> 
     389                        <TD /> 
     390                </TR> 
     391                <xsl:for-each select="*"> 
     392                        <TR> 
     393                                <TD><xsl:value-of select="name(../..)" />_<xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
     394                                <TD><xsl:value-of select="." /></TD> 
     395                                <TD><xsl:value-of select="@unit" /></TD> 
     396                        </TR> 
     397                </xsl:for-each> 
     398        </xsl:template> 
     399 
     400        <xsl:template match="cs:term"> 
     401                <TR> 
     402                        <TD><xsl:value-of select="@name" /></TD> 
     403                        <TD><xsl:value-of select="." /></TD> 
     404                        <TD><xsl:value-of select="@unit" /></TD> 
     405                </TR> 
     406        </xsl:template> 
     407 
     408        <xsl:template match="cs:SASprocessnote"> 
     409                <TR> 
     410                        <TD><xsl:value-of select="name()" /></TD> 
     411                        <TD><xsl:value-of select="." /></TD> 
     412                        <TD><xsl:value-of select="@name" /></TD> 
     413                </TR> 
    167414        </xsl:template> 
    168415 
    169416        <xsl:template match="cs:SASprocess"> 
    170417                <TR> 
    171                         <TD>SASprocess_name</TD> 
     418                        <TD><xsl:value-of select="name()" /></TD> 
    172419                        <TD><xsl:value-of select="cs:name" /></TD> 
    173                         <TD bgcolor="#9acd32">section follows</TD> 
    174                 </TR> 
    175                 <TR> 
    176                         <TD>SASprocess_date</TD> 
    177                         <TD><xsl:value-of select="cs:date" /></TD> 
    178                         <TD /> 
    179                 </TR> 
    180                 <xsl:if test="count(cs:term)!=0"> 
    181                         <xsl:for-each select="cs:term"> 
    182                                 <TR> 
    183                                         <TD><xsl:value-of select="@name" /></TD> 
    184                                         <TD><xsl:value-of select="." /></TD> 
    185                                         <TD><xsl:value-of select="@unit" /></TD> 
    186                                 </TR> 
    187                         </xsl:for-each> 
    188                 </xsl:if> 
    189                 <xsl:if test="count(cs:SASprocessnote)!=0"> 
    190                         <xsl:if test="cs:SASprocessnote/cs:name!=''"> 
    191                                 <TR> 
    192                                         <TD>SASprocessnote_name</TD> 
    193                                         <TD><xsl:value-of select="cs:SASprocessnote/cs:name" /></TD> 
    194                                         <TD bgcolor="#9acd32">section follows</TD> 
    195                                 </TR> 
    196                         </xsl:if> 
    197                         <xsl:for-each select="cs:SASprocessnote"> 
    198                                 <xsl:if test=".!=''"> 
    199                                         <TR> 
    200                                                 <TD>SASprocessnote_<xsl:value-of select="@name" /></TD> 
     420                        <TD><xsl:value-of select="@name" /></TD> 
     421                </TR> 
     422                <xsl:for-each select="*"> 
     423                        <xsl:choose> 
     424                                <xsl:when test="name()='name'" /> 
     425                                <xsl:when test="name()='term'"><xsl:apply-templates select="." /></xsl:when> 
     426                                <xsl:when test="name()='SASprocessnote'"><xsl:apply-templates select="." /></xsl:when> 
     427                                <xsl:otherwise> 
     428                                        <TR> 
     429                                                <TD><xsl:value-of select="name(..)" />_<xsl:value-of select="name()" /></TD> 
    201430                                                <TD><xsl:value-of select="." /></TD> 
    202431                                                <TD /> 
    203432                                        </TR> 
    204                                 </xsl:if> 
    205                         </xsl:for-each> 
    206                 </xsl:if> 
     433                                </xsl:otherwise> 
     434                        </xsl:choose> 
     435                </xsl:for-each> 
    207436        </xsl:template> 
    208437 
     
    210439                <xsl:if test="@name!=''"> 
    211440                        <TR> 
    212                                 <TD>SASnote_<xsl:value-of select="@name" /></TD> 
    213                                 <TD><xsl:value-of select="." /></TD> 
    214                                 <TD /> 
     441                                <TD><xsl:value-of select="name()" /></TD> 
     442                                <TD><xsl:value-of select="." /></TD> 
     443                                <TD><xsl:value-of select="@name" /></TD> 
    215444                        </TR> 
    216445                </xsl:if> 
Note: See TracChangeset for help on using the changeset viewer.