26. Araxis Merge File Comparison Report

Produced by Araxis Merge on Thu Oct 16 22:29:57 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.

26.1 Files compared

# Location File Last Modified
1 C:\Documents and Settings\lauren\Desktop\ww-version-snapshots\ww-version-snapshots\2008.2\WebWorks\ePublisher Pro\Formats\Shared\common\pages pagetemplate.xsl Fri Apr 28 23:53:36 2006 UTC
2 C:\Documents and Settings\lauren\Desktop\ww-version-snapshots\ww-version-snapshots\2008.3\WebWorks\ePublisher Pro\Formats\Shared\common\pages pagetemplate.xsl Mon Oct 13 05:52:00 2008 UTC

26.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 25 660
Changed 14 67
Inserted 8 57
Removed 2 10

26.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

26.4 Active regular expressions

No regular expressions were active.

26.5 Comparison detail

1   <?xml vers ion="1.0"  encoding=" UTF-8"?>   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"   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 "   3                                    xmlns:html ="http://w ww.w3.org/ 1999/xhtml "
4                                    xmlns:xsl= "http://ww w.w3.org/1 999/XSL/Tr ansform"   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"   5                                    xmlns:msxs l="urn:sch emas-micro soft-com:x slt"
6                                    xmlns:wwmo de="urn:We bWorks-Eng ine-Mode"   6                                    xmlns:wwmo de="urn:We bWorks-Eng ine-Mode"
7                                    xmlns:wwli nks="urn:W ebWorks-En gine-Links -Schema"   7                                    xmlns:wwli nks="urn:W ebWorks-En gine-Links -Schema"
8                                    xmlns:wwfi les="urn:W ebWorks-En gine-Files -Schema"   8                                    xmlns:wwfi les="urn:W ebWorks-En gine-Files -Schema"
9                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"   9                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"
10                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"   10                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"
11                                    xmlns:wwto c="urn:Web Works-Engi ne-TOC-Sch ema"   11                                    xmlns:wwto c="urn:Web Works-Engi ne-TOC-Sch ema"
12                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"   12                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"
13                                    xmlns:wwpa ge="urn:We bWorks-Pag e-Template -Schema"   13                                    xmlns:wwpa ge="urn:We bWorks-Pag e-Template -Schema"
14                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"   14                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"
15                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"   15                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"
16                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"   16                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"
17                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"   17                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"
18                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"   18                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"
19                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"   19                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"
20                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"   20                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"
21                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"   21                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"
22                                    exclude-re sult-prefi xes="xsl w wmode msxs l wwlinks  wwfiles ww doc wwspli ts wwtoc w wproject w wpage wwpr ogress wwl og wwfiles ystem wwur i wwstring  wwfilesex t wwprojex t wwexsldo c"   22                                    exclude-re sult-prefi xes="xsl w wmode msxs l wwlinks  wwfiles ww doc wwspli ts wwtoc w wproject w wpage wwpr ogress wwl og wwfiles ystem wwur i wwstring  wwfilesex t wwprojex t wwexsldo c"
23   >   23   >
24    <xsl:key  name="wwpa ge-files-b y-path" ma tch="wwpag e:File" us e="@path"  />   24    <xsl:key  name="wwpa ge-files-b y-path" ma tch="wwpag e:File" us e="@path"  />
25    <xsl:key  name="wwpa ge-conditi ons-by-nam e" match=" wwpage:Con dition" us e="@name"  />   25    <xsl:key  name="wwpa ge-conditi ons-by-nam e" match=" wwpage:Con dition" us e="@name"  />
26     26  
27     27  
28    <xsl:temp late match ="/" mode= "wwmode:pa getemplate -files">   28    <xsl:temp late match ="/" mode= "wwmode:pa getemplate -files">
29     <!-- Loc ate 'copy- relative-t o-output'  action att ributes -- >   29     <!-- Loc ate 'copy- relative-t o-output'  action att ributes -- >
30     <!--                                                         -- >   30     <!--                                                         -- >
31     <xsl:var iable name ="VarPageT emplateFil esAsXML">   31     <xsl:var iable name ="VarPageT emplateFil esAsXML">
32      <xsl:fo r-each sel ect="//*[@ wwpage:*]" >   32      <xsl:fo r-each sel ect="//*[@ wwpage:*]" >
33       <xsl:v ariable na me="VarNod e" select= "." />   33       <xsl:v ariable na me="VarNod e" select= "." />
34     34  
35       <xsl:f or-each se lect="$Var Node/@*[st arts-with( name(), 'w wpage:attr ibute-')]" >   35       <xsl:f or-each se lect="$Var Node/@*[st arts-with( name(), 'w wpage:attr ibute-')]" >
36        <xsl: variable n ame="VarAc tionAttrib ute" selec t="." />   36        <xsl: variable n ame="VarAc tionAttrib ute" selec t="." />
37        <xsl: if test="$ VarActionA ttribute =  'copy-rel ative-to-o utput'">   37        <xsl: if test="$ VarActionA ttribute =  'copy-rel ative-to-o utput'">
38         <!--  Report fi le -->   38         <!--  Report fi le -->
39         <!--               -->   39         <!--               -->
40         <xsl :variable  name="VarA ttributeNa me" select ="substrin g-after(na me($VarAct ionAttribu te), 'wwpa ge:attribu te-')" />   40         <xsl :variable  name="VarA ttributeNa me" select ="substrin g-after(na me($VarAct ionAttribu te), 'wwpa ge:attribu te-')" />
41         <xsl :variable  name="VarA ttribute"  select="$V arNode/@*[ name() = $ VarAttribu teName][1] " />   41         <xsl :variable  name="VarA ttribute"  select="$V arNode/@*[ name() = $ VarAttribu teName][1] " />
42         <xsl :for-each  select="$V arAttribut e">   42         <xsl :for-each  select="$V arAttribut e">
43          <ww page:File  path="{$Va rAttribute }" />   43          <ww page:File  path="{$Va rAttribute }" />
44         </xs l:for-each >   44         </xs l:for-each >
45        </xsl :if>   45        </xsl :if>
46       </xsl: for-each>   46       </xsl: for-each>
47      </xsl:f or-each>   47      </xsl:f or-each>
48     </xsl:va riable>   48     </xsl:va riable>
49     <xsl:var iable name ="VarPageT emplateFil es" select ="msxsl:no de-set($Va rPageTempl ateFilesAs XML)" />   49     <xsl:var iable name ="VarPageT emplateFil es" select ="msxsl:no de-set($Va rPageTempl ateFilesAs XML)" />
50     50  
51     <!-- Eli minate dup licates -- >   51     <!-- Eli minate dup licates -- >
52     <!--                        -- >   52     <!--                        -- >
53     <xsl:for -each sele ct="$VarPa geTemplate Files/wwpa ge:File">   53     <xsl:for -each sele ct="$VarPa geTemplate Files/wwpa ge:File">
54      <xsl:va riable nam e="VarPage TemplateFi le" select ="." />   54      <xsl:va riable nam e="VarPage TemplateFi le" select ="." />
55     55  
56      <xsl:va riable nam e="VarPage TemplateFi lesWithPat h" select= "key('wwpa ge-files-b y-path', $ VarPageTem plateFile/ @path)" />   56      <xsl:va riable nam e="VarPage TemplateFi lesWithPat h" select= "key('wwpa ge-files-b y-path', $ VarPageTem plateFile/ @path)" />
57      <xsl:if  test="cou nt($VarPag eTemplateF ilesWithPa th[1] | $V arPageTemp lateFile)  = 1">   57      <xsl:if  test="cou nt($VarPag eTemplateF ilesWithPa th[1] | $V arPageTemp lateFile)  = 1">
58       <xsl:c opy-of sel ect="$VarP ageTemplat eFile" />   58       <xsl:c opy-of sel ect="$VarP ageTemplat eFile" />
59      </xsl:i f>   59      </xsl:i f>
60     </xsl:fo r-each>   60     </xsl:fo r-each>
61    </xsl:tem plate>   61    </xsl:tem plate>
62     62  
63     63  
64    <xsl:temp late match ="/" mode= "wwmode:pa getemplate ">   64    <xsl:temp late match ="/" mode= "wwmode:pa getemplate ">
65     <xsl:par am name="P aramOutput DirectoryP ath" />   65     <xsl:par am name="P aramOutput DirectoryP ath" />
66     <xsl:par am name="P aramOutput Path" />   66     <xsl:par am name="P aramOutput Path" />
67     <xsl:par am name="P aramCondit ions" />   67     <xsl:par am name="P aramCondit ions" />
68     <xsl:par am name="P aramReplac ements" />   68     <xsl:par am name="P aramReplac ements" />
69     69  
70     <xsl:app ly-templat es select= "node() |  text() | c omment() |  processin g-instruct ion()" mod e="wwmode: pagetempla te">   70     <xsl:app ly-templat es select= "node() |  text() | c omment() |  processin g-instruct ion()" mod e="wwmode: pagetempla te">
71      <xsl:wi th-param n ame="Param OutputDire ctoryPath"  select="$ ParamOutpu tDirectory Path" />   71      <xsl:wi th-param n ame="Param OutputDire ctoryPath"  select="$ ParamOutpu tDirectory Path" />
72      <xsl:wi th-param n ame="Param OutputPath " select=" $ParamOutp utPath" />   72      <xsl:wi th-param n ame="Param OutputPath " select=" $ParamOutp utPath" />
73      <xsl:wi th-param n ame="Param Conditions " select=" $ParamCond itions" />   73      <xsl:wi th-param n ame="Param Conditions " select=" $ParamCond itions" />
74      <xsl:wi th-param n ame="Param Replacemen ts" select ="$ParamRe placements " />   74      <xsl:wi th-param n ame="Param Replacemen ts" select ="$ParamRe placements " />
75     </xsl:ap ply-templa tes>   75     </xsl:ap ply-templa tes>
76    </xsl:tem plate>   76    </xsl:tem plate>
77     77  
78     78  
79    <xsl:temp late match ="*" mode= "wwmode:pa getemplate -copynodes ">   79    <xsl:temp late match ="*" mode= "wwmode:pa getemplate -copynodes ">
80     <xsl:var iable name ="VarNode"  select=". " />   80     <xsl:var iable name ="VarNode"  select=". " />
81     81  
82     <xsl:ele ment name= "{local-na me($VarNod e)}" names pace="{nam espace-uri ($VarNode) }">   82     <xsl:ele ment name= "{local-na me($VarNod e)}" names pace="{nam espace-uri ($VarNode) }">
83      <xsl:co py-of sele ct="@*" />   83      <xsl:co py-of sele ct="@*" />
84     84  
85      <xsl:ap ply-templa tes mode=" wwmode:pag etemplate- copynodes"  />   85      <xsl:ap ply-templa tes mode=" wwmode:pag etemplate- copynodes"  />
86     </xsl:el ement>   86     </xsl:el ement>
87    </xsl:tem plate>   87    </xsl:tem plate>
88     88  
89     89  
90    <xsl:temp late match ="text() |  comment()  | process ing-instru ction()" m ode="wwmod e:pagetemp late-copyn odes">   90    <xsl:temp late match ="text() |  comment()  | process ing-instru ction()" m ode="wwmod e:pagetemp late-copyn odes">
91     <xsl:cop y />   91     <xsl:cop y />
92    </xsl:tem plate>   92    </xsl:tem plate>
93     93  
94     94  
95    <xsl:temp late name= "PageTempl ate-Replac eContent">   95    <xsl:temp late name= "PageTempl ate-Replac eContent">
96     <xsl:par am name="P aramConten tName" />   96     <xsl:par am name="P aramConten tName" />
97     <xsl:par am name="P aramReplac ements" />   97     <xsl:par am name="P aramReplac ements" />
98     98  
99     <xsl:var iable name ="VarRepla cement" se lect="$Par amReplacem ents/wwpag e:Replacem ent[@name  = $ParamCo ntentName] [1]" />   99     <xsl:var iable name ="VarRepla cement" se lect="$Par amReplacem ents/wwpag e:Replacem ent[@name  = $ParamCo ntentName] [1]" />
100      <xsl: if   test="coun t($VarRepl acement)   =   1">   100     <xsl:cho ose>
        101       <xsl: when   test="coun t($VarRepl acement)   =   1">
