85. Araxis Merge File Comparison Report

Produced by Araxis Merge on Thu Oct 16 22:30:06 2008 UTC. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a reasonably standards compliant browser such as the latest version of Firefox or Internet Explorer. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

85.1 Files compared

# Location File Last Modified
1 Thu Oct 16 22:30:06 2008 UTC
2 C:\Documents and Settings\lauren\Desktop\ww-version-snapshots\ww-version-snapshots\2008.3\WebWorks\ePublisher Pro\Formats\Wiki - MediaWiki\Transforms pages.xsl Mon Oct 13 05:52:00 2008 UTC

85.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 0 0
Changed 0 0
Inserted 1 653
Removed 0 0

85.3 Comparison options

Whitespace All differences in whitespace within lines are ignored
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

85.4 Active regular expressions

No regular expressions were active.

85.5 Comparison detail

        1   <?xml vers ion="1.0"  encoding=" UTF-8"?>
        2   <xsl:style sheet vers ion="1.0"  xmlns="htt p://www.w3 .org/1999/ xhtml"
        3                                    xmlns:html ="http://w ww.w3.org/ 1999/xhtml "
        4                                    xmlns:xsl= "http://ww w.w3.org/1 999/XSL/Tr ansform"
        5                                    xmlns:msxs l="urn:sch emas-micro soft-com:x slt"
        6                                    xmlns:wwmo de="urn:We bWorks-Eng ine-Mode"
        7                                    xmlns:wwli nks="urn:W ebWorks-En gine-Links -Schema"
        8                                    xmlns:wwfi les="urn:W ebWorks-En gine-Files -Schema"
        9                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"
        10                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"
        11                                    xmlns:wwto c="urn:Web Works-Engi ne-TOC-Sch ema"
        12                                    xmlns:wwbe haviors="u rn:WebWork s-Behavior s-Schema"
        13                                    xmlns:wwva rs="urn:We bWorks-Var iables-Sch ema"
        14                                    xmlns:wwno tes="urn:W ebWorks-Fo otnote-Sch ema"
        15                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"
        16                                    xmlns:wwpa ge="urn:We bWorks-Pag e-Template -Schema"
        17                                    xmlns:wwlo cale="urn: WebWorks-L ocale-Sche ma"
        18                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"
        19                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"
        20                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"
        21                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"
        22                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"
        23                                    xmlns:wwun its="urn:W ebWorks-XS LT-Extensi on-Units"
        24                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"
        25                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"
        26                                    xmlns:wwim aging="urn :WebWorks- XSLT-Exten sion-Imagi ng"
        27                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"
        28                                    exclude-re sult-prefi xes="xsl m sxsl wwmod e wwlinks  wwfiles ww doc wwspli ts wwtoc w wbehaviors  wwvars ww notes wwpr oject wwpa ge wwlocal e wwprogre ss wwlog w wfilesyste m wwuri ww string wwu nits wwfil esext wwpr ojext wwim aging wwex sldoc"
        29   >
        30    <xsl:para m name="Gl obalInput"  />
        31    <xsl:para m name="Gl obalPipeli neName" />
        32    <xsl:para m name="Gl obalProjec t" />
        33    <xsl:para m name="Gl obalFiles"  />
        34    <xsl:para m name="Pa rameterDep endsType"  />
        35    <xsl:para m name="Pa rameterSpl itsType" / >
        36    <xsl:para m name="Pa rameterLin ksType" />
        37    <xsl:para m name="Pa rameterLoc aleType" / >
        38    <xsl:para m name="Pa rameterBeh aviorsType " />
        39    <xsl:para m name="Pa rameterPro jectVariab lesType" / >
        40    <xsl:para m name="Pa rameterPag eTemplateU RI" />
        41    <xsl:para m name="Pa rameterTOC DataType"  />
        42    <xsl:para m name="Pa rameterAll owBaggage"  />
        43    <xsl:para m name="Pa rameterAll owGroupToG roup" />
        44    <xsl:para m name="Pa rameterAll owURL" />
        45    <xsl:para m name="Pa rameterBag gageSplitF ileType" / >
        46    <xsl:para m name="Pa rameterTOC SplitFileT ype" />
        47    <xsl:para m name="Pa rameterInd exSplitFil eType" />
        48    <xsl:para m name="Pa rameterTyp e" />
        49    <xsl:para m name="Pa rameterCat egory" />
        50    <xsl:para m name="Pa rameterUse " />
        51    <xsl:para m name="Pa rameterDep loy" />
        52    <xsl:para m name="Pa rameterDoc umentPDFTy pe" />
        53    <xsl:para m name="Pa rameterGro upPDFType"  />
        54  
        55  
        56    <xsl:vari able name= "GlobalDef aultNamesp ace" selec t="'http:/ /www.w3.or g/1999/xht ml'" />
        57  
        58  
        59    <xsl:outp ut method= "xml" enco ding="UTF- 8" indent= "yes" />
        60    <xsl:name space-alia s styleshe et-prefix= "html" res ult-prefix ="#default " />
        61    <xsl:stri p-space el ements="*"  />
        62  
        63  
        64    <xsl:incl ude href=" wwtransfor m:common/a ccessibili ty/images. xsl"/>
        65    <xsl:incl ude href=" wwtransfor m:common/a ccessibili ty/tables. xsl"/>
        66    <xsl:incl ude href=" wwtransfor m:common/b ehaviors/o ptions.xsl "/>
        67    <xsl:incl ude href=" wwtransfor m:common/c ompanyinfo /companyin fo_content .xsl" />
        68    <xsl:incl ude href=" wwtransfor m:common/i mages/util ities.xsl"  />
        69    <xsl:incl ude href=" wwtransfor m:common/l inks/resol ve.xsl" />
        70    <xsl:incl ude href=" wwtransfor m:common/p ages/pages .xsl" />
        71    <xsl:incl ude href=" wwtransfor m:common/p roject/con ditions.xs l" />
        72    <xsl:incl ude href=" wwtransfor m:common/p roject/pro perties.xs l" />
        73    <xsl:incl ude href=" wwtransfor m:common/t ables/tabl es.xsl" />
        74    <xsl:incl ude href=" wwtransfor m:common/v ariables/v ariables.x sl" />
        75    <xsl:incl ude href=" wwformat:T ransforms/ css_proper ties.xsl"  />
        76    <xsl:incl ude href=" wwtransfor m:common/p ages/paget emplate.xs l" />
        77    <xsl:incl ude href=" wwtransfor m:uri/uri. xsl" />
        78    <xsl:incl ude href=" wwformat:T ransforms/ content.xs l" />
        79    <xsl:incl ude href=" wwformat:T ransforms/ mediawiki. xsl" />
        80  
        81  
        82    <xsl:vari able name= "GlobalAct ionChecksu m">
        83     <xsl:var iable name ="VarTrans formChecks ums">
        84      <xsl:va lue-of sel ect="conca t(wwuri:As FilePath(' wwtransfor m:self'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww transform: self')))"  />
        85      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath($Param eterPageTe mplateURI) , ':', wwf ilesystem: GetChecksu m(wwuri:As FilePath($ ParameterP ageTemplat eURI)))" / >
        86      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/access ibility/im ages.xsl') , ':', wwf ilesystem: GetChecksu m(wwuri:As FilePath(' wwtransfor m:common/a ccessibili ty/images. xsl')))" / >
        87      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/access ibility/ta bles.xsl') , ':', wwf ilesystem: GetChecksu m(wwuri:As FilePath(' wwtransfor m:common/a ccessibili ty/tables. xsl')))" / >
        88      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/behavi ors/option s.xsl'), ' :', wwfile system:Get Checksum(w wuri:AsFil ePath('wwt ransform:c ommon/beha viors/opti ons.xsl')) )" />
        89      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/compan yinfo/comp anyinfo_co ntent.xsl' ), ':', ww filesystem :GetChecks um(wwuri:A sFilePath( 'wwtransfo rm:common/ companyinf o/companyi nfo_conten t.xsl')))"  />
        90      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/images /utilities .xsl'), ': ', wwfiles ystem:GetC hecksum(ww uri:AsFile Path('wwtr ansform:co mmon/image s/utilitie s.xsl')))"  />
        91      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/links/ resolve.xs l'), ':',  wwfilesyst em:GetChec ksum(wwuri :AsFilePat h('wwtrans form:commo n/links/re solve.xsl' )))" />
        92      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/pages/ pages.xsl' ), ':', ww filesystem :GetChecks um(wwuri:A sFilePath( 'wwtransfo rm:common/ pages/page s.xsl')))"  />
        93      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/projec t/conditio ns.xsl'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww transform: common/pro ject/condi tions.xsl' )))" />
        94      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/projec t/properti es.xsl'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww transform: common/pro ject/prope rties.xsl' )))" />
        95      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/tables /tables.xs l'), ':',  wwfilesyst em:GetChec ksum(wwuri :AsFilePat h('wwtrans form:commo n/tables/t ables.xsl' )))" />
        96      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/variab les/variab les.xsl'),  ':', wwfi lesystem:G etChecksum (wwuri:AsF ilePath('w wtransform :common/va riables/va riables.xs l')))" />
        97      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwfor mat:Transf orms/css_p roperties. xsl'), ':' , wwfilesy stem:GetCh ecksum(wwu ri:AsFileP ath('wwfor mat:Transf orms/css_p roperties. xsl')))" / >
        98      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:com mon/pages/ pagetempla te.xsl'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww transform: common/pag es/pagetem plate.xsl' )))" />
        99      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwtra nsform:uri /uri.xsl') , ':', wwf ilesystem: GetChecksu m(wwuri:As FilePath(' wwtransfor m:uri/uri. xsl')))" / >
        100      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwfor mat:Transf orms/conte nt.xsl'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww format:Tra nsforms/co ntent.xsl' )))" />
        101      <xsl:va lue-of sel ect="conca t(',', wwu ri:AsFileP ath('wwfor mat:Transf orms/media wiki.xsl') , ':', wwf ilesystem: GetChecksu m(wwuri:As FilePath(' wwformat:T ransforms/ mediawiki. xsl')))" / >
        102     </xsl:va riable>
        103     <xsl:val ue-of sele ct="wwstri ng:MD5Chec ksum($VarT ransformCh ecksums)"  />
        104    </xsl:var iable>
        105  
        106  
        107    <!-- Loca le -->
        108    <!--         -->
        109    <xsl:vari able name= "GlobalLoc alePath">
        110     <xsl:for -each sele ct="$Globa lFiles[1]" >
        111      <xsl:va lue-of sel ect="key(' wwfiles-fi les-by-typ e', $Param eterLocale Type)[1]/@ path" />
        112     </xsl:fo r-each>
        113    </xsl:var iable>
        114    <xsl:vari able name= "GlobalLoc ale" selec t="wwexsld oc:LoadXML WithoutRes olver($Glo balLocaleP ath)" />
        115  
        116  
        117    <!-- Mapp ing Entry  Sets -->
        118    <!--                      -->
        119    <xsl:vari able name= "GlobalMap EntrySetsP ath" selec t="wwuri:A sFilePath( 'wwformat: Transforms /mapentrys ets.xml')"  />
        120    <xsl:vari able name= "GlobalMap EntrySets"  select="w wexsldoc:L oadXMLWith outResolve r($GlobalM apEntrySet sPath)" />
        121  
        122  
        123    <!-- Page  Template  -->
        124    <!--                 -->
        125    <xsl:vari able name= "GlobalPag eTemplateP ath" selec t="wwuri:A sFilePath( $Parameter PageTempla teURI)" />
        126    <xsl:vari able name= "GlobalPag eTemplate"  select="w wexsldoc:L oadXMLWith outResolve r($GlobalP ageTemplat ePath)" />
        127  
        128  
        129    <!-- Proj ect variab les -->
        130    <!--                     -->
        131    <xsl:vari able name= "GlobalPro jectVariab lesPath">
        132     <xsl:for -each sele ct="$Globa lFiles[1]" >
        133      <xsl:va lue-of sel ect="key(' wwfiles-fi les-by-typ e', $Param eterProjec tVariables Type)[1]/@ path" />
        134     </xsl:fo r-each>
        135    </xsl:var iable>
        136    <xsl:vari able name= "GlobalPro jectVariab les" selec t="wwexsld oc:LoadXML WithoutRes olver($Glo balProject VariablesP ath)" />
        137  
        138  
        139    <xsl:temp late match ="/">
        140     <wwfiles :Files ver sion="1.0" >
        141  
        142      <xsl:ca ll-templat e name="Do cumentsPag es">
        143       <xsl:w ith-param  name="Para mInput" se lect="$Glo balInput"  />
        144       <xsl:w ith-param  name="Para mProject"  select="$G lobalProje ct" />
        145       <xsl:w ith-param  name="Para mFiles" se lect="$Glo balFiles"  />
        146       <xsl:w ith-param  name="Para mLinksType " select=" $Parameter LinksType"  />
        147       <xsl:w ith-param  name="Para mDependsTy pe" select ="$Paramet erDependsT ype" />
        148       <xsl:w ith-param  name="Para mSplitsTyp e" select= "$Paramete rSplitsTyp e" />
        149       <xsl:w ith-param  name="Para mBehaviors Type" sele ct="$Param eterBehavi orsType" / >
        150       <xsl:w ith-param  name="Para mTOCDataTy pe" select ="$Paramet erTOCDataT ype" />
        151      </xsl:c all-templa te>
        152  
        153     </wwfile s:Files>
        154    </xsl:tem plate>
        155  
        156  
        157    <xsl:temp late name= "Page">
        158     <xsl:par am name="P aramFilesS plits" />
        159     <xsl:par am name="P aramSplits " />
        160     <xsl:par am name="P aramBehavi orsFile" / >
        161     <xsl:par am name="P aramBehavi ors" />
        162     <xsl:par am name="P aramLinks"  />
        163     <xsl:par am name="P aramTOCDat a" />
        164     <xsl:par am name="P aramBreadc rumbTOCEnt ry" />
        165     <xsl:par am name="P aramFilesD ocumentNod e" />
        166     <xsl:par am name="P aramSplit"  />
        167     <xsl:par am name="P aramDocume nt" />
        168     <xsl:par am name="P aramConten t" />
        169  
        170     <!-- Out put -->
        171     <!--         -->
        172     <xsl:var iable name ="VarUpToD ate" selec t="wwfiles ext:UpToDa te($ParamS plit/@path , $GlobalP roject/wwp roject:Pro ject/@Chan geID, $Par amSplit/@g roupID, $P aramSplit/ @documentI D, $Global ActionChec ksum)" />
        173     <xsl:if  test="not( $VarUpToDa te)">
        174      <xsl:va riable nam e="VarResu ltAsXML">
        175       <!-- O utput dire ctory path  -->
        176       <!--                          -->
        177       <xsl:v ariable na me="VarOut putDirecto ryPath" se lect="wwfi lesystem:C ombine(wwp rojext:Get TargetOutp utDirector yPath(), w wprojext:G etGroupNam e($ParamSp lit/@group ID))" />
        178  
        179       <!-- P age Rule - ->
        180       <!--            - ->
        181       <xsl:v ariable na me="VarPag eRule" sel ect="wwpro jext:GetRu le('Page',  $ParamSpl it/@stylen ame)" />
        182  
        183       <!-- S plit files  -->
        184       <!--               -->
        185       <xsl:f or-each se lect="$Par amSplits[1 ]">
        186        <!--  TOC -->
        187        <!--      -->
        188        <xsl: variable n ame="VarTO CSplitFile " select=" key('wwspl its-files- by-groupid -type', co ncat($Para mSplit/@gr oupID, ':' , $Paramet erTOCSplit FileType)) [1]" />
        189  
        190        <!--  Index -->
        191        <!--        -->
        192        <xsl: variable n ame="VarIn dexSplitFi le" select ="key('wws plits-file s-by-group id-type',  concat($Pa ramSplit/@ groupID, ' :', $Param eterIndexS plitFileTy pe))[1]" / >
        193  
        194        <!--  Previous - ->
        195        <!--           - ->
        196        <xsl: variable n ame="VarPo ssiblePrev iousSplits " select=" $ParamSpli t/precedin g-sibling: :wwsplits: Split[1]"  />
        197        <xsl: variable n ame="VarPr eviousSpli t" select= "($VarPoss iblePrevio usSplits[c ount($VarP ossiblePre viousSplit s) = 1] |  $VarTOCSpl itFile[(co unt($VarPo ssiblePrev iousSplits ) = 0) and  (count($P aramSplit  | $VarTOCS plitFile)  = 2)])" />
        198  
        199        <!--  Next -->
        200        <!--       -->
        201        <xsl: variable n ame="VarPo ssibleNext Splits" se lect="$Par amSplit/fo llowing-si bling::wws plits:Spli t[1]" />
        202        <xsl: variable n ame="VarNe xtSplit" s elect="($V arPossible NextSplits [count($Va rPossibleN extSplits)  = 1] | $V arIndexSpl itFile[(co unt($VarPo ssibleNext Splits) =  0) and (co unt($Param Split | $V arIndexSpl itFile) =  2)])" />
        203  
        204        <!--  PDF Link - ->
        205        <!--           - ->
        206        <xsl: variable n ame="VarPD FLinkPath" >
        207         <xsl :variable  name="VarD ocumentPDF Path">
        208          <xs l:if test= "wwprojext :GetFormat Setting('p df-per-doc ument') =  'true'">
        209           <x sl:value-o f select=" $GlobalFil es[1]/wwfi les:Files/ wwfiles:Fi le[@docume ntID = $Pa ramFilesDo cumentNode /@document ID and @ty pe = $Para meterDocum entPDFType ]/@path" / >
        210          </x sl:if>
        211         </xs l:variable >
        212         
        213         <xsl :variable  name="VarG roupPDFPat h">
        214          <xs l:if test= "wwprojext :GetFormat Setting('p df-per-gro up') = 'tr ue'">
        215           <x sl:value-o f select=" $GlobalFil es[1]/wwfi les:Files/ wwfiles:Fi le[@groupI D = $Param Split/@gro upID and @ type = $Pa rameterGro upPDFType] /@path" />    
        216          </x sl:if>
        217         </xs l:variable >
        218  
        219         <xsl :choose>
        220          <xs l:when tes t="string- length($Va rDocumentP DFPath) &g t; 0">
        221           <x sl:value-o f select=" $VarDocume ntPDFPath"  />
        222          </x sl:when>
        223          <xs l:when tes t="string- length($Va rGroupPDFP ath) &gt;  0">
        224           <x sl:value-o f select=" $VarGroupP DFPath" />
        225          </x sl:when>
        226         </xs l:choose>
        227        </xsl :variable>
        228  
        229        <xsl: variable n ame="VarPD FLinkURI">
        230         <xsl :if test=" string-len gth($VarPD FLinkPath)  &gt; 0">
        231           <x sl:call-te mplate nam e="MediaWi ki-ImageRo otedLink">
        232            < xsl:with-p aram name= "ParamLink Path" sele ct="$VarPD FLinkPath"  />
        233            < xsl:with-p aram name= "ParamTarg etOutputDi rectoryPat h" select= "$ParamSpl it/@target -output-di rectory-pa th" />
        234           </ xsl:call-t emplate>
        235         </xs l:if>
        236        </xsl :variable>
        237  
        238        <!--  Notes -->
        239        <!--        -->
        240        <xsl: variable n ame="VarNo tes" selec t="$ParamC ontent//ww doc:Note[n ot(ancesto r::wwdoc:T able) and  not(ancest or::wwdoc: Frame)]" / >
        241  
        242        <!--  Note numbe ring -->
        243        <!--                  -->
        244        <xsl: variable n ame="VarNo teNumberin gAsXML">
        245         <xsl :call-temp late name= "Notes-Num ber">
        246          <xs l:with-par am name="P aramNotes"  select="$ VarNotes"  />
        247         </xs l:call-tem plate>
        248        </xsl :variable>
        249        <xsl: variable n ame="VarNo teNumberin g" select= "msxsl:nod e-set($Var NoteNumber ingAsXML)"  />
        250  
        251        <!--  Cargo -->
        252        <!--        -->
        253        <xsl: variable n ame="VarCa rgo" selec t="$ParamB ehaviors |  $VarNoteN umbering"  />
        254  
        255        <!--  Conditions  -->
        256        <!--              -->
        257        <xsl: variable n ame="VarIn itialCondi tionsAsXML ">
        258         <!--  catalog-c ss -->
        259         <!--               -->
        260         <wwp age:Condit ion name=" catalog-cs s" />
        261  
        262         <!--  document- css -->
        263         <!--                -->
        264         <xsl :if test=" string-len gth($VarPa geRule/wwp roject:Opt ions/wwpro ject:Optio n[@Name =  'document- css']/@Val ue) &gt; 0 ">
        265          <ww page:Condi tion name= "document- css" />
        266         </xs l:if>
        267  
        268         <!--  pdf-exist s -->
        269         <!--              -->
        270         <xsl :if test=" string-len gth($VarPD FLinkURI)  &gt; 0">
        271          <ww page:Condi tion name= "pdf-exist s" />
        272         </xs l:if>
        273         <xsl :if test=" string-len gth($VarPD FLinkURI)  = 0">
        274          <ww page:Condi tion name= "pdf-not-e xists" />
        275         </xs l:if>
        276  
        277         <!--  breadcrum bs-top -->
        278         <!--                   -->
        279         <xsl :variable  name="VarB readcrumbs TopGenerat eOption" s elect="$Va rPageRule/ wwproject: Options/ww project:Op tion[@Name  = 'breadc rumbs-top- generate'] /@Value" / >
        280         <xsl :if test=" ($VarBread crumbsTopG enerateOpt ion = 'tru e') or (st ring-lengt h($VarBrea dcrumbsTop GenerateOp tion) = 0) ">
        281          <ww page:Condi tion name= "breadcrum bs-top" />
        282         </xs l:if>
        283  
        284         <!--  breadcrum bs-bottom  -->
        285         <!--                       -->
        286         <xsl :variable  name="VarB readcrumbs BottomGene rateOption " select=" $VarPageRu le/wwproje ct:Options /wwproject :Option[@N ame = 'bre adcrumbs-b ottom-gene rate']/@Va lue" />
        287         <xsl :if test=" $VarBreadc rumbsBotto mGenerateO ption = 't rue'">
        288          <ww page:Condi tion name= "breadcrum bs-bottom"  />
        289         </xs l:if>
        290  
        291         <!--  navigatio n-top -->
        292         <!--                  -->
        293         <xsl :variable  name="VarN avigationT opGenerate Option" se lect="$Var PageRule/w wproject:O ptions/wwp roject:Opt ion[@Name  = 'navigat ion-top-ge nerate']/@ Value" />
        294         <xsl :if test=" ($VarNavig ationTopGe nerateOpti on = 'true ') or (str ing-length ($VarNavig ationTopGe nerateOpti on) = 0)">
        295          <ww page:Condi tion name= "navigatio n-top" />
        296         </xs l:if>
        297  
        298         <!--  navigatio n-bottom - ->
        299         <!--                     - ->
        300         <xsl :variable  name="VarN avigationB ottomGener ateOption"  select="$ VarPageRul e/wwprojec t:Options/ wwproject: Option[@Na me = 'navi gation-bot tom-genera te']/@Valu e" />
        301         <xsl :if test=" $VarNaviga tionBottom GenerateOp tion = 'tr ue'">
        302          <ww page:Condi tion name= "navigatio n-bottom"  />
        303         </xs l:if>
        304  
        305         <!--  Generate  TOC? -->
        306         <!--                 -->
        307         <xsl :if test=" count($Var TOCSplitFi le) = 1">
        308          <xs l:choose>
        309           <x sl:when te st="count( $ParamSpli t | $VarTO CSplitFile ) = 1">
        310            < !-- naviga tion-toc-c urrent -->
        311            < !--                          -->
        312            < wwpage:Con dition nam e="navigat ion-toc-cu rrent" />
        313           </ xsl:when>
        314  
        315           <x sl:otherwi se>
        316            < !-- naviga tion-toc-n ot-current  -->
        317            < !--                          -->
        318            < wwpage:Con dition nam e="navigat ion-toc-no t-current"  />
        319           </ xsl:otherw ise>
        320          </x sl:choose>
        321         </xs l:if>
        322  
        323         <!--  navigatio n-previous -exists -- >
        324         <!--                               -- >
        325         <xsl :if test=" count($Var PreviousSp lit) = 1">
        326          <ww page:Condi tion name= "navigatio n-previous -exists" / >
        327         </xs l:if>
        328  
        329         <!--  navigatio n-previous -not-exist s -->
        330         <!--                                    -->
        331         <xsl :if test=" count($Var PreviousSp lit) = 0">
        332          <ww page:Condi tion name= "navigatio n-previous -not-exist s" />
        333         </xs l:if>
        334  
        335         <!--  navigatio n-next-exi sts -->
        336         <!--                           -->
        337         <xsl :if test=" count($Var NextSplit)  = 1">
        338          <ww page:Condi tion name= "navigatio n-next-exi sts" />
        339         </xs l:if>
        340  
        341         <!--  navigatio n-next-not -exists -- >
        342         <!--                               -- >
        343         <xsl :if test=" count($Var NextSplit)  = 0">
        344          <ww page:Condi tion name= "navigatio n-next-not -exists" / >
        345         </xs l:if>
        346  
        347         <!--  Generate  Index? -->
        348         <!--                   -->
        349         <xsl :if test=" count($Var IndexSplit File) = 1" >
        350          <xs l:choose>
        351           <x sl:when te st="count( $ParamSpli t | $VarIn dexSplitFi le) = 1">
        352            < !-- naviga tion-index -current - ->
        353            < !--                          -->
        354            < wwpage:Con dition nam e="navigat ion-index- current" / >
        355           </ xsl:when>
        356  
        357           <x sl:otherwi se>
        358            < !-- naviga tion-index -not-curre nt -->
        359            < !--                          -->
        360            < wwpage:Con dition nam e="navigat ion-index- not-curren t" />
        361           </ xsl:otherw ise>
        362          </x sl:choose>
        363         </xs l:if>
        364  
        365         <!--  Company I nfo -->
        366         <!--                -->
        367         <xsl :call-temp late name= "CompanyIn fo-Conditi ons">
        368          <xs l:with-par am name="P aramPageRu le" select ="$VarPage Rule" />
        369         </xs l:call-tem plate>
        370        </xsl :variable>
        371        <xsl: variable n ame="VarIn itialCondi tions" sel ect="msxsl :node-set( $VarInitia lCondition sAsXML)" / >
        372  
        373        <!--  Set header /footer co nditions - ->
        374        <!--                                 - ->
        375        <xsl: variable n ame="VarCo nditionsAs XML">
        376         <!--  Copy exis ting as is  -->
        377         <!--                        -->
        378         <xsl :for-each  select="$V arInitialC onditions/ *">
        379          <xs l:copy-of  select="."  />
        380         </xs l:for-each >
        381  
        382         <xsl :for-each  select="$V arInitialC onditions[ 1]">
        383          <!- - header-e xists -->
        384          <!- -                -->
        385          <xs l:variable  name="Var HeaderExis ts" select ="count(ke y('wwpage- conditions -by-name',  'navigati on-top') |  key('wwpa ge-conditi ons-by-nam e', 'bread crumbs-top ') | key(' wwpage-con ditions-by -name', 'c ompany-inf o-top')) & gt; 0" />
        386          <xs l:if test= "$VarHeade rExists">
        387           <w wpage:Cond ition name ="header-e xists" />
        388          </x sl:if>
        389  
        390          <!- - footer-e xists -->
        391          <!- -                -->
        392          <xs l:variable  name="Var FooterExis ts" select ="count(ke y('wwpage- conditions -by-name',  'navigati on-bottom' ) | key('w wpage-cond itions-by- name', 'br eadcrumbs- bottom') |  key('wwpa ge-conditi ons-by-nam e', 'compa ny-info-bo ttom')) &g t; 0" />
        393          <xs l:if test= "$VarFoote rExists">
        394           <w wpage:Cond ition name ="footer-e xists" />
        395          </x sl:if>
        396  
        397          <!- - header-f ooter-exis ts -->
        398          <!- -                        -->
        399          <xs l:choose>
        400           <x sl:when te st="$VarHe aderExists  or $VarFo oterExists ">
        401            < wwpage:Con dition nam e="header- footer-exi sts" />
        402           </ xsl:when>
        403  
        404           <x sl:otherwi se>
        405            < wwpage:Con dition nam e="header- footer-not -exists" / >
        406           </ xsl:otherw ise>
        407          </x sl:choose>
        408         </xs l:for-each >
        409        </xsl :variable>
        410        <xsl: variable n ame="VarCo nditions"  select="ms xsl:node-s et($VarCon ditionsAsX ML)" />
        411  
        412        <!--  Replacemen ts -->
        413        <!--                -->
        414        <xsl: variable n ame="VarRe placements AsXML">
        415         <xsl :variable  name="VarR elativeRoo tURIWithDu mmyCompone nt" select ="wwuri:Ge tRelativeT o(wwfilesy stem:Combi ne($VarOut putDirecto ryPath, 'd ummy.compo nent'), $P aramSplit/ @path)" />
        416         <xsl :variable  name="VarR elativeRoo tURI">
        417          <xs l:variable  name="Var StringLeng thDifferen ce" select ="string-l ength($Var RelativeRo otURIWithD ummyCompon ent) - str ing-length ('dummy.co mponent')"  />
        418          <xs l:choose>
        419           <x sl:when te st="$VarSt ringLength Difference  &lt;= 0">
        420            < xsl:value- of select= "''" />
        421           </ xsl:when>
        422  
        423           <x sl:otherwi se>
        424            < xsl:value- of select= "substring ($VarRelat iveRootURI WithDummyC omponent,  1, $VarStr ingLengthD ifference) " />
        425           </ xsl:otherw ise>
        426          </x sl:choose>
        427         </xs l:variable >
        428  
        429         <!--  body-styl e -->
        430         <!--              -->
        431         <wwp age:Replac ement name ="body-sty le">
        432          <xs l:attribut e name="va lue">
        433           <! -- CSS pro perties -- >
        434           <! --                 -- >
        435           <x sl:variabl e name="Va rCSSProper tiesAsXML" >
        436            < xsl:call-t emplate na me="CSS-Tr anslatePro jectProper ties">
        437              <xsl:with- param name ="ParamPro perties" s elect="$Va rPageRule/ wwproject: Properties /wwproject :Property"  />
        438              <xsl:with- param name ="ParamFro mAbsoluteU RI" select ="$ParamSp lit/@path"  />
        439              <xsl:with- param name ="ParamSpl its" selec t="$ParamS plits" />
        440            < /xsl:call- template>
        441           </ xsl:variab le>
        442           <x sl:variabl e name="Va rCSSProper ties" sele ct="msxsl: node-set($ VarCSSProp ertiesAsXM L)/wwproje ct:Propert y" />
        443  
        444           <x sl:call-te mplate nam e="CSS-Inl inePropert ies">
        445            < xsl:with-p aram name= "ParamProp erties" se lect="$Var CSSPropert ies[string -length(@V alue) &gt;  0]" />
        446           </ xsl:call-t emplate>
        447          </x sl:attribu te>
        448         </ww page:Repla cement>
        449  
        450         <xsl :if test=" string-len gth($VarPD FLinkURI)  &gt; 0">
        451           <w wpage:Repl acement na me="pdf-li nk" value= "{$VarPDFL inkURI}" / >
        452         </xs l:if>
        453         
        454         <wwp age:Replac ement name ="title" v alue="{$Pa ramSplit/@ title}" />
        455         <wwp age:Replac ement name ="navigati on-toc-tit le" value= "{$VarTOCS plitFile/@ title}" />
        456         <wwp age:Replac ement name ="navigati on-previou s-title" v alue="{$Gl obalLocale /wwlocale: Locale/wwl ocale:Stri ngs/wwloca le:String[ @name = 'P revious']/ @value}" / >
        457         <wwp age:Replac ement name ="navigati on-next-ti tle" value ="{$Global Locale/wwl ocale:Loca le/wwlocal e:Strings/ wwlocale:S tring[@nam e = 'Next' ]/@value}"  />
        458         <wwp age:Replac ement name ="navigati on-index-t itle" valu e="{$VarIn dexSplitFi le/@title} " />
        459         <wwp age:Replac ement name ="navigati on-pdf-tit le" value= "Print" />
        460  
        461         <wwp age:Replac ement name ="breadcru mbs-top-st yle">
        462          <xs l:attribut e name="va lue">
        463           <x sl:text>co lor: #9999 99; font-f amily: san s-serif; f ont-size:  10pt; </xs l:text>
        464  
        465           <x sl:variabl e name="Va rAlignment Property"  select="$V arPageRule /wwproject :Propertie s/wwprojec t:Property [@Name = ' breadcrumb s-top-alig nment']/@V alue" />
        466           <x sl:choose>
        467            < xsl:when t est="strin g-length($ VarAlignme ntProperty ) &gt; 0">
        468              <xsl:value -of select ="concat(' text-align : ', $VarA lignmentPr operty, '; ')" />
        469            < /xsl:when>
        470  
        471            < xsl:otherw ise>
        472              <xsl:value -of select ="'text-al ign: left; '" />
        473            < /xsl:other wise>
        474           </ xsl:choose >
        475          </x sl:attribu te>
        476         </ww page:Repla cement>
        477  
        478         <wwp age:Replac ement name ="breadcru mbs-bottom -style">
        479          <xs l:attribut e name="va lue">
        480           <x sl:text>co lor: #9999 99; font-f amily: san s-serif; f ont-size:  10pt; </xs l:text>
        481  
        482           <x sl:variabl e name="Va rAlignment Property"  select="$V arPageRule /wwproject :Propertie s/wwprojec t:Property [@Name = ' breadcrumb s-bottom-a lignment'] /@Value" / >
        483           <x sl:choose>
        484            < xsl:when t est="strin g-length($ VarAlignme ntProperty ) &gt; 0">
        485              <xsl:value -of select ="concat(' text-align : ', $VarA lignmentPr operty, '; ')" />
        486            < /xsl:when>
        487  
        488            < xsl:otherw ise>
        489              <xsl:value -of select ="'text-al ign: left; '" />
        490            < /xsl:other wise>
        491           </ xsl:choose >
        492          </x sl:attribu te>
        493         </ww page:Repla cement>
        494  
        495         <wwp age:Replac ement name ="navigati on-top-sty le">
        496          <xs l:attribut e name="va lue">
        497           <x sl:variabl e name="Va rAlignment Property"  select="$V arPageRule /wwproject :Propertie s/wwprojec t:Property [@Name = ' navigation -top-align ment']/@Va lue" />
        498           <x sl:choose>
        499            < xsl:when t est="strin g-length($ VarAlignme ntProperty ) &gt; 0">
        500              <xsl:value -of select ="concat(' text-align : ', $VarA lignmentPr operty, '; ')" />
        501            < /xsl:when>
        502  
        503            < xsl:otherw ise>
        504              <xsl:value -of select ="'text-al ign: left; '" />
        505            < /xsl:other wise>
        506           </ xsl:choose >
        507          </x sl:attribu te>
        508         </ww page:Repla cement>
        509  
        510         <wwp age:Replac ement name ="navigati on-bottom- style">
        511          <xs l:attribut e name="va lue">
        512           <x sl:variabl e name="Va rAlignment Property"  select="$V arPageRule /wwproject :Propertie s/wwprojec t:Property [@Name = ' navigation -bottom-al ignment']/ @Value" />
        513           <x sl:choose>
        514            < xsl:when t est="strin g-length($ VarAlignme ntProperty ) &gt; 0">
        515              <xsl:value -of select ="concat(' text-align : ', $VarA lignmentPr operty, '; ')" />
        516            < /xsl:when>
        517  
        518            < xsl:otherw ise>
        519              <xsl:value -of select ="'text-al ign: left; '" />
        520            < /xsl:other wise>
        521           </ xsl:choose >
        522          </x sl:attribu te>
        523         </ww page:Repla cement>
        524  
        525         <xsl :if test=" count($Var TOCSplitFi le) = 1">
        526          <ww page:Repla cement nam e="navigat ion-toc-li nk">
        527           <x sl:call-te mplate nam e="MediaWi ki-Project RootedLink ">
        528            < xsl:with-p aram name= "ParamLink Path" sele ct="$VarTO CSplitFile /@path" />
        529            < xsl:with-p aram name= "ParamTarg etOutputDi rectoryPat h" select= "$ParamSpl it/@target -output-di rectory-pa th" />
        530           </ xsl:call-t emplate>
        531          </w wpage:Repl acement>
        532         </xs l:if>
        533         <xsl :if test=" count($Var PreviousSp lit) = 1">
        534          <ww page:Repla cement nam e="navigat ion-previo us-link">
        535           <x sl:call-te mplate nam e="MediaWi ki-Project RootedLink ">
        536            < xsl:with-p aram name= "ParamLink Path" sele ct="$VarPr eviousSpli t/@path" / >
        537            < xsl:with-p aram name= "ParamTarg etOutputDi rectoryPat h" select= "$ParamSpl it/@target -output-di rectory-pa th" />
        538           </ xsl:call-t emplate>
        539          </w wpage:Repl acement>
        540         </xs l:if>
        541         <xsl :if test=" count($Var NextSplit)  = 1">
        542          <ww page:Repla cement nam e="navigat ion-next-l ink">
        543           <x sl:call-te mplate nam e="MediaWi ki-Project RootedLink ">
        544            < xsl:with-p aram name= "ParamLink Path" sele ct="$VarNe xtSplit/@p ath" />
        545            < xsl:with-p aram name= "ParamTarg etOutputDi rectoryPat h" select= "$ParamSpl it/@target -output-di rectory-pa th" />
        546           </ xsl:call-t emplate>
        547          </w wpage:Repl acement>
        548         </xs l:if>
        549         <xsl :if test=" count($Var IndexSplit File) = 1" >
        550          <ww page:Repla cement nam e="navigat ion-index- link">
        551           <x sl:call-te mplate nam e="MediaWi ki-Project RootedLink ">
        552            < xsl:with-p aram name= "ParamLink Path" sele ct="$VarIn dexSplitFi le/@path"  />
        553            < xsl:with-p aram name= "ParamTarg etOutputDi rectoryPat h" select= "$ParamSpl it/@target -output-di rectory-pa th" />
        554           </ xsl:call-t emplate>
        555          </w wpage:Repl acement>
        556         </xs l:if>
        557  
        558         <!--  Company I nfo -->
        559         <!--                -->
        560         <xsl :call-temp late name= "CompanyIn fo-Replace ments">
        561          <xs l:with-par am name="P aramPageRu le" select ="$VarPage Rule" />
        562          <xs l:with-par am name="P aramPagePa th" select ="$ParamSp lit/@path"  />
        563          <xs l:with-par am name="P aramSplits " select=" $ParamSpli ts" />
        564         </xs l:call-tem plate>
        565  
        566         <!--  Breadcrum bs -->
        567         <!--               -->
        568         <wwp age:Replac ement name ="breadcru mbs">
        569          <xs l:call-tem plate name ="Breadcru mbs">
        570           <x sl:with-pa ram name=" ParamPageR ule" selec t="$VarPag eRule" />
        571           <x sl:with-pa ram name=" ParamSplit " select=" $ParamSpli t" />
        572           <x sl:with-pa ram name=" ParamBread crumbTOCEn try" selec t="$ParamB readcrumbT OCEntry" / >
        573          </x sl:call-te mplate>
        574         </ww page:Repla cement>
        575  
        576         <!--  Content - ->
        577         <!--          - ->
        578         <wwp age:Replac ement name ="content" >
        579          <xs l:call-tem plate name ="Content- Content">
        580           <x sl:with-pa ram name=" ParamConte nt" select ="$ParamCo ntent" />
        581           <x sl:with-pa ram name=" ParamSplit s" select= "$ParamSpl its" />
        582           <x sl:with-pa ram name=" ParamCargo " select=" $VarCargo"  />
        583           <x sl:with-pa ram name=" ParamLinks " select=" $ParamLink s" />
        584           <x sl:with-pa ram name=" ParamTOCDa ta" select ="$ParamTO CData" />
        585           <x sl:with-pa ram name=" ParamSplit " select=" $ParamSpli t" />
        586          </x sl:call-te mplate>
        587          <xs l:call-tem plate name ="Content- Notes">
        588           <x sl:with-pa ram name=" ParamNotes " select=" $VarNotes"  />
        589           <x sl:with-pa ram name=" ParamSplit s" select= "$ParamSpl its" />
        590           <x sl:with-pa ram name=" ParamCargo " select=" $VarCargo"  />
        591           <x sl:with-pa ram name=" ParamLinks " select=" $ParamLink s" />
        592           <x sl:with-pa ram name=" ParamTOCDa ta" select ="$ParamTO CData" />
        593           <x sl:with-pa ram name=" ParamSplit " select=" $ParamSpli t" />
        594          </x sl:call-te mplate>
        595         </ww page:Repla cement>
        596  
        597         <!--  Variables  -->
        598         <!--             -->
        599         <xsl :variable  name="VarS plitGlobal VariablesA sXML">
        600          <xs l:call-tem plate name ="Variable s-Globals- Split">
        601           <x sl:with-pa ram name=" ParamProje ctVariable s" select= "$GlobalPr ojectVaria bles" />
        602           <x sl:with-pa ram name=" ParamSplit " select=" $ParamSpli t" />
        603          </x sl:call-te mplate>
        604         </xs l:variable >
        605         <xsl :variable  name="VarS plitGlobal Variables"  select="m sxsl:node- set($VarSp litGlobalV ariablesAs XML)/wwvar s:Variable " />
        606         <xsl :call-temp late name= "Variables -Page-Stri ng-Replace ments">
        607          <xs l:with-par am name="P aramVariab les" selec t="$VarSpl itGlobalVa riables" / >
        608         </xs l:call-tem plate>
        609        </xsl :variable>
        610        <xsl: variable n ame="VarRe placements " select=" msxsl:node -set($VarR eplacement sAsXML)" / >
        611  
        612        <!--  Map common  character s -->
        613        <!--                          -->
        614        <wwex sldoc:Mapp ingContext >
        615         <xsl :copy-of s elect="$Gl obalMapEnt rySets/wwe xsldoc:Map EntrySets/ wwexsldoc: MapEntrySe t[@name =  'common']/ wwexsldoc: MapEntry"  />
        616  
        617         <!--  Invoke pa ge templat e -->
        618         <!--                         -->
        619         <xsl :apply-tem plates sel ect="$Glob alPageTemp late" mode ="wwmode:p agetemplat e">
        620          <xs l:with-par am name="P aramOutput DirectoryP ath" selec t="$VarOut putDirecto ryPath" />
        621          <xs l:with-par am name="P aramOutput Path" sele ct="$Param Split/@pat h" />
        622          <xs l:with-par am name="P aramCondit ions" sele ct="$VarCo nditions"  />
        623          <xs l:with-par am name="P aramReplac ements" se lect="$Var Replacemen ts" />
        624         </xs l:apply-te mplates>
        625        </wwe xsldoc:Map pingContex t>
        626       </xsl: for-each>
        627      </xsl:v ariable>
        628  
        629      <!-- Ab orted? -->
        630      <!--           -->
        631      <xsl:if  test="not (wwprogres s:Abort()) ">
        632       <xsl:v ariable na me="VarRes ult" selec t="msxsl:n ode-set($V arResultAs XML)" />
        633       <xsl:v ariable na me="VarWri teResult"  select="ww exsldoc:Do cument($Va rResult, $ ParamSplit /@path, ww projext:Ge tFormatSet ting('enco ding', 'ut f-8'), 'xm l', '1.0',  'yes', 'y es', 'no') " />
        634      </xsl:i f>
        635     </xsl:if >
        636  
        637     <!-- Abo rted? -->
        638     <!--           -->
        639     <xsl:if  test="not( wwprogress :Abort())" >
        640      <!-- Re cord files  -->
        641      <!--                -->
        642      <wwfile s:File pat h="{$Param Split/@pat h}" type=" {$Paramete rType}" ch ecksum="{w wfilesyste m:GetCheck sum($Param Split/@pat h)}" proje ctchecksum ="{$Global Project/ww project:Pr oject/@Cha ngeID}" gr oupID="{$P aramSplit/ @groupID}"  documentI D="{$Param Split/@doc umentID}"  actionchec ksum="{$Gl obalAction Checksum}"  category= "{$Paramet erCategory }" use="{$ ParameterU se}" deplo y="{$Param eterDeploy }">
        643       <wwfil es:Depends  path="{$G lobalLocal ePath}" ch ecksum="{w wfilesyste m:GetCheck sum($Globa lLocalePat h)}" group ID="" docu mentID=""  />
        644       <wwfil es:Depends  path="{$G lobalMapEn trySetsPat h}" checks um="{wwfil esystem:Ge tChecksum( $GlobalMap EntrySetsP ath)}" gro upID="" do cumentID=" " />
        645       <wwfil es:Depends  path="{$G lobalPageT emplatePat h}" checks um="{wwfil esystem:Ge tChecksum( $GlobalPag eTemplateP ath)}" gro upID="" do cumentID=" " />
        646       <wwfil es:Depends  path="{$G lobalProje ctVariable sPath}" ch ecksum="{w wfilesyste m:GetCheck sum($Globa lProjectVa riablesPat h)}" group ID="" docu mentID=""  />
        647       <wwfil es:Depends  path="{$P aramFilesD ocumentNod e/@path}"  checksum=" {$ParamFil esDocument Node/@chec ksum}" gro upID="{$Pa ramFilesDo cumentNode /@groupID} " document ID="{$Para mFilesDocu mentNode/@ documentID }" />
        648       <wwfil es:Depends  path="{$P aramFilesS plits/@pat h}" checks um="{$Para mFilesSpli ts/@checks um}" group ID="{$Para mFilesSpli ts/@groupI D}" docume ntID="{$Pa ramFilesSp lits/@docu mentID}" / >
        649       <wwfil es:Depends  path="{$P aramBehavi orsFile/@p ath}" chec ksum="{$Pa ramBehavio rsFile/@ch ecksum}" g roupID="{$ ParamBehav iorsFile/@ groupID}"  documentID ="{$ParamB ehaviorsFi le/@docume ntID}" />
        650      </wwfil es:File>
        651     </xsl:if >
        652    </xsl:tem plate>
        653   </xsl:styl esheet>