101      <xsl:ch oose>   102       <xsl:c hoose>
102       <xsl:w hen test=" $VarReplac ement/@val ue">   103        <xsl: when test= "$VarRepla cement/@va lue">
103        <xsl: value-of s elect="$Va rReplaceme nt/@value"  />   104         <xsl :value-of  select="$V arReplacem ent/@value " />
104       </xsl: when>   105        </xsl :when>
105     106  
106       <xsl:o therwise>   107        <xsl: otherwise>
107        <xsl: apply-temp lates sele ct="$VarRe placement/ node() | $ VarReplace ment/text( ) | $VarRe placement/ comment()  | $VarRepl acement/pr ocessing-i nstruction ()" mode=" wwmode:pag etemplate- copynodes"  />   108         <xsl :apply-tem plates sel ect="$VarR eplacement /node() |  $VarReplac ement/text () | $VarR eplacement /comment()  | $VarRep lacement/p rocessing- instructio n()" mode= "wwmode:pa getemplate -copynodes " />
108       </xsl: otherwise>   109        </xsl :otherwise >
109      </xsl:c hoose>   110       </xsl: choose>
        111      </xsl:w hen>
        112  
        113      <xsl:ot herwise>
        114       <!-- C heck for s ettings -- >
        115       <!--                      -- >
        116       <xsl:i f test="st arts-with( $ParamCont entName, ' wwsetting: ')">
        117        <xsl: value-of s elect="wwp rojext:Get FormatSett ing(substr ing-after( $ParamCont entName, ' wwsetting: '))" />
110     </xsl:if >   118       </xsl: if>
        119      </xsl:o therwise>
        120     </xsl:ch oose>
111    </xsl:tem plate>   121    </xsl:tem plate>
112     122  
113     123  
114    <xsl:temp late name= "PageTempl ate-Replac eAttribute s">   124    <xsl:temp late name= "PageTempl ate-Replac eAttribute s">
115     <xsl:par am name="P aramOutput DirectoryP ath" />   125     <xsl:par am name="P aramOutput DirectoryP ath" />
116     <xsl:par am name="P aramOutput Path" />   126     <xsl:par am name="P aramOutput Path" />
117     <xsl:par am name="P aramAttrib utes" />   127     <xsl:par am name="P aramAttrib utes" />
118     <xsl:par am name="P aramReplac ements" />   128     <xsl:par am name="P aramReplac ements" />
119     129  
120     <!-- Ext ract actio n attribut es -->   130     <!-- Ext ract actio n attribut es -->
121     <!--                                   -- >   131     <!--                                   -- >
122     <xsl:var iable name ="VarActio nAttribute sAsXML">   132     <xsl:var iable name ="VarActio nAttribute sAsXML">
123      <xsl:fo r-each sel ect="$Para mAttribute s[starts-w ith(name() , 'wwpage: attribute- ')]">   133      <xsl:fo r-each sel ect="$Para mAttribute s[starts-w ith(name() , 'wwpage: attribute- ')]">
124       <xsl:v ariable na me="VarAtt ribute" se lect="." / >   134       <xsl:v ariable na me="VarAtt ribute" se lect="." / >
125     135  
126       <wwpag e:ActionAt tribute na me="{trans late(subst ring-after (name($Var Attribute) , 'wwpage: attribute- '), '-', ' :')}" acti on="{$VarA ttribute}"  />   136       <wwpag e:ActionAt tribute na me="{trans late(subst ring-after (name($Var Attribute) , 'wwpage: attribute- '), '-', ' :')}" acti on="{$VarA ttribute}"  />
127      </xsl:f or-each>   137      </xsl:f or-each>
128     </xsl:va riable>   138     </xsl:va riable>
129     <xsl:var iable name ="VarActio nAttribute s" select= "msxsl:nod e-set($Var ActionAttr ibutesAsXM L)" />   139     <xsl:var iable name ="VarActio nAttribute s" select= "msxsl:nod e-set($Var ActionAttr ibutesAsXM L)" />
130     140  
131     <!-- Emi t new attr ibutes -->   141     <!-- Emi t new attr ibutes -->
132     <!--                       -->   142     <!--                       -->
133     <xsl:for -each sele ct="$Param Attributes [not(start s-with(nam e(), 'wwpa ge:attribu te-'))]">   143     <xsl:for -each sele ct="$Param Attributes [not(start s-with(nam e(), 'wwpa ge:attribu te-'))]">
134      <xsl:va riable nam e="VarAttr ibute" sel ect="." />   144      <xsl:va riable nam e="VarAttr ibute" sel ect="." />
135     145  
136      <xsl:va riable nam e="VarActi onAttribut e" select= "$VarActio nAttribute s/wwpage:A ctionAttri bute[@name  = name($V arAttribut e)][1]" />   146      <xsl:va riable nam e="VarActi onAttribut e" select= "$VarActio nAttribute s/wwpage:A ctionAttri bute[@name  = name($V arAttribut e)][1]" />
137      <xsl:ch oose>   147      <xsl:ch oose>
138       <xsl:w hen test=" count($Var ActionAttr ibute) = 1 ">   148       <xsl:w hen test=" count($Var ActionAttr ibute) = 1 ">
139        <!--  Determine  replacemen t value -- >   149        <!--  Determine  replacemen t value -- >
140        <!--                                -- >   150        <!--                                -- >
141        <xsl: choose>   151        <xsl: choose>
142         <xsl :when test ="($VarAct ionAttribu te/@action  = 'copy-r elative-to -output')  or ($VarAc tionAttrib ute/@actio n = 'relat ive-to-out put')">   152         <xsl :when test ="($VarAct ionAttribu te/@action  = 'copy-r elative-to -output')  or ($VarAc tionAttrib ute/@actio n = 'relat ive-to-out put')">
143           <xsl:varia ble   name="VarA bsoluteOut put URI "   select="ww uri:MakeAb solute(ww filesystem :Combine($ ParamOutpu tDirectory Path,   'dummy.com ponent'),   $VarAttrib ute)"   />   153           <xsl:varia ble   name="VarA bsoluteOut put Path "   select="ww
filesystem :Combine($ ParamOutpu tDirectory Path,  
$VarAttrib ute)"   />
144           <xsl:varia ble   name="VarR elativeOut putURI"   select="ww uri:GetRel ativeTo($V arAbsolute Output URI ,   $ParamOutp utPath)"   />   154           <xsl:varia ble   name="VarR elativeOut putURI"   select="ww uri:GetRel ativeTo($V arAbsolute Output Path ,   $ParamOutp utPath)"   />
145     155  
146          <ww page:Attri bute name= "{name($Va rAttribute )}" value= "{$VarRela tiveOutput URI}" />   156          <ww page:Attri bute name= "{name($Va rAttribute )}" value= "{$VarRela tiveOutput URI}" />
147         </xs l:when>   157         </xs l:when>
148     158  
149         <xsl :otherwise >   159         <xsl :otherwise >
150          <xs l:variable  name="Var Replacemen t" select= "$ParamRep lacements/ wwpage:Rep lacement[@ name = $Va rActionAtt ribute/@ac tion][1]"  />   160          <xs l:variable  name="Var Replacemen t" select= "$ParamRep lacements/ wwpage:Rep lacement[@ name = $Va rActionAtt ribute/@ac tion][1]"  />
151           <xsl: if   test="coun t($VarRepl acement)   =   1">   161          <xs l:choose>
        162            <xsl: when   test="coun t($VarRepl acement)   =   1">
152           <w wpage:Attr ibute name ="{name($V arAttribut e)}">   163            < wwpage:Att ribute nam e="{name($ VarAttribu te)}">
153            < xsl:attrib ute name=" value">   164              <xsl:attri bute name= "value">
154              <xsl:choos e>   165               <xsl:choo se>
155               <xsl:when  test="str ing-length ($VarRepla cement/@va lue) &gt;  0">   166                <xsl:whe n test="st ring-lengt h($VarRepl acement/@v alue) &gt;  0">
156                <xsl:val ue-of sele ct="$VarRe placement/ @value" />   167                 <xsl:va lue-of sel ect="$VarR eplacement /@value" / >
157               </xsl:whe n>   168                </xsl:wh en>
158     169  
159               <xsl:othe rwise>   170                <xsl:oth erwise>
160                <xsl:for -each sele ct="$VarRe placement/ text()">   171                 <xsl:fo r-each sel ect="$VarR eplacement /text()">
161                 <xsl:va lue-of sel ect="norma lize-space (.)" />   172                  <xsl:v alue-of se lect="norm alize-spac e(.)" />
162                </xsl:fo r-each>   173                 </xsl:f or-each>
163               </xsl:oth erwise>   174                </xsl:ot herwise>
164              </xsl:choo se>   175               </xsl:cho ose>
165            < /xsl:attri bute>   176              </xsl:attr ibute>
166           </ wwpage:Att ribute>   177            < /wwpage:At tribute>
        178           </ xsl:when>
        179  
        180           <x sl:otherwi se>
        181            < !-- Check  for settin gs -->
        182            < !--                      -->
        183            < xsl:if tes t="starts- with($VarA ctionAttri bute/@acti on, 'wwset ting:')">
        184              <wwpage:At tribute na me="{name( $VarAttrib ute)}" val ue="{wwpro jext:GetFo rmatSettin g(substrin g-after($V arActionAt tribute/@a ction, 'ww setting:') )}" />
167          </x sl:if>   185            < /xsl:if>
168         </xs l:otherwis e>   186           </ xsl:otherw ise>
169        </xsl :choose>   187          </x sl:choose>
        188         </xs l:otherwis e>
        189        </xsl :choose>
170       </xsl: when>   190       </xsl: when>
171     191  
172       <xsl:o therwise>   192       <xsl:o therwise>
173        <!--  Keep previ ous value  -->   193        <!--  Keep previ ous value  -->
174        <!--                        -->   194        <!--                        -->
175        <wwpa ge:Attribu te name="{ name($VarA ttribute)} " value="{ $VarAttrib ute}" />   195        <wwpa ge:Attribu te name="{ name($VarA ttribute)} " value="{ $VarAttrib ute}" />
176       </xsl: otherwise>   196       </xsl: otherwise>
177      </xsl:c hoose>   197      </xsl:c hoose>
178     </xsl:fo r-each>   198     </xsl:fo r-each>
179    </xsl:tem plate>   199    </xsl:tem plate>
180     200  
181     201  
182    <xsl:temp late match ="*[@wwpag e:replace] " mode="ww mode:paget emplate">   202    <xsl:temp late match ="*[(strin g-length(@ wwpage:con tent) &gt;  0) or (st ring-lengt h(@wwpage: replace) & gt; 0)] |  wwpage:*[( string-len gth(@wwpag e:content)  &gt; 0) o r (string- length(@ww page:repla ce) &gt; 0 )]" mode=" wwmode:pag etemplate" >
183     <xsl:par am name="P aramOutput DirectoryP ath" />   203     <xsl:par am name="P aramOutput DirectoryP ath" />
184     <xsl:par am name="P aramOutput Path" />   204     <xsl:par am name="P aramOutput Path" />
185     <xsl:par am name="P aramCondit ions" />   205     <xsl:par am name="P aramCondit ions" />
186      <xsl:param   name="Para mReplaceme nts"  
/>
  206      <xsl:param   name="Para mReplaceme nts"   select="ms xsl:node-s et('')"   />
187     207  
188     <xsl:var iable name ="VarNode"  select=". " />   208     <xsl:var iable name ="VarNode"  select=". " />
189     209  
190     <!-- Eva luate cond ition -->   210     <!-- Eva luate cond ition -->
191     <!--                      -->   211     <!--                      -->
192     <xsl:for -each sele ct="$Param Conditions [1]">   212     <xsl:for -each sele ct="$Param Conditions [1]">
193      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">   213      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">
194        <!--   Con te n t  
-->
  214        <!--   Fil te r   a t tributes   -->
195       <!--          -->   215       <!--                     -->
196        <xsl:call- template   name="Page Template-R eplace Con t en t
">
  216       <xsl:v ariable na me="VarAtt ributesAsX ML">
197         <xsl:with- param   name="Para m Con t en t Nam e
"   select="$V arNode/@
wwpage:rep lace
"   />
  217         <xsl:call- template   name="Page Template-R eplace A t
t ributes ">
        218         <xsl :with-para m name="Pa ramOutputD irectoryPa th" select ="$ParamOu tputDirect oryPath" / >
        219         <xsl :with-para m name="Pa ramOutputP ath" selec t="$ParamO utputPath"  />
        220          <xsl:with- param   name="Para m A t
t ribut e s "   select="$V arNode/@ *[(name()   !=   'wwpage:co ntent')   and   (name()   !=   ' wwpage:rep lace ')   and   (name()   !=   'wwpage:co ndition')] "   />
198        <xsl: with-param  name="Par amReplacem ents" sele ct="$Param Replacemen ts" />   221         <xsl :with-para m name="Pa ramReplace ments" sel ect="$Para mReplaceme nts" />
199       </xsl: call-templ ate>   222        </xsl :call-temp late>
200       </xsl:
i f >
  223        </xsl: var i able >
        224       <xsl:v ariable na me="VarAtt ributes" s elect="msx sl:node-se t($VarAttr ibutesAsXM L)" />
        225  
        226       <!-- E xtend repl acements w ith attrib ute values  -->
        227       <!--                                                -->
        228       <xsl:v ariable na me="VarRep lacementsA sXML">
        229        <!--  Copy exist ing replac ements -->
        230        <!--                               -->
        231        <xsl: for-each s elect="$Pa ramReplace ments">
        232         <xsl :variable  name="VarR eplacement " select=" ." />
        233  
        234         <xsl :copy-of s elect="$Va rReplaceme nt" />
201     </xsl:fo r-each>   235        </xsl :for-each>
202    </xsl:tem plate>        
203     236  
        237        <!--  Add attrib ute replac ements -->
        238        <!--                               -->
        239        <xsl: for-each s elect="$Va rAttribute s/wwpage:A ttribute">
        240         <xsl :variable  name="VarA ttribute"  select="."  />
204     241  
205    <xsl:temp late match ="*[@wwpag e:content  and not(@w wpage:repl ace)]" mod e="wwmode: pagetempla te">   242         <wwp age:Replac ement name ="wwattrib ute:{$VarA ttribute/@ name}" val ue="{$VarA ttribute/@ value}" />
206     <xsl:par am name="P aramOutput DirectoryP ath" />   243        </xsl :for-each>
207     <xsl:par am name="P aramOutput Path" />   244       </xsl: variable>
208     <xsl:par am name="P aramCondit ions" />   245        <xsl: v ar i a ble   name=" V ar Repl a ce m ents"   select="ms xsl:node-s et($Var Replacemen ts AsXML) "   />
209      <xsl: p ar
a m   name=" P ar
a
m
Replacemen ts
"   />
       
210     246  
211      <xsl: v ar i a ble   name=" V ar Nod e
"   select=" . "   />
  247       <!-- H andle wwpa ge:content  or wwpage :replace - ->
        248       <!--                                             - ->
        249       <xsl:c hoose>
        250        <!--  wwpage:rep lace                                      - ->
        251        <!--  Suppress e mission of  wwpage:*  elements i n result - ->
        252        <!--                                                       - ->
        253        <xsl: when test= "(string-l ength($Var Node/@wwpa ge:replace ) &gt; 0)  or ((strin g-length($ VarNode/@w wpage:cont ent) &gt;  0) and (st arts-with( name($VarN ode), 'wwp age:')))">
        254         <xsl :call-temp late name= "PageTempl ate-Replac eContent">
        255          <xs l:with-par am name="P aramConten tName" sel ect="$VarN ode/@wwpag e:replace"  />
        256           <xsl: with-p ar
a m   name=" P ar amR e placements "   select=" $VarReplac ements "   />
        257         </xs l:call-tem plate>
        258        </xsl :when>
212     259  
213      <!--   Evalu a t e  
con di t io n  
-->
  260         <!--   wwp a g e : con
t e n t   -->
214     <!--                      -->   261        <!--                  -->
215     <xsl:for -each sele ct="$Param Conditions [1]">   262        <xsl: otherwise>
216      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">        
217       <!-- C opy elemen t -->   263         <!--  Copy elem ent -->
218       <!--                -->   264         <!--                -->
219       <xsl:e lement nam e="{local- name($VarN ode)}" nam espace="{n amespace-u ri($VarNod e)}">   265         <xsl :element n ame="{loca l-name($Va rNode)}" n amespace=" {namespace -uri($VarN ode)}">
220         <!--   Fil te r   attributes   -->   266           <!--   Upda te  
attributes   -->
221        <!--                     -- >   267          <!- -                     -->
222        <xsl: variable n ame="VarAt tributesAs XML">        
223         <xsl :call-temp late name= "PageTempl ate-Replac eAttribute s">        
224          <xs l:with-par am name="P aramOutput DirectoryP ath" selec t="$ParamO utputDirec toryPath"  />        
225          <xs l:with-par am name="P aramOutput Path" sele ct="$Param OutputPath " />        
226          <xs l:with-par am name="P aramAttrib utes" sele ct="$VarNo de/@*[(nam e() != 'ww page:conte nt') and ( name() !=  'wwpage:co ndition')] " />        
227          <xs l:with-par am name="P aramReplac ements" se lect="$Par amReplacem ents" />        
228         </xs l:call-tem plate>        
229        </xsl :variable>        
230        <xsl: variable n ame="VarAt tributes"  select="ms xsl:node-s et($VarAtt ributesAsX ML)" />        
231        <xsl: for-each s elect="$Va rAttribute s/wwpage:A ttribute">   268          <xs l:for-each  select="$ VarAttribu tes/wwpage :Attribute ">
232         <xsl :variable  name="VarA ttribute"  select="."  />   269           <x sl:variabl e name="Va rAttribute " select=" ." />
233     270  
234         <xsl :attribute  name="{$V arAttribut e/@name}">   271           <x sl:attribu te name="{ $VarAttrib ute/@name} ">
235          <xs l:value-of  select="$ VarAttribu te/@value"  />   272            < xsl:value- of select= "$VarAttri bute/@valu e" />
236         </xs l:attribut e>   273           </ xsl:attrib ute>
237        </xsl :for-each>   274          </x sl:for-eac h>
238     275  
239        <!--  Content -- >   276          <!- - Content  -->
240        <!--          -- >   277          <!- -          -->
241        <xsl: call-templ ate name=" PageTempla te-Replace Content">   278          <xs l:call-tem plate name ="PageTemp late-Repla ceContent" >
242         <xsl :with-para m name="Pa ramContent Name" sele ct="$VarNo de/@wwpage :content"  />   279           <x sl:with-pa ram name=" ParamConte ntName" se lect="$Var Node/@wwpa ge:content " />
243          <xsl:with- param   name="Para mReplaceme nts"   select="$ P ar am Replacemen ts"   />   280            <xsl:with- param   name="Para mReplaceme nts"   select="$ V ar
Replacemen ts"   />
244        </xsl :call-temp late>   281          </x sl:call-te mplate>
245       </xsl: element>   282         </xs l:element>
        283        </xsl :otherwise >
        284       </xsl: choose>
        285      </xsl:i f>
        286     </xsl:fo r-each>
        287    </xsl:tem plate>
        288  
        289  
        290    <xsl:temp late match ="wwpage:* " mode="ww mode:paget emplate">
        291     <xsl:par am name="P aramOutput DirectoryP ath" />
        292     <xsl:par am name="P aramOutput Path" />
        293     <xsl:par am name="P aramCondit ions" />
        294     <xsl:par am name="P aramReplac ements" />
        295  
        296     <xsl:var iable name ="VarNode"  select=". " />
        297  
        298     <!-- Eva luate cond ition -->
        299     <!--                      -->
        300     <xsl:for -each sele ct="$Param Conditions [1]">
        301      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">
        302       <!-- S uppress em ission of  wwpage:* e lements in  result -- >
        303       <!--                                                       -- >
        304  
        305       <!-- P rocess chi ldren -->
        306       <!--                    -->
        307       <xsl:v ariable na me="VarChi ldren" sel ect="$VarN ode/node()  | $VarNod e/text() |  $VarNode/ comment()  | $VarNode /processin g-instruct ion()" />
        308       <xsl:a pply-templ ates selec t="$VarChi ldren" mod e="wwmode: pagetempla te">
        309        <xsl: with-param  name="Par amOutputDi rectoryPat h" select= "$ParamOut putDirecto ryPath" />
        310        <xsl: with-param  name="Par amOutputPa th" select ="$ParamOu tputPath"  />
        311        <xsl: with-param  name="Par amConditio ns" select ="$ParamCo nditions"  />
        312        <xsl: with-param  name="Par amReplacem ents" sele ct="$Param Replacemen ts" />
        313       </xsl: apply-temp lates>
246      </xsl:i f>   314      </xsl:i f>
247     </xsl:fo r-each>   315     </xsl:fo r-each>
248    </xsl:tem plate>   316    </xsl:tem plate>
249     317  
250     318  
251    <xsl:temp late match ="*" mode= "wwmode:pa getemplate ">   319    <xsl:temp late match ="*" mode= "wwmode:pa getemplate ">
252     <xsl:par am name="P aramOutput DirectoryP ath" />   320     <xsl:par am name="P aramOutput DirectoryP ath" />
253     <xsl:par am name="P aramOutput Path" />   321     <xsl:par am name="P aramOutput Path" />
254     <xsl:par am name="P aramCondit ions" />   322     <xsl:par am name="P aramCondit ions" />
255     <xsl:par am name="P aramReplac ements" />   323     <xsl:par am name="P aramReplac ements" />
256     324  
257     <xsl:var iable name ="VarNode"  select=". " />   325     <xsl:var iable name ="VarNode"  select=". " />
258     326  
259     <!-- Eva luate cond ition -->   327     <!-- Eva luate cond ition -->
260     <!--                      -->   328     <!--                      -->
261     <xsl:for -each sele ct="$Param Conditions [1]">   329     <xsl:for -each sele ct="$Param Conditions [1]">
262      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">   330      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">
263       <!-- F ilter attr ibutes -->   331       <!-- F ilter attr ibutes -->
264       <!--                     -->   332       <!--                     -->
265       <xsl:v ariable na me="VarAtt ributesAsX ML">   333       <xsl:v ariable na me="VarAtt ributesAsX ML">
266        <xsl: call-templ ate name=" PageTempla te-Replace Attributes ">   334        <xsl: call-templ ate name=" PageTempla te-Replace Attributes ">
267         <xsl :with-para m name="Pa ramOutputD irectoryPa th" select ="$ParamOu tputDirect oryPath" / >   335         <xsl :with-para m name="Pa ramOutputD irectoryPa th" select ="$ParamOu tputDirect oryPath" / >
268         <xsl :with-para m name="Pa ramOutputP ath" selec t="$ParamO utputPath"  />   336         <xsl :with-para m name="Pa ramOutputP ath" selec t="$ParamO utputPath"  />
269         <xsl :with-para m name="Pa ramAttribu tes" selec t="$VarNod e/@*[name( ) != 'wwpa ge:conditi on']" />   337         <xsl :with-para m name="Pa ramAttribu tes" selec t="$VarNod e/@*[name( ) != 'wwpa ge:conditi on']" />
270         <xsl :with-para m name="Pa ramReplace ments" sel ect="$Para mReplaceme nts" />   338         <xsl :with-para m name="Pa ramReplace ments" sel ect="$Para mReplaceme nts" />
271        </xsl :call-temp late>   339        </xsl :call-temp late>
272       </xsl: variable>   340       </xsl: variable>
273       <xsl:v ariable na me="VarAtt ributes" s elect="msx sl:node-se t($VarAttr ibutesAsXM L)" />   341       <xsl:v ariable na me="VarAtt ributes" s elect="msx sl:node-se t($VarAttr ibutesAsXM L)" />
274     342  
275       <!-- P rocess -->   343       <!-- P rocess -->
276       <!--          -->   344       <!--          -->
277       <xsl:c hoose>   345       <xsl:c hoose>
278        <xsl: when test= "$VarNode/ node()[1]  | $VarNode /text()[1]  | $VarNod e/comment( )[1] | $Va rNode/proc essing-ins truction() [1]">   346        <xsl: when test= "$VarNode/ node()[1]  | $VarNode /text()[1]  | $VarNod e/comment( )[1] | $Va rNode/proc essing-ins truction() [1]">
279         <xsl :choose>   347         <xsl :choose>
280          <xs l:when tes t="count($ VarNode/@w wpage:*[na me() != 'w wpage:cond ition'][1] ) = 1">   348          <xs l:when tes t="count($ VarNode/@w wpage:*[na me() != 'w wpage:cond ition'][1] ) = 1">
281           <! -- Copy el ement -->   349           <! -- Copy el ement -->
282           <! --               -->   350           <! --               -->
283           <x sl:element  name="{lo cal-name($ VarNode)}"  namespace ="{namespa ce-uri($Va rNode)}">   351           <x sl:element  name="{lo cal-name($ VarNode)}"  namespace ="{namespa ce-uri($Va rNode)}">
284            < xsl:for-ea ch select= "$VarAttri butes/wwpa ge:Attribu te">   352            < xsl:for-ea ch select= "$VarAttri butes/wwpa ge:Attribu te">
285              <xsl:varia ble name=" VarAttribu te" select ="." />   353              <xsl:varia ble name=" VarAttribu te" select ="." />
286     354  
287              <xsl:attri bute name= "{$VarAttr ibute/@nam e}">   355              <xsl:attri bute name= "{$VarAttr ibute/@nam e}">
288               <xsl:valu e-of selec t="$VarAtt ribute/@va lue" />   356               <xsl:valu e-of selec t="$VarAtt ribute/@va lue" />
289              </xsl:attr ibute>   357              </xsl:attr ibute>
290            < /xsl:for-e ach>   358            < /xsl:for-e ach>
291     359  
        360            < !-- Proces s children  -->
        361            < !--                    -->
292            < xsl:variab le name="V arChildren " select=" $VarNode/n ode() | $V arNode/tex t() | $Var Node/comme nt() | $Va rNode/proc essing-ins truction() " />   362            < xsl:variab le name="V arChildren " select=" $VarNode/n ode() | $V arNode/tex t() | $Var Node/comme nt() | $Va rNode/proc essing-ins truction() " />
293            < xsl:apply- templates  select="$V arChildren " mode="ww mode:paget emplate">   363            < xsl:apply- templates  select="$V arChildren " mode="ww mode:paget emplate">
294              <xsl:with- param name ="ParamOut putDirecto ryPath" se lect="$Par amOutputDi rectoryPat h" />   364              <xsl:with- param name ="ParamOut putDirecto ryPath" se lect="$Par amOutputDi rectoryPat h" />
295              <xsl:with- param name ="ParamOut putPath" s elect="$Pa ramOutputP ath" />   365              <xsl:with- param name ="ParamOut putPath" s elect="$Pa ramOutputP ath" />
296              <xsl:with- param name ="ParamCon ditions" s elect="$Pa ramConditi ons" />   366              <xsl:with- param name ="ParamCon ditions" s elect="$Pa ramConditi ons" />
297              <xsl:with- param name ="ParamRep lacements"  select="$ ParamRepla cements" / >   367              <xsl:with- param name ="ParamRep lacements"  select="$ ParamRepla cements" / >
298            < /xsl:apply -templates >   368            < /xsl:apply -templates >
299           </ xsl:elemen t>   369           </ xsl:elemen t>
300          </x sl:when>   370          </x sl:when>
301     371  
302          <xs l:otherwis e>   372          <xs l:otherwis e>
303           <! -- Copy el ement -->   373           <! -- Copy el ement -->
304           <! --               -->   374           <! --               -->
305           <x sl:element  name="{lo cal-name($ VarNode)}"  namespace ="{namespa ce-uri($Va rNode)}">   375           <x sl:element  name="{lo cal-name($ VarNode)}"  namespace ="{namespa ce-uri($Va rNode)}">
306            < xsl:copy-o f select=" $VarNode/@ *[name() ! = 'wwpage: condition' ]" />   376            < xsl:copy-o f select=" $VarNode/@ *[name() ! = 'wwpage: condition' ]" />
307     377  
        378            < !-- Proces s children  -->
        379            < !--                    -->
308            < xsl:variab le name="V arChildren " select=" $VarNode/n ode() | $V arNode/tex t() | $Var Node/comme nt() | $Va rNode/proc essing-ins truction() " />   380            < xsl:variab le name="V arChildren " select=" $VarNode/n ode() | $V arNode/tex t() | $Var Node/comme nt() | $Va rNode/proc essing-ins truction() " />
309            < xsl:apply- templates  select="$V arChildren " mode="ww mode:paget emplate">   381            < xsl:apply- templates  select="$V arChildren " mode="ww mode:paget emplate">
310              <xsl:with- param name ="ParamOut putDirecto ryPath" se lect="$Par amOutputDi rectoryPat h" />   382              <xsl:with- param name ="ParamOut putDirecto ryPath" se lect="$Par amOutputDi rectoryPat h" />
311              <xsl:with- param name ="ParamOut putPath" s elect="$Pa ramOutputP ath" />   383              <xsl:with- param name ="ParamOut putPath" s elect="$Pa ramOutputP ath" />
312              <xsl:with- param name ="ParamCon ditions" s elect="$Pa ramConditi ons" />   384              <xsl:with- param name ="ParamCon ditions" s elect="$Pa ramConditi ons" />
313              <xsl:with- param name ="ParamRep lacements"  select="$ ParamRepla cements" / >   385              <xsl:with- param name ="ParamRep lacements"  select="$ ParamRepla cements" / >
314            < /xsl:apply -templates >   386            < /xsl:apply -templates >
315           </ xsl:elemen t>   387           </ xsl:elemen t>
316          </x sl:otherwi se>   388          </x sl:otherwi se>
317         </xs l:choose>   389         </xs l:choose>
318        </xsl :when>   390        </xsl :when>
319     391  
320        <xsl: otherwise>   392        <xsl: otherwise>
321         <!--  Element h as no chil dren -->   393         <!--  Element h as no chil dren -->
322         <!--                            -->   394         <!--                            -->
323         <xsl :variable  name="VarE mptyElemen tAsXML">   395         <xsl :variable  name="VarE mptyElemen tAsXML">
324          <!- - Copy ele ment -->   396          <!- - Copy ele ment -->
325          <!- -               -->   397          <!- -               -->
326          <xs l:element  name="{loc al-name($V arNode)}"  namespace= "{namespac e-uri($Var Node)}">   398          <xs l:element  name="{loc al-name($V arNode)}"  namespace= "{namespac e-uri($Var Node)}">
327           <x sl:for-eac h select=" $VarAttrib utes/wwpag e:Attribut e">   399           <x sl:for-eac h select=" $VarAttrib utes/wwpag e:Attribut e">
328            < xsl:variab le name="V arAttribut e" select= "." />   400            < xsl:variab le name="V arAttribut e" select= "." />
329     401  
330            < xsl:attrib ute name=" {$VarAttri bute/@name }">   402            < xsl:attrib ute name=" {$VarAttri bute/@name }">
331              <xsl:value -of select ="$VarAttr ibute/@val ue" />   403              <xsl:value -of select ="$VarAttr ibute/@val ue" />
332            < /xsl:attri bute>   404            < /xsl:attri bute>
333           </ xsl:for-ea ch>   405           </ xsl:for-ea ch>
334          </x sl:element >   406          </x sl:element >
335         </xs l:variable >   407         </xs l:variable >
336         <xsl :variable  name="VarE mptyElemen t" select= "msxsl:nod e-set($Var EmptyEleme ntAsXML)/* [1]" />   408         <xsl :variable  name="VarE mptyElemen t" select= "msxsl:nod e-set($Var EmptyEleme ntAsXML)/* [1]" />
337     409  
338         <!--  Emit elem ent -->   410         <!--  Emit elem ent -->
339         <!--                -->   411         <!--                -->
340         <xsl :copy-of s elect="$Va rEmptyElem ent" />   412         <xsl :copy-of s elect="$Va rEmptyElem ent" />
341        </xsl :otherwise >   413        </xsl :otherwise >
342       </xsl: choose>   414       </xsl: choose>
343      </xsl:i f>   415      </xsl:i f>
344     </xsl:fo r-each>   416     </xsl:fo r-each>
345    </xsl:tem plate>   417    </xsl:tem plate>
346     418  
347     419  
348    <xsl:temp late match ="text()"  mode="wwmo de:pagetem plate">   420    <xsl:temp late match ="text()"  mode="wwmo de:pagetem plate">
349     <xsl:cop y />   421     <xsl:cop y />
350    </xsl:tem plate>   422    </xsl:tem plate>
351     423  
352     424  
353    <xsl:temp late match ="comment( )" mode="w wmode:page template">   425    <xsl:temp late match ="comment( )" mode="w wmode:page template">
354     <xsl:cop y />   426     <xsl:cop y />
355    </xsl:tem plate>   427    </xsl:tem plate>
356     428  
357     429  
358    <xsl:temp late match ="processi ng-instruc tion()" mo de="wwmode :pagetempl ate">   430    <xsl:temp late match ="processi ng-instruc tion()" mo de="wwmode :pagetempl ate">
359     <xsl:cop y />   431     <xsl:cop y />
360    </xsl:tem plate>   432    </xsl:tem plate>
361   </xsl:styl esheet>   433   </xsl:styl esheet>