42. Araxis Merge File Comparison Report

Produced by Araxis Merge on Fri Nov 21 17:21:45 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.

42.1 Files compared

# Location File Last Modified
1 C:\Documents and Settings\allums\Desktop\2008.1.20396.b\Formats\Shared\common\splits names.xsl Mon Jul 16 00:38:36 2007 UTC
2 C:\Documents and Settings\allums\Desktop\2008.2.20597.p2\Formats\Shared\common\splits names.xsl Wed Jul 2 00:02:30 2008 UTC

42.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 38 648
Changed 29 431
Inserted 7 9
Removed 1 129

42.3 Comparison options

Whitespace Differences in whitespace are significant
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

42.4 Active regular expressions

Expression Description
\$(Author|Date|Header|Id|Locker|Name|RCSfile|Revision|Source|State):[^$]*\$ CVS comments

42.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="urn :WebWorks- Engine-Spl its-Schema "   2   <xsl:style sheet vers ion="1.0"  xmlns="urn :WebWorks- Engine-Spl its-Schema "
3                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"   3                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"
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:wwfi les="urn:W ebWorks-En gine-Files -Schema"   7                                    xmlns:wwfi les="urn:W ebWorks-En gine-Files -Schema"
8                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"   8                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"
        9                                    xmlns:wwbe haviors="u rn:WebWork s-Behavior s-Schema"
9                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"   10                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"
10                                    xmlns:wwim ages="urn: WebWorks-I mages-Sche ma"   11                                    xmlns:wwim ages="urn: WebWorks-I mages-Sche ma"
11                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"   12                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"
12                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"   13                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"
13                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"   14                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"
14                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"   15                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"
15                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"   16                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"
16                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"   17                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"
        18                                    xmlns:wwun its="urn:W ebWorks-XS LT-Extensi on-Units"
17                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"   19                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"
18                                    xmlns:wwim aging="urn :WebWorks- XSLT-Exten sion-Imagi ng"   20                                    xmlns:wwim aging="urn :WebWorks- XSLT-Exten sion-Imagi ng"
19                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"   21                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"
20                                    exclude-re sult-prefi xes="xsl m sxsl wwspl its wwmode  wwfiles w wdoc ww
project ww images wwp rogress ww log wwfile system wwu ri wwstrin g wwfilese xt ww
projext ww imaging ww exsldoc"
  22                                    exclude-re sult-prefi xes="xsl m sxsl wwspl its wwmode  wwfiles w wdoc ww behaviors  ww project ww images wwp rogress ww log wwfile system wwu ri wwstrin g wwfilese xt ww units ww projext ww imaging ww exsldoc"
21   >   23   >
22    <xsl:para m name="Gl obalInput"  />   24    <xsl:para m name="Gl obalInput"  />
23    <xsl:para m name="Gl obalPipeli neName" />   25    <xsl:para m name="Gl obalPipeli neName" />
24    <xsl:para m name="Gl obalProjec t" />   26    <xsl:para m name="Gl obalProjec t" />
25    <xsl:para m name="Gl obalFiles"  />   27    <xsl:para m name="Gl obalFiles"  />
26    <xsl:para m name="Pa rameterDep endsType"  />   28    <xsl:para m name="Pa rameterDep endsType"  />
27    <xsl:para m name="Pa rameterIma geTypesTyp e" />   29    <xsl:para m name="Pa rameterIma geTypesTyp e" />
        30    <xsl:para m name="Pa rameterBeh aviorsType " />
28    <xsl:para m name="Pa rameterTyp e" />   31    <xsl:para m name="Pa rameterTyp e" />
29    <xsl:para m name="Pa rameterDef aultPageEx tension" / >   32    <xsl:para m name="Pa rameterDef aultPageEx tension" / >
30    <xsl:para m name="Pa rameterDef aultGraphi cExtension " />   33    <xsl:para m name="Pa rameterDef aultGraphi cExtension " />
31     34  
32     35  
33    <xsl:name space-alia s styleshe et-prefix= "wwsplits"  result-pr efix="#def ault" />   36    <xsl:name space-alia s styleshe et-prefix= "wwsplits"  result-pr efix="#def ault" />
34    <xsl:stri p-space el ements="*"  />   37    <xsl:stri p-space el ements="*"  />
35     38  
36     39  
        40    <xsl:incl ude href=" wwtransfor m:common/i mages/util ities.xsl"  />
        41  
        42  
37    <xsl:key  name="wwfi les-files- by-type" m atch="wwfi les:File"  use="@type " />   43    <xsl:key  name="wwfi les-files- by-type" m atch="wwfi les:File"  use="@type " />
38    <xsl:key  name="ww
i mag es- typ es-by- na me
" match="w w
i mag es: Typ e" use="@ na me
" />
  44    <xsl:key  name="ww f i l es- fil es-by- docu me ntid " match="w w f i l es: Fil e" use="@ docu me ntID " />
        45    <xsl:key  name="wwsp lits-split s-by-docum entid" mat ch="wwspli ts:Split"  use="@docu mentID" />
        46    <xsl:key  name="wwbe haviors-fr ames-by-id " match="w wbehaviors :Frame" us e="@id" />
39     47  
40     48  
41    <xsl:vari able name= "GlobalAct ionChecksu m">   49    <xsl:vari able name= "GlobalAct ionChecksu m">
42     <xsl:var iable name ="VarTrans formChecks ums">   50     <xsl:var iable name ="VarTrans formChecks ums">
43      <xsl:va lue-of sel ect="conca t(wwuri:As FilePath(' wwtransfor m:self'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww transform: self')))"  />   51      <xsl:va lue-of sel ect="conca t(wwuri:As FilePath(' wwtransfor m:self'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww transform: self')))"  />
        52      <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')))"  />
44     </xsl:va riable>   53     </xsl:va riable>
45     <xsl:val ue-of sele ct="wwstri ng:MD5Chec ksum($VarT ransformCh ecksums)"  />   54     <xsl:val ue-of sele ct="wwstri ng:MD5Chec ksum($VarT ransformCh ecksums)"  />
46    </xsl:var iable>   55    </xsl:var iable>
47     56  
48     57  
49    <xsl:temp late match ="/">   58    <xsl:temp late match ="/">
50     <wwfiles :Files ver sion="1.0" >   59     <wwfiles :Files ver sion="1.0" >
51     60  
52      <!-- It erate inpu t document s -->   61      <!-- It erate inpu t document s -->
53      <!--                            -->   62      <!--                            -->
54      <xsl:fo r-each sel ect="$Glob alFiles[1] ">   63      <xsl:fo r-each sel ect="$Glob alFiles[1] ">
55       <xsl:v ariable na me="VarFil esByType"  select="ke y('wwfiles -files-by- type', $Pa rameterDep endsType)"  />   64       <xsl:v ariable na me="VarFil esByType"  select="ke y('wwfiles -files-by- type', $Pa rameterDep endsType)"  />
56     65  
57       <xsl:v alue-of se lect="wwpr ogress:Sta rt(count($ VarFilesBy Type))" />   66       <xsl:v alue-of se lect="wwpr ogress:Sta rt(count($ VarFilesBy Type))" />
58     67  
59       <!-- I mage types  -->   68       <!-- I mage types  -->
60       <!--               -->   69       <!--               -->
61       <xsl:v ariable na me="VarIma geTypesPat h" select= "key('wwfi les-files- by-type',  $Parameter ImageTypes Type)[1]/@ path" />   70       <xsl:v ariable na me="VarIma geTypesPat h" select= "key('wwfi les-files- by-type',  $Parameter ImageTypes Type)[1]/@ path" />
62       <xsl:v ariable na me="VarIma geTypes" s elect="wwe xsldoc:Loa dXMLWithou tResolver( $VarImageT ypesPath)"  />   71       <xsl:v ariable na me="VarIma geTypes" s elect="wwe xsldoc:Loa dXMLWithou tResolver( $VarImageT ypesPath)"  />
63     72  
64       <xsl:f or-each se lect="$Var FilesByTyp e">   73       <xsl:f or-each se lect="$Var FilesByTyp e">
65        <xsl: variable n ame="VarFi le" select ="." />   74        <xsl: variable n ame="VarFi le" select ="." />
66     75  
67        <xsl: value-of s elect="wwp rogress:St art(1)" />   76        <xsl: value-of s elect="wwp rogress:St art(1)" />
68     77  
69        <!--  Call templ ate -->   78        <!--  Call templ ate -->
70        <!--                 -->   79        <!--                 -->
71        <xsl: variable n ame="VarPa th" select ="wwfilesy stem:Combi ne(wwfiles ystem:GetD irectoryNa me($VarFil e/@path),  concat(tra nslate($Pa rameterTyp e, ':', '_ '),'.xml') )" />   80        <xsl: variable n ame="VarPa th" select ="wwfilesy stem:Combi ne(wwfiles ystem:GetD irectoryNa me($VarFil e/@path),  concat(tra nslate($Pa rameterTyp e, ':', '_ '),'.xml') )" />
72     81  
73        <xsl: variable n ame="VarUp ToDate" se lect="wwfi lesext:UpT oDate($Var Path, '',  $VarFile/@ groupID, ' ', $Global ActionChec ksum)" />   82        <xsl: variable n ame="VarUp ToDate" se lect="wwfi lesext:UpT oDate($Var Path, '',  $VarFile/@ groupID, ' ', $Global ActionChec ksum)" />
74        <xsl: if test="n ot($VarUpT oDate)">   83        <xsl: if test="n ot($VarUpT oDate)">
75         <xsl :variable  name="VarR esultAsXML ">   84         <xsl :variable  name="VarR esultAsXML ">
76          <!- - Load doc ument -->   85          <!- - Load doc ument -->
77          <!- -                -->   86          <!- -                -->
78          <xs l:variable  name="Var GroupNameI nfo" selec t="wwexsld oc:LoadXML WithoutRes olver($Var File/@path )" />   87          <xs l:variable  name="Var GroupNameI nfo" selec t="wwexsld oc:LoadXML WithoutRes olver($Var File/@path )" />
79     88  
80          <xs l:call-tem plate name ="Names">   89          <xs l:call-tem plate name ="Names">
81           <x sl:with-pa ram name=" ParamGroup NameInfo"  select="$V arGroupNam eInfo" />   90           <x sl:with-pa ram name=" ParamGroup NameInfo"  select="$V arGroupNam eInfo" />
        91           <x sl:with-pa ram name=" ParamGroup ID" select ="$VarFile /@groupID"  />
82           <x sl:with-pa ram name=" ParamAllow edByRefere nceTypes"  select="$V arImageTyp es" />   92           <x sl:with-pa ram name=" ParamAllow edByRefere nceTypes"  select="$V arImageTyp es" />
83          </x sl:call-te mplate>   93          </x sl:call-te mplate>
84         </xs l:variable >   94         </xs l:variable >
85         <xsl :variable  name="VarR esult" sel ect="msxsl :node-set( $VarResult AsXML)" />   95         <xsl :variable  name="VarR esult" sel ect="msxsl :node-set( $VarResult AsXML)" />
86         <xsl :variable  name="VarW riteResult " select=" wwexsldoc: Document($ VarResult,  $VarPath,  'utf-8',  'xml', '1. 0', 'yes') " />   96         <xsl :variable  name="VarW riteResult " select=" wwexsldoc: Document($ VarResult,  $VarPath,  'utf-8',  'xml', '1. 0', 'yes') " />
87        </xsl :if>   97        </xsl :if>
88     98  
89        <wwfi les:File p ath="{$Var Path}" typ e="{$Param eterType}"  checksum= "{wwfilesy stem:GetCh ecksum($Va rPath)}" p rojectchec ksum="" gr oupID="{$V arFile/@gr oupID}" do cumentID=" " actionch ecksum="{$ GlobalActi onChecksum }">   99        <wwfi les:File p ath="{$Var Path}" typ e="{$Param eterType}"  checksum= "{wwfilesy stem:GetCh ecksum($Va rPath)}" p rojectchec ksum="" gr oupID="{$V arFile/@gr oupID}" do cumentID=" " actionch ecksum="{$ GlobalActi onChecksum }">
90         <wwf iles:Depen ds path="{ $VarFile/@ path}" che cksum="{$V arFile/@ch ecksum}" g roupID="{$ VarFile/@g roupID}" d ocumentID= "{$VarFile /@document ID}" />   100         <wwf iles:Depen ds path="{ $VarFile/@ path}" che cksum="{$V arFile/@ch ecksum}" g roupID="{$ VarFile/@g roupID}" d ocumentID= "{$VarFile /@document ID}" />
91        </wwf iles:File>   101        </wwf iles:File>
92     102  
93        <xsl: value-of s elect="wwp rogress:En d()" />   103        <xsl: value-of s elect="wwp rogress:En d()" />
94       </xsl: for-each>   104       </xsl: for-each>
95     105  
96       <xsl:v alue-of se lect="wwpr ogress:End ()" />   106       <xsl:v alue-of se lect="wwpr ogress:End ()" />
97      </xsl:f or-each>   107      </xsl:f or-each>
98     108  
99     </wwfile s:Files>   109     </wwfile s:Files>
100    </xsl:tem plate>   110    </xsl:tem plate>
101     111  
102     112  
103    <xsl:temp late name= "Names">   113    <xsl:temp late name= "Names">
104     <xsl:par am name="P aramGroupN ameInfo" / >   114     <xsl:par am name="P aramGroupN ameInfo" / >
        115     <xsl:par am name="P aramGroupI D" />
105     <xsl:par am name="P aramAllowe dByReferen ceTypes" / >   116     <xsl:par am name="P aramAllowe dByReferen ceTypes" / >
106     117  
107     <xsl:for -each sele ct="$Param GroupNameI nfo/wwspli ts:Splits" >   118     <xsl:for -each sele ct="$Param GroupNameI nfo/wwspli ts:Splits" >
108      <xsl:va riable nam e="VarSpli ts" select ="." />   119      <xsl:va riable nam e="VarSpli ts" select ="." />
109     120  
110      <wwspli ts:Splits>   121      <wwspli ts:Splits>
111       <xsl:c opy-of sel ect="$VarS plits/@*"  />   122       <xsl:c opy-of sel ect="$VarS plits/@*"  />
112     123  
113       <xsl:f or-each se lect="$Var Splits//ww splits:Spl it">   124       
<!--  P r ocess  a ll spli t s   f o r a doc u men t  a t  once  -->
114        <xsl: variable n ame="VarSp lit" selec t="." />   125       
<!--                                                 -->
115     126       
<xsl:varia ble name=" VarP
r oj e c t Gro u
p D o cume n ts " select=" $ Glob a
l Proj e ct /wwproject : Project/ww p rojec t :Gr o up s/wwprojec t: Gr o up [@ GroupID  =  $Pa ra mGr ou
p ID ]/ /wwproject :Doc u m e nt " />
116        <!--  Get page r ule -->   127       <xsl:f or-each se lect="$Var ProjectGro upDocument s">
117        <!--                 -->   128        <xsl: variable n ame="VarPr ojectGroup Document"  select="."  />
118        <xsl: variable n ame="VarPa geStyleNam e">        
119         <xsl :call-temp late name= "StyleName ">        
120          <xs l:with-par am name="P aramStyleN ode" selec t="$VarSpl it/wwsplit s:PageStyl e" />        
121         </xs l:call-tem plate>        
122        </xsl :variable>        
123        <xsl: variable n ame="VarPa geRule" se lect="wwpr ojext:GetO verrideRul e('Page',  $VarPageSt yleName, $ VarSplit/@ documentID , $VarSpli t/@id)" />        
124          
125          <!--  Gene r
a
t e  
o
u
t pu t ?  -->
       
126          <!--                    
-->
       
127          <xsl:varia ble name=" VarP ageGene r at e Ou t p u tO p ti o
n
" select=" $ VarP a geRu l
e
/wwproject : O p
t i o n s/wwprojec t: Opti o n [@ Name  =  'gene ra te- ou t p ut' ]/ @Val u
e
" />
       
128        <xsl: variable n ame="VarPa geGenerate Output" se lect="(str ing-length ($VarPageG enerateOut putOption)  = 0) or ( $VarPageGe nerateOutp utOption ! = 'false') " />        
129     129  
130        <!--  Gener ate 
o
u
t put?  -->
  130        <!--  Loc ate  d o c u men t  behaviors  -->
131        <!--                    
-->
  131        <!--                               -->
132        <xsl: i f  t e
s
t="$ VarPage G ener a t e Output ">
  132        <xsl:
f or- e ach  s elec t="$
G lob a lFil e s[1] ">
133         <!--  Get path  -->   133         <xsl :variable  name="VarB ehaviorsFi les" selec t="key('ww files-file s-by-docum entid', $V arProjectG roupDocume nt/@Docume ntID)[@typ e = $Param eterBehavi orsType]"  />
134         <!--            -->        
135         <xsl :variable  name="VarS plitPath">        
136          <xs l:call-tem plate name ="SplitPat h">        
137           <x sl:with-pa ram name=" ParamSplit " select=" $VarSplit"  />        
138           <x sl:with-pa ram name=" ParamRule"  select="$ VarPageRul e" />        
139          </x sl:call-te mplate>        
140         </xs l:variable >        
141     134  
142         <wws plits:Spli t>   135         
<xsl:
f or-each  select="$ Var Be h aviorsFile s[1] "
>
143          <xs l:copy-of  select="$V arSplit/@* " />   136          
<xsl:va riab l
e
  nam e
="
Var B e haviorsFi le " sel e ct=". " />
144          <xs l:attribut e name="pa th">        
145             <xsl: value-o f
 select="$ Var SplitPat h
"  / >
       
146          </x sl:attribu te>        
147          <xs l:attribut e name="st ylename">        
148             <xsl:va
l u e -of   sel e ct =" $ Var Pag e Sty le Nam e
" />
       
149          </x sl:attribu te>        
150     137  
151          <xs l:for-each  select="$ VarSplit/w wsplits:Fr ames/wwspl its:Frame" >   138          <!- - Load doc ument beha viors -->
152             <xsl:varia ble name=" Var Fram e
" select=" . " />
  139          <!- -                           -->
        140          
<xsl:varia ble name=" Var B e haviors " select=" wwexsldoc: LoadXMLWit houtResolv er($VarBeh aviorsFile /@path) " />
153     141  
154             <!--  Get g r aphi c
  r u l e
 -->
  142          
<!--  P r o c ess   doc u m e nt splits  -->
155             <!--                    
-->
  143          
<!--                             -->
156           <x sl:variabl e name="Va r OverrideR u l e
" select="
ww
p rojex t :Ge t C o ntextR u l e ('Graph i c ', $Var F r ame/wwd o
c :F r a me /@style n ame, $VarS pli t/@ d ocumentID , $VarFram e/wwdoc:Fr ame/@id )" />
  144          <xs l:for-each  select="$ VarSplits[ 1]">
        145           <x sl:variabl e name="Va r Doc u m e ntSplits " select=" key(' ww s p li t s-spli t s-by-d o c u m e nt i d ', $Var P r
o je c tG r oupDocu me
n
t/@ D ocumentID
)" />
157     146  
158           <! --  Gene r at e
  out p u t ?  -->
  147           <! --  P r oc e ss   s p li t
 -->
159           <! --                     -->   148           <! --                
-->
160           <x sl:variabl e name="Va rGraphicGe nerateOutp utOption"  select="$V arOverride Rule/wwpro ject:Optio ns/wwproje ct:Option[ @Name = 'g enerate-ou tput']/@Va lue" />   149           <x sl:for-eac h select=" $VarDocume ntSplits">
161           <x sl:variabl e name="Va rGraphicGe nerateOutp ut" select ="(string- length($Va rGraphicGe nerateOutp utOption)  = 0) or ($ VarGraphic GenerateOu tputOption  != 'false ')" />   150            < xsl:variab le name="V arSplit" s elect="."  />
162     151  
163           
<!-- Ge nera t e   out p
u t?  -->
  152              <!-- Ge
t
 
p age r u le  -->
164           
<!--                     -->
  153              <!--                
-->
165           
<xsl:
i f   t e st =" $ Var Gr a phicG e n e r a t e Output ">
  154              <xsl: var i able   nam e
="
Var P a g e Styl e N a m e
">
166            < !-- WIF st ructure al lows for b y referenc e graphic?  -->   155              <xsl:call- template n ame=" St y l e Nam e">
167            < !--                                                     -->   156               <xsl:with -param nam e="Param StyleNod e" select= "$Var Split/wwsp lits:P a geStyl e" />
168            < xsl:variab le name="V arWIFAllow sByReferen ceAsText">        
169              <xsl:call- template n ame=" WIFAllowsB y Refer e nc e">        
170               <xsl:with -param nam e="Param Fram e" select= "$Var Fr a m e" />        
171              </xsl:call -template>   157              </xsl:call -template>
172            < /xsl:varia ble>   158            < /xsl:varia ble>
173            < xsl:variab le name="V arWIFAllow sByReferen ce" select ="$VarWIFA llowsByRef erenceAsTe xt = strin g(true())"  />   159            < xsl:variab le name="V arPageRule " select=" wwprojext: GetOverrid eRule('Pag e', $VarPa geStyleNam e, $VarSpl it/@docume ntID, $Var Split/@id) " />
174     160  
175            < !--  By r e f er enc s ou rce  p a t h  -->   161            < !--  G e n er at
ou t p u t ?  -->
176            < !--                              -->   162            < !--                    
-->
177            < xsl:variab le name="V arByRefere nceSourceP ath">   163            
<xsl:varia ble name=" Var Pag e G en
e r a t e Ou t putOption
select="$V ar P a geRul e/ww pr o je c t : Options /ww pr o je c t : Op t ion [@ Nam e = ' g e n er at e -output '] /@Value " />
178              <xsl:choos e>   164            < xsl:variab le name="V arPageGene rateOutput " select=" (string-le ngth($VarP ageGenerat eOutputOpt ion) = 0)  or ($VarPa geGenerate OutputOpti on != 'fal se')" />
179               <xsl:when  test="$Va rWIFAllows ByReferenc e">        
180                 <xsl:varia ble name=" Var ByRef e r en c e F a c e
t s   select="$V ar Fr a m e/ww d o
c
: Frame/ /ww d o
c
: Face t
[@ typ e = ' by-r e f er
e nce ']
" />
       
181                <xsl:for -each sele ct="$VarBy ReferenceF acets[1]">        
182                 <xsl:va riable nam e="VarByRe ferenceFac et" select ="." />        
183     165  
184                   <xsl: v a l u
e -of  select="$ Var ByReferenc eF a c e t/wwdoc:At trib u te[@name =  'path']/@ va l u e" />
  166            < !-- Genera te output?  -->
185                  </xsl: for -
e
a ch >
  167            < !--                    -->
186                </xsl: wh e n >   168            < xsl:if tes t="$VarPag eGenerateO utput">
        169              <!-- Get p ath -->
        170              <!--           -->
        171              <xsl:varia ble name=" VarSplitPa th">
        172               <xsl:call -template  name="Spli tPath">
        173                <xsl:wit h-param na me="ParamS plit" sele ct="$VarSp lit" />
        174                
<xsl: with-p a ram name=" ParamR u l e "  select="$ Var P a g e R u
l
e" />
        175               
</xsl: call - t e mpl a te >
        176             
</xsl: variabl e
>
187     177  
188                < x s
l :otherw i
s e >
  178             
< ww s p l
i t s :Split >
189                  <xsl: value -of select =" '' " />   179               
<xsl: copy -of select =" $VarSplit/ @* " />
190               < / xsl: o t he r w i s e
>
  180               <
xsl: at t
r
i but e  name="pat h" >
191             
< / xsl: cho o
se
>
  181                 <
xsl: value- o se lect="$Var SplitPath"  / >
192            
</xsl: v a
ri a b l e>
  182               </xsl:att ribute>
        183               <xsl:attr ibute name ="stylenam e">
        184                <xsl:val ue-of sele ct="$VarPa geStyleNam e" />
        185                </xsl:
a tt ri
b ut e>
193     186  
194            < !-- By ref erence fra me require s:     -->   187               
<xsl: fo r - e
a c h
 select="
$Var Split/wwsp lits:Fr a m e s /
w wspl i
t s:Frame "
>
195            < !--                                     -->   188                
<xsl:varia ble name=" Var Fram e
" select=" . " />
196            < !--  1. by -reference  facet            -->        
197            < !--  2. Su pported im age type          -->        
198            < !--  3. Wi thin max w idth/heigh t      -->        
199            < !--  4. Sc aling = 10 0% or unde fined  -->        
200            < !--                                     -->        
201            < xsl:variab le name="V arByRefere nce">        
202              <xsl:if te st="$VarWI FAllowsByR eference">        
203               <!-- Rule  allows by  reference ? -->        
204               <!--                              -->        
205               <xsl:vari able name= "VarAllowB yReference GraphicsOp tion" sele ct="$VarOv errideRule /wwproject :Options/w wproject:O ption[@Nam e = 'by-re ference-gr aphics']/@ Value" />        
206               <xsl:if t est="(stri ng-length( $VarAllowB yReference GraphicsOp tion) = 0)  or ($VarA llowByRefe renceGraph icsOption  = 'true')" >        
207                <!-- Opt ions allow  by refere nce? -->        
208                <!--                                -->        
209                <xsl:var iable name ="VarMaxWi dthOption"  select="$ VarOverrid eRule/wwpr oject:Opti ons/wwproj ect:Option [@Name = ' max-width' ]/@Value"  />        
210                <xsl:var iable name ="VarMaxHe ightOption " select=" $VarOverri deRule/wwp roject:Opt ions/wwpro ject:Optio n[@Name =  'max-heigh t']/@Value " />        
211                <xsl:var iable name ="VarScale Option" se lect="$Var OverrideRu le/wwproje ct:Options /wwproject :Option[@N ame = 'sca le']/@Valu e" />        
212                <xsl:if  test="(str ing-length ($VarScale Option) =  0) or ($Va rScaleOpti on = 'none ') or (num ber($VarSc aleOption)  = 100)">        
213                 <xsl:va riable nam e="VarImag eInfo" sel ect="wwima ging:GetIn fo($VarByR eferenceSo urcePath)"  />        
214                 <xsl:fo r-each sel ect="$Para mAllowedBy ReferenceT ypes[1]">        
215                  <xsl:f or-each se lect="key( 'wwimages- types-by-n ame', $Var ImageInfo/ @format)[1 ]">        
216                     <xsl: va r iabl e  n a me="VarWid t h "  select=" number( $Var Im a g e Info / @ w
i d t h) "  / >
       
217                     <xsl:varia ble name=" Var H e ight " select=" number($Va rImageInfo /@height) " />        
218     189  
219                
 
 
  <xs l :choos e
>
  190                 <!--   Get   graphic   ru l
e  -- >
220                    <xsl :when test ="(string- length($Va rMaxWidthO ption) &gt ; 0) and ( string-len gth($VarMa xHeightOpt ion) &gt;  0) and ($V arMaxWidth Option !=  'none') an d ($VarMax HeightOpti on != 'non e') and (( number($Va rMaxWidthO ption) &gt ; 0) and ( number($Va rMaxHeight Option) &g t; 0))">   191                 <!--        
 
           - - >
221                     <xs l:choose>   192                <xsl:var iable name ="VarConte xtRule" se lect="wwpr ojext:GetC ontextRule ('Graphic' , $VarFram e/wwdoc:Fr ame/@style name, $Var Split/@doc umentID, $ VarFrame/w wdoc:Frame /@id)" />
222                      <x sl:when te st="($VarW idth &lt;=  number($V arMaxWidth Option)) a nd ($VarHe ight &lt;=  number($V arMaxHeigh tOption))" >        
223                
        <xsl:value -of   select="tr ue()"   / >
       
224                      </ xsl:when>        
225     193  
226                      <x sl:otherwi se>   194                
< !-- G en erate outp ut? -- >
227                       < xsl:value- of select= "false()"  />   195                <!--                    -->
228                      </ xsl:otherw ise>   196                <xsl:var iable name ="VarGraph icGenerate OutputOpti on" select ="$VarCont extRule/ww project:Op tions/wwpr oject:Opti on[@Name =  'generate -output']/ @Value" />
229                     </x sl:choose>   197                <xsl:var iable name ="VarGraph icGenerate Output" se lect="(str ing-length ($VarGraph icGenerate OutputOpti on) = 0) o r ($VarGra phicGenera teOutputOp tion != 'f alse')" />
230                      < /xsl:wh en
>
       
231     198  
232                      < xsl:oth er wis e
>
  199                
< !-- Gen er at e  output? - - >
233                       <xsl: value-o sel e c t=" t r u e () "  / >   200                <!--                    -->
234                      < / xsl: oth e
r
w i s
e
>
  201                
<xsl: i t e s t=" $Va r GraphicG e nerateOutp ut "
>
235                     < / xsl:c ho o
s
e
>
  202                 <!-- WI F structur e allows f or by refe rence grap hic? -->
236                  </xsl: for-each>   203                 <!--                                                     -->
237                 </xsl:f or-each>   204                 
<
xsl: variable n am e ="Va r WIFAllo w
s ByReferenc eAsT e xt" >
238                </xsl:if >   205                  
<
xsl:c all-templa te name="I mages-WIFA ll o w s ByRef e rence" >
239               </xsl:if>   206                   <xsl: with-param  name="Par amFrame" s elect="$Va rFrame" />
240             
</xsl: if >
  207                   </xsl: call-templ ate >
241            
</xsl:vari able>
  208                  </xsl:vari able>
        209                 <xsl:va riable nam e="VarWIFA llowsByRef erence" se lect="$Var WIFAllowsB yReference AsText = s tring(true ())" />
242     210  
243            
<!--  G e t  path -->
  211                  <!--  By referen ce sourc e
 path -->
244            
<!--           
-->
  212                  <!--                              -->
245            
<xsl:varia ble name=" Var F r am ePath">
  213                  <xsl:varia ble name=" Var ByRefe r enceSourc ePath">
246             
<xsl:choos e>
  214                   <xsl:choos e>
247               
<xsl:when  test="$Var
ByReferenc e  = 'true' ">
  215                     <xsl:when  test="$Var WIFAllows ByReferenc e
">
248                <xsl:var iable name ="VarOutpu tDirectory Path" sele ct="wwfile system:Com bine(wwpro jext:GetTa rgetOutput DirectoryP ath(), wwp rojext:Get DocumentGr oupPath($V arSplit/@d ocumentID) )" />   216                      <xsl:varia ble name=" Var ByRef e
re n c eF a ce t s   select="
$Var F r am e /wwd o c:F r
a me//wwdoc: Face t [@type =  ' by-referen c e
' ] " />
249                
<xsl:varia ble name=" Var Imag e sDi re
c toryP a
t h
select=" wwfilesyst em:Combine ( $Var OutputDi r
e ct o
r yP a
t h,  ' imag e s ' ) " />
  217                    <xsl :for-each  select="$V arByRefere nceFacets[ 1]">
250                <xsl:val ue-of sele ct="wwfile system:Com bine($VarI magesDirec toryPath,  wwfilesyst em:GetFile Name($VarB yReference SourcePath ))" />   218                     <xs l:variable  name="Var ByReferenc eFacet" se lect="." / >
251               </xsl:whe n>        
252     219  
253               <xsl:othe rwise>   220                       <xsl: v a
l u e -of  select="$ Var ByRef er enceFacet/ wwdoc:Att ri b u te[@name =  'path']/@ va l u e" />
254                <xsl:cal l-template  name="Fra mePath">   221                     </xsl: f o r- e ach >
255                 <xsl:wi th-param n ame="Param Split" sel ect="$VarS plit" />   222                    </xsl: wh e n >
256                 <xsl:wi th-param n ame="Param Frame" sel ect="$VarF rame" />        
257                 
<xsl: with-param  name="Par a mRu l
e "  select="$ Var Ov er
ri deR u
l
e" />
       
258                </xsl:ca ll-templat e>        
259               </xsl:oth erwise>        
260             
</xsl: cho o s e
>
       
261            
</xsl: variabl e
>
       
262     223  
263            
< ww s p l its : F r am e>
  224                    < x s
l
: othe r wis e>
264             
<xsl:
a ttrib u t e
  nam e
=" groupID "
>
  225                     <xsl: v a l u
e -of   sel e ct =" '' "  / >
265               <xsl:valu e-of selec t="$VarSpl it/@groupI D" />   226                    < / xsl: o t he r w i s e
>
266              </xsl:attr ibute>   227                    < / xsl: cho o
se
>
267              <xsl:attri bute name= "documentI D">   228                  </xsl: v a
ri a b l e>
268               <xsl:valu e-of selec t="$VarSpl it/@docume ntID" />        
269              </xsl:attr ibute>        
270              <xsl:copy- of select= "$VarFrame /wwdoc:Fra me/@*" />        
271              <xsl:copy- of select= "$VarFrame /@*" />        
272              <xsl:if te st="$VarBy Reference  = 'true'">        
273               <xsl:attr ibute name ="byref">        
274                <xsl:val ue-of sele ct="'true' " />        
275               </xsl:att ribute>        
276               <xsl:attr ibute name ="source">        
277                <xsl:val ue-of sele ct="$VarBy ReferenceS ourcePath"  />        
278               </xsl:att ribute>        
279              </xsl:if>        
280             
<
xsl: at t
r
i bute nam e ="path" >
       
281               
<
xsl: value- o se lect="$Var FramePath"  / >
       
282             
</xsl:
a tt ri
b ut e>
       
283     229  
284             
<!--  Thumbn a i l , wrapp e r,  a nd   d e sc r iptio n
  f i l e s  -->
  230                  <!--  H a nd l
e
 a s   by-ref e
r e n ce  
i mag e ?  -->
285             
<!--                                                 -->
  231                  <!--                                  
-->
286              <xsl:varia ble name=" VarThumbna ilPageRule Option" se lect="$Var OverrideRu le/wwproje ct:Options /wwproject :Option[@N ame = 'thu mbnail-pag e-rule']/@ Value" />   232                   <xsl: v a
ri a b l e name=" V a rByReferen ceAsTex t
">
287              <wwsplits: Thumbnail>   233                  <!-- I mage file  exists? -- >
288               
<xsl:
a tt ri
b ut e name=" p a
t h ">
  234                  <!--                      -- >
289                <xsl:var iable name ="VarFileN ame">   235                    <xsl: i t e s t="wwfiles ystem:
File
Ex is t
s
($Var ByRefe r enceSourc ePath)"
>
290                 
<xsl: value-o sel e c t="wwfiles ystem: Get File NameWithou t Ex
t en s ion ($Var F r am ePath)"  / >
  236                   <!--  Locate fra me behavio r -->
291                 
<xsl: t e xt>_t h umb</x s
l :t e x t
>
  237                   <!--                          -->
292                 
<xsl:va
l u e - o f  select="
ww fil e
s yste m :GetExt e n s
i on( $VarFrame P a th )
" />
  238                     <xsl: for- e ac h   s e l
e c t ="$VarBeha viors[1]" >
293                </xsl:va riable>   239                      <xsl:va riab l
e  name="Var Behavi o rFrame"  select=" key(' ww b e havior s -fra m
e
s -by- i d',  $VarFrame /wwdoc:Fr a me/@id ) [1] " />
294     240  
295                <xsl:val ue-of sele ct="wwfile system:Com bine(wwfil esystem:Ge tDirectory Name($VarF ramePath),  $VarFileN ame)" />   241                    <!--  Allow by  reference?  -->
296               
</xsl:
a
t tribu te>
  242                    <!--                        -->
297             
</ ww s p l its : Thumbn a il >
  243                    <xsl :call-temp late name= "Images-Al lowByRefer ence">
298              <wwsplits: Wrapper gr oupID="{$V arSplit/@g roupID}" d ocumentID= "{$VarSpli t/@documen tID}" styl ename="{$V arThumbnai lPageRuleO ption}">   244                     <xs l:with-par am name="P aramAllowe dByReferen ceTypes" s elect="$Pa ramAllowed ByReferenc eTypes" />
299               
<
xsl: attr i bute name= "path" >
  245                     <xs l:with-par am name="P aramByRefe renceSourc ePath" sel ect="$VarB yReference SourcePath " />
300                
<
xsl:variab le  name="Var FileName" >
  246                     <xs l:with-par am name="P aramContex tRule" sel ect="$VarC ontextRule " />
301                 <xsl:va
l u e -o f
 select=" wwfiles y st e m:G e tFil e Nam e WithoutE xt en s
i o n
( $VarF r am e Path )" />
  247                     <xs l:with-par am name="P aramFrameB ehavior" s elect="$Va rBehaviorF rame" />
302                 <xsl:va lue-of sel ect="$Para meterDefau ltPageExte nsion" />   248                      </xsl: c a ll- t empla te>
303                </xsl:va riable>   249                    </ x s
l
: for-e a ch >
        250                    < / xsl:
i f >
        251                   < / xsl:variab le
>
        252                 <xsl:va riab l
e  name="Var ByRe f erence"  select=" $VarB y R e f e r e nceAsT e
xt  =  s tr i
n g ( t r u e () )" />
304     253  
305                <xsl:val ue-of sele ct="wwfile system:Com bine(wwfil esystem:Ge tDirectory Name($VarF ramePath),  $VarFileN ame)" />   254                   < !-- Ge t  pa t h -- >
306               
< /xsl:at t ribu t e >
  255                 <!--           -->
307             
< /ww s p l its : W r
a pp e
r
>
  256                  < x s
l
: va r i a bl e  name="Va r FramePath" >
308             
< ww s p l its : Des c ripti o n >
  257                   < x s
l
:
c h o ose >
309               
<xsl: attribut e   n am e
=" p a th ">
  258                     <xsl: wh e
n  t e st =" $V a rByReferen ce ">
310                
<xsl:varia ble name=" Var F i
le N a
m
e
"
>
  259                    <xsl :variable  name="VarO utputDirec toryPath"  select="ww filesystem :Combine(w wprojext:G etTargetOu tputDirect oryPath(),  wwprojext :GetDocume ntGroupPat h($VarSpli t/@documen tID))" />
311                 
<xsl:value -of select ="wwfilesy stem: GetF i l e N a
m
e W i
t h o utEx t
e n s
i on ($Var F r am ePath)
" />
  260                      <xsl:varia ble name=" Var ImagesD i rectoryPat h" se le ct="wwfile system:Com bine($V a rOutputDir ectoryPath , 'i m ag e s') "  / >
312                 <xsl:te xt>.txt</x sl:text>   261                      <xsl:value -of select ="wwfilesy stem: Comb i n e ($V a rI m ag e sD i rec t
o ryPa t h, wwfil e
s ystem:GetF i leName ($Var ByRefe r enceSourc ePath) ) " />
313                
</xsl: variabl e
>
  262                     </xsl: wh e n >
314     263  
315                <xsl:val ue-of sele ct="wwfile system:Com bine(wwfil esystem:Ge tDirectory Name($VarF ramePath),  $VarFileN ame)" />   264                   <xsl: otherwise>
316               </xsl:att ribute>   265                    <xsl :call-temp late name= "FramePath ">
317              </wwsplits :Descripti on>   266                     <xs l:with-par am name="P aramSplit"  select="$ VarSplit"  />
318            < /wwsplits: Frame>   267                     <xs l:with-par am name="P aramFrame"  select="$ VarFrame"  />
319           </ xsl:if>   268                     <xs l:with-par am name="P aramRule"  select="$V arContextR ule" />
320          
</xsl: fo r -e a ch >
  269                    </xs l:call-tem plate>
        270                   </xsl :otherwise >
        271                  </xsl: choose>
        272                 </xsl:v ariable>
        273  
        274                 <wwspli ts:Frame>
        275                  <xsl:a ttribute n ame="group ID">
        276                   <xsl: value-of s elect="$Va rSplit/@gr oupID" />
        277                  </xsl: attribute>
        278                  <xsl:a ttribute n ame="docum entID">
        279                   <xsl: value-of s elect="$Va rSplit/@do cumentID"  />
        280                  </xsl: attribute>
        281                  <xsl:c opy-of sel ect="$VarF rame/wwdoc :Frame/@*"  />
        282                  <xsl:c opy-of sel ect="$VarF rame/@*" / >
        283                  <xsl:i f test="$V arByRefere nce">
        284                   <xsl: attribute  name="byre f">
        285                    <xsl :value-of  select="tr ue()" />
        286                   </xsl :attribute >
        287                  </xsl: if>
        288                  <xsl:i f test="($ VarWIFAllo wsByRefere nce) and ( wwfilesyst em:FileExi sts($VarBy ReferenceS ourcePath) )">
        289                   <xsl: attribute  name="byre f-allowed- by-wif">
        290                    <xsl :value-of  select="tr ue()" />
        291                   </xsl :attribute >
        292                  </xsl: if>
        293                  <xsl:i f test="(( $VarByRefe rence) or  ($VarWIFAl lowsByRefe rence)) an d (wwfiles ystem:File Exists($Va rByReferen ceSourcePa th))">
        294                   <xsl: attribute  name="sour ce">
        295                    <xsl :value-of  select="$V arByRefere nceSourceP ath" />
        296                   </xsl :attribute >
        297                  </xsl: if>
        298                  <xsl:a ttribute n ame="path" >
        299                   <xsl: value-of s elect="$Va rFramePath " />
        300                  </xsl: attribute>
        301  
        302                  <!-- T humbnail,  wrapper, a nd descrip tion files  -->
        303                  <!--                                                -->
        304                  <xsl:v ariable na me="VarThu mbnailPage RuleOption " select=" $VarContex tRule/wwpr oject:Opti ons/wwproj ect:Option [@Name = ' thumbnail- page-rule' ]/@Value"  />
        305                  <wwspl its:Thumbn ail>
        306                   <xsl: attribute  name="path ">
        307                    <xsl :variable  name="VarF ileName">
        308                     <xs l:value-of  select="w wfilesyste m:GetFileN ameWithout Extension( $VarFrameP ath)" />
        309                     <xs l:text>_th umb</xsl:t ext>
        310                     <xs l:value-of  select="w wfilesyste m:GetExten sion($VarF ramePath)"  />
        311                     </xsl: va r i a ble >
321     312  
322          <!- - Copy ove r any popu ps -->   313                    <xsl :value-of  select="ww filesystem :Combine(w wfilesyste m:GetDirec toryName($ VarFramePa th), $VarF ileName)"  />
323          <!- -                        -->   314                   </xsl :attribute >
324          
<xsl:varia ble name=" Var Popups" se le ct="$V a rSplit/wws plits:Popu ps/wwsplit s:Popup "  / >
  315                  </wwsp lits:Thumb nail>
325          
<xsl: for-e a ch  select="$ V ar Pop u p s
"
>
  316                  <wwspl its:Wrappe r groupID= "{$VarSpli t/@groupID }" documen tID="{$Var Split/@doc umentID}"  stylename= "{$VarThum bnailPageR uleOption} ">
326           
<
xsl:variab le  name="Var Popup" sel ect="." / >
  317                   <xsl: attribute  name="path ">
        318                     <xsl:varia ble name=" Var Fi le N a me "
>
        319                     <xs l:value-of  select="w wfilesyste m:GetFileN ameWithout Extension( $VarFrameP ath)" />
        320                      <xsl: v a lue-of  select="$ P ar ameterDefa u ltPageExte n s ion "  / >
        321                     < / xsl:variab le
>
327     322  
328           
<xsl:va riab l e name="Va rDoc u mentBaseNa m e "  select="w wfilesyste m: G e tF ile Na m
e W i
t h o utExt e nsion ($Var Split/wwsp lits:Docu me nt/@p ath)
" />
  323                     <xsl:va
l
u
e -of  select="w wfilesyste m: Combin e (wwf ile syste m :G e tD i rec t
o ryNam e
($Var Fra me P ath) , $VarFile Name) " />
329           
<
xsl: v a
ri a b le name="V arPop u pFileNam e " >
  324                    < / xsl:
a tt ri
b
u t e
>
330            
<xsl:value -of select ="$VarDocu mentBaseNa me" />
  325                  </wwsp lits:Wrapp er>
331            
<xsl:text> -</xsl:tex t>
  326                  <wwspl its:Descri ption>
332            
<xsl:value -of select ="$VarPopu p/@id" />
  327                   <xsl: attribute  name="path ">
333            
<xsl:value -of select ="$Paramet erDefaultP ageExtensi on" />
  328                    <xsl :variable  name="VarF ileName">
334           
</xsl:vari able>
  329                     <xs l:value-of  select="w wfilesyste m:GetFileN ameWithout Extension( $VarFrameP ath)" />
335           
<xsl:varia ble name=" VarPopupPa th" select ="wwfilesy stem:Combi ne(wwproje xt:GetTarg etOutputDi rectoryPat h(), $VarS plit/wwspl its:Group/ @name, 'po pups', $Va rPopupFile Name)" />
  330                     <xs l:text>.tx t</xsl:tex t>
        331                    </xs l:variable >
        332  
        333                    <xsl :value-of  select="ww filesystem :Combine(w wfilesyste m:GetDirec toryName($ VarFramePa th), $VarF ileName)"  />
        334                   </xsl :attribute >
        335                  </wwsp lits:Descr iption>
        336                 </wwspl its:Frame>
        337                </xsl:if >
        338               </xsl:for -each>
        339  
        340               <!-- Copy  over any  popups -->
        341               <!--                        -->
        342               <xsl:vari able name= "VarPopups " select=" $VarSplit/ wwsplits:P opups/wwsp lits:Popup " />
        343               <xsl:for- each selec t="$VarPop ups">
        344                <xsl:var iable name ="VarPopup " select=" ." />
        345  
        346                <xsl:var iable name ="VarDocum entBaseNam e" select= "wwfilesys tem:GetFil eNameWitho utExtensio n($VarSpli t/wwsplits :Document/ @path)" />
        347                <xsl:var iable name ="VarPopup FileName">
        348                  <xsl:value -of select ="$VarDocu mentBaseNa me" />
        349                  <xsl:text> -</xsl:tex t>
        350                  <xsl:value -of select ="$VarPopu p/@id" />
        351                  <xsl:value -of select ="$Paramet erDefaultP ageExtensi on" />
        352                 </xsl:vari able>
        353                 <xsl:varia ble name=" VarPopupPa th" select ="wwfilesy stem:Combi ne(wwproje xt:GetTarg etOutputDi rectoryPat h(), $VarS plit/wwspl its:Group/ @name, 'po pups', $Va rPopupFile Name)" />
336     354  
337           
<wwsplits: Popup>
  355                 <wwsplits: Popup>
338            
<xsl:copy- of select= "$VarPopup /@*" />
  356                  <xsl:copy- of select= "$VarPopup /@*" />
339     357  
340            
<xsl:attri bute name= "path">
  358                  <xsl:attri bute name= "path">
341             
<xsl:value -of select ="$VarPopu pPath" />
  359                   <xsl:value -of select ="$VarPopu pPath" />
342            < /xsl: attr i bute >   360                 </xsl:a ttribute>
343           </ ww s p l its : P o pup >   361                </wwspli ts:Popup>
        362               </xsl:for -each>
        363              </wwsplits :Split>
        364            < /xsl:
i f >
        365           </ x s
l
: f o r-each >
344          </x sl:for-eac h>   366          </x sl:for-eac h>
345         </ ww s p l its : Split >   367         </ x s
l
: for-each >
346        </xsl : i f
>
  368        </xsl :
f or-each >
347       </xsl: for-each>   369       </xsl: for-each>
348     370  
349      </wwspl its:Splits >   371      </wwspl its:Splits >
350     </xsl:fo r-each>   372     </xsl:fo r-each>
351    </xsl:tem plate>   373    </xsl:tem plate>
352     374  
353     375  
354    <xsl:temp late name= "StyleName ">   376    <xsl:temp late name= "StyleName ">
355     <xsl:par am name="P aramStyleN ode" />   377     <xsl:par am name="P aramStyleN ode" />
356     378  
357     <xsl:cho ose>   379     <xsl:cho ose>
358      <xsl:wh en test="c ount($Para mStyleNode [1]) = 1">   380      <xsl:wh en test="c ount($Para mStyleNode [1]) = 1">
359       <!-- U se request ed style - ->   381       <!-- U se request ed style - ->
360       <!--                       - ->   382       <!--                       - ->
361       <xsl:v alue-of se lect="$Par amStyleNod e/@value"  />   383       <xsl:v alue-of se lect="$Par amStyleNod e/@value"  />
362      </xsl:w hen>   384      </xsl:w hen>
363     385  
364      <xsl:ot herwise>   386      <xsl:ot herwise>
365       <!-- F orce defau lt rule -- >   387       <!-- F orce defau lt rule -- >
366       <!--                      -- >   388       <!--                      -- >
367       <xsl:v alue-of se lect="''"  />   389       <xsl:v alue-of se lect="''"  />
368      </xsl:o therwise>   390      </xsl:o therwise>
369     </xsl:ch oose>   391     </xsl:ch oose>
370    </xsl:tem plate>   392    </xsl:tem plate>
371     393  
372     394  
373    <xsl:temp late name= "Make-Vali d-Path">   395    <xsl:temp late name= "Make-Vali d-Path">
374     <xsl:par am name="P aramPath"  select="."  />   396     <xsl:par am name="P aramPath"  select="."  />
375     397  
376     <xsl:var iable name ="VarPath"  select="t ranslate($ ParamPath,  '\', '/') " />   398     <xsl:var iable name ="VarPath"  select="t ranslate($ ParamPath,  '\', '/') " />
377     <xsl:cal l-template  name="Mak e-Valid-Pa th-Entries ">   399     <xsl:cal l-template  name="Mak e-Valid-Pa th-Entries ">
378      <xsl:wi th-param n ame="Param Path" sele ct="$VarPa th" />   400      <xsl:wi th-param n ame="Param Path" sele ct="$VarPa th" />
379     </xsl:ca ll-templat e>   401     </xsl:ca ll-templat e>
380    </xsl:tem plate>   402    </xsl:tem plate>
381     403  
382     404  
383    <xsl:temp late name= "Make-Vali d-Path-Ent ries">   405    <xsl:temp late name= "Make-Vali d-Path-Ent ries">
384     <xsl:par am name="P aramPath"  select="."  />   406     <xsl:par am name="P aramPath"  select="."  />
385     407  
386     <xsl:cho ose>   408     <xsl:cho ose>
387      <!-- Mu ltiple pat h entries  exist? -->   409      <!-- Mu ltiple pat h entries  exist? -->
388      <!--                                 -->   410      <!--                                 -->
389      <xsl:wh en test="c ontains($P aramPath,  '/')">   411      <xsl:wh en test="c ontains($P aramPath,  '/')">
390       <xsl:v ariable na me="VarPre fix" selec t="substri ng-before( $ParamPath , '/')" />   412       <xsl:v ariable na me="VarPre fix" selec t="substri ng-before( $ParamPath , '/')" />
391       <xsl:v ariable na me="VarSuf fix" selec t="substri ng-after($ ParamPath,  '/')" />   413       <xsl:v ariable na me="VarSuf fix" selec t="substri ng-after($ ParamPath,  '/')" />
392     414  
393       <xsl:v ariable na me="VarPat hRemainder ">   415       <xsl:v ariable na me="VarPat hRemainder ">
394        <xsl: call-templ ate name=" Make-Valid -Path-Entr ies">   416        <xsl: call-templ ate name=" Make-Valid -Path-Entr ies">
395         <xsl :with-para m name="Pa ramPath" s elect="$Va rSuffix" / >   417         <xsl :with-para m name="Pa ramPath" s elect="$Va rSuffix" / >
396        </xsl :call-temp late>   418        </xsl :call-temp late>
397       </xsl: variable>   419       </xsl: variable>
398     420  
399       <xsl:c hoose>   421       <xsl:c hoose>
400        <xsl: when test= "(string-l ength($Var Prefix) &g t; 0) and  (string-le ngth($VarP athRemaind er) &gt; 0 )">   422        <xsl: when test= "(string-l ength($Var Prefix) &g t; 0) and  (string-le ngth($VarP athRemaind er) &gt; 0 )">
401         <xsl :value-of  select="ww filesystem :Combine($ VarPrefix,  $VarPathR emainder)"  />   423         <xsl :value-of  select="ww filesystem :Combine($ VarPrefix,  $VarPathR emainder)"  />
402        </xsl :when>   424        </xsl :when>
403     425  
404        <xsl: when test= "(string-l ength($Var Prefix) &g t; 0) and  (string-le ngth($VarP athRemaind er) = 0)">   426        <xsl: when test= "(string-l ength($Var Prefix) &g t; 0) and  (string-le ngth($VarP athRemaind er) = 0)">
405         <xsl :value-of  select="ww filesystem :MakeValid FileName($ VarPrefix) " />   427         <xsl :value-of  select="ww filesystem :MakeValid FileName($ VarPrefix) " />
406        </xsl :when>   428        </xsl :when>
407     429  
408        <xsl: when test= "(string-l ength($Var Prefix) =  0) and (st ring-lengt h($VarPath Remainder)  &gt; 0)">   430        <xsl: when test= "(string-l ength($Var Prefix) =  0) and (st ring-lengt h($VarPath Remainder)  &gt; 0)">
409         <xsl :value-of  select="$V arPathRema inder" />   431         <xsl :value-of  select="$V arPathRema inder" />
410        </xsl :when>   432        </xsl :when>
411       </xsl: choose>   433       </xsl: choose>
412      </xsl:w hen>   434      </xsl:w hen>
413     435  
414      <!-- Si ngle path  entry -->   436      <!-- Si ngle path  entry -->
415      <!--                     -->   437      <!--                     -->
416      <xsl:ot herwise>   438      <xsl:ot herwise>
417       <xsl:v alue-of se lect="wwfi lesystem:M akeValidFi leName($Pa ramPath)"  />   439       <xsl:v alue-of se lect="wwfi lesystem:M akeValidFi leName($Pa ramPath)"  />
418      </xsl:o therwise>   440      </xsl:o therwise>
419     </xsl:ch oose>   441     </xsl:ch oose>
420    </xsl:tem plate>   442    </xsl:tem plate>
421     443  
422     444  
423    <xsl:temp late name= "SplitPath ">   445    <xsl:temp late name= "SplitPath ">
424     <xsl:par am name="P aramSplit"  />   446     <xsl:par am name="P aramSplit"  />
425     <xsl:par am name="P aramRule"  />   447     <xsl:par am name="P aramRule"  />
426     448  
427     <!-- Gat her file n aming info  -->   449     <!-- Gat her file n aming info  -->
428     <!--                            -->   450     <!--                            -->
429     <xsl:var iable name ="VarOutpu tDirectory Path" sele ct="wwfile system:Com bine(wwpro jext:GetTa rgetOutput DirectoryP ath(), wwp rojext:Get DocumentGr oupPath($P aramSplit/ @documentI D))" />   451     <xsl:var iable name ="VarOutpu tDirectory Path" sele ct="wwfile system:Com bine(wwpro jext:GetTa rgetOutput DirectoryP ath(), wwp rojext:Get DocumentGr oupPath($P aramSplit/ @documentI D))" />
430     <xsl:var iable name ="VarBaseF ileName">   452     <xsl:var iable name ="VarBaseF ileName">
431      <xsl:va riable nam e="VarFile NameHint"  select="$P aramSplit/ wwsplits:F ileName/@v alue" />   453      <xsl:va riable nam e="VarFile NameHint"  select="$P aramSplit/ wwsplits:F ileName/@v alue" />
432      <xsl:ch oose>   454      <xsl:ch oose>
433       <xsl:w hen test=" string-len gth($VarFi leNameHint ) &gt; 0">   455       <xsl:w hen test=" string-len gth($VarFi leNameHint ) &gt; 0">
434        <xsl: value-of s elect="$Va rFileNameH int" />   456        <xsl: value-of s elect="$Va rFileNameH int" />
435       </xsl: when>   457       </xsl: when>
436     458  
437       <!-- U se origina l document  name if t his docume nt does no t split -- >   459       <!-- U se origina l document  name if t his docume nt does no t split -- >
438       <!--                                                                  -- >   460       <!--                                                                  -- >
439       <xsl:w hen test=" ($ParamSpl it/@positi on = 1) an d (count($ ParamSplit /following -sibling:: wwsplits:S plit[@docu mentID = $ ParamSplit /@document ID]) = 0)" >   461       <xsl:w hen test=" ($ParamSpl it/@positi on = 1) an d (count($ ParamSplit /following -sibling:: wwsplits:S plit[@docu mentID = $ ParamSplit /@document ID]) = 0)" >
440        <xsl: value-of s elect="wwf ilesystem: GetFileNam eWithoutEx tension($P aramSplit/ wwsplits:D ocument/@p ath)" />   462        <xsl: value-of s elect="wwf ilesystem: GetFileNam eWithoutEx tension($P aramSplit/ wwsplits:D ocument/@p ath)" />
441       </xsl: when>   463       </xsl: when>
442     464  
443       <xsl:o therwise>   465       <xsl:o therwise>
444        <xsl: value-of s elect="wwf ilesystem: GetFileNam eWithoutEx tension($P aramSplit/ wwsplits:D ocument/@p ath)" />   466        <xsl: value-of s elect="wwf ilesystem: GetFileNam eWithoutEx tension($P aramSplit/ wwsplits:D ocument/@p ath)" />
445        <xsl: text>.</xs l:text>   467        <xsl: text>.</xs l:text>
446        <xsl: value-of s elect="$Pa ramSplit/w wsplits:Do cument/@po sition" />   468        <xsl: value-of s elect="$Pa ramSplit/w wsplits:Do cument/@po sition" />
447        <xsl: text>.</xs l:text>   469        <xsl: text>.</xs l:text>
448        <xsl: value-of s elect="$Pa ramSplit/@ position"  />   470        <xsl: value-of s elect="$Pa ramSplit/@ position"  />
449       </xsl: otherwise>   471       </xsl: otherwise>
450      </xsl:c hoose>   472      </xsl:c hoose>
451     </xsl:va riable>   473     </xsl:va riable>
452     <xsl:var iable name ="VarExten sionOption " select=" $ParamRule /wwproject :Options/w wproject:O ption[@Nam e = 'file- extension' ]/@Value"  />   474     <xsl:var iable name ="VarExten sionOption " select=" $ParamRule /wwproject :Options/w wproject:O ption[@Nam e = 'file- extension' ]/@Value"  />
453     <xsl:var iable name ="VarExten sion">   475     <xsl:var iable name ="VarExten sion">
454      <xsl:ch oose>   476      <xsl:ch oose>
455       <xsl:w hen test=" string-len gth($VarEx tensionOpt ion) &gt;  0">   477       <xsl:w hen test=" string-len gth($VarEx tensionOpt ion) &gt;  0">
456        <xsl: value-of s elect="$Va rExtension Option" />   478        <xsl: value-of s elect="$Va rExtension Option" />
457       </xsl: when>   479       </xsl: when>
458     480  
459       <xsl:o therwise>   481       <xsl:o therwise>
460        <xsl: value-of s elect="$Pa rameterDef aultPageEx tension" / >   482        <xsl: value-of s elect="$Pa rameterDef aultPageEx tension" / >
461       </xsl: otherwise>   483       </xsl: otherwise>
462      </xsl:c hoose>   484      </xsl:c hoose>
463     </xsl:va riable>   485     </xsl:va riable>
464     486  
465     <xsl:var iable name ="VarName" >   487     <xsl:var iable name ="VarName" >
466      <xsl:va lue-of sel ect="$VarB aseFileNam e" />   488      <xsl:va lue-of sel ect="$VarB aseFileNam e" />
467      <xsl:va lue-of sel ect="$VarE xtension"  />   489      <xsl:va lue-of sel ect="$VarE xtension"  />
468     </xsl:va riable>   490     </xsl:va riable>
469     <xsl:var iable name ="VarValid Path">   491     <xsl:var iable name ="VarValid Path">
470      <xsl:ca ll-templat e name="Ma ke-Valid-P ath">   492      <xsl:ca ll-templat e name="Ma ke-Valid-P ath">
471       <xsl:w ith-param  name="Para mPath" sel ect="$VarN ame" />   493       <xsl:w ith-param  name="Para mPath" sel ect="$VarN ame" />
472      </xsl:c all-templa te>   494      </xsl:c all-templa te>
473     </xsl:va riable>   495     </xsl:va riable>
474     <xsl:var iable name ="VarPath"  select="w wfilesyste m:Combine( $VarOutput DirectoryP ath, $VarV alidPath)"  />   496     <xsl:var iable name ="VarPath"  select="w wfilesyste m:Combine( $VarOutput DirectoryP ath, $VarV alidPath)"  />
475     497  
476     <xsl:val ue-of sele ct="$VarPa th" />   498     <xsl:val ue-of sele ct="$VarPa th" />
477    </xsl:tem plate>   499    </xsl:tem plate>
478     500  
479     501  
480    <xsl:temp late name= "FramePath ">   502    <xsl:temp late name= "FramePath ">
481     <xsl:par am name="P aramSplit"  />   503     <xsl:par am name="P aramSplit"  />
482     <xsl:par am name="P aramFrame"  />   504     <xsl:par am name="P aramFrame"  />
483     <xsl:par am name="P aramRule"  />   505     <xsl:par am name="P aramRule"  />
484     506  
485     <!-- Gat her file n aming info  -->   507     <!-- Gat her file n aming info  -->
486     <!--                            -->   508     <!--                            -->
487     <xsl:var iable name ="VarOutpu tDirectory Path" sele ct="wwfile system:Com bine(wwpro jext:GetTa rgetOutput DirectoryP ath(), wwp rojext:Get DocumentGr oupPath($P aramSplit/ @documentI D))" />   509     <xsl:var iable name ="VarOutpu tDirectory Path" sele ct="wwfile system:Com bine(wwpro jext:GetTa rgetOutput DirectoryP ath(), wwp rojext:Get DocumentGr oupPath($P aramSplit/ @documentI D))" />
488     <xsl:var iable name ="VarImage sDirectory Path" sele ct="wwfile system:Com bine($VarO utputDirec toryPath,  'images')"  />   510     <xsl:var iable name ="VarImage sDirectory Path" sele ct="wwfile system:Com bine($VarO utputDirec toryPath,  'images')"  />
489     <xsl:var iable name ="VarBaseF ileName">   511     <xsl:var iable name ="VarBaseF ileName">
490      <xsl:va riable nam e="VarFile NameHint"  select="$P aramFrame/ wwsplits:F ileName/@v alue" />   512      <xsl:va riable nam e="VarFile NameHint"  select="$P aramFrame/ wwsplits:F ileName/@v alue" />
491      <xsl:ch oose>   513      <xsl:ch oose>
492       <xsl:w hen test=" string-len gth($VarFi leNameHint ) &gt; 0">   514       <xsl:w hen test=" string-len gth($VarFi leNameHint ) &gt; 0">
493        <xsl: value-of s elect="$Va rFileNameH int" />   515        <xsl: value-of s elect="$Va rFileNameH int" />
494       </xsl: when>   516       </xsl: when>
495     517  
496       <xsl:o therwise>   518       <xsl:o therwise>
497        <xsl: value-of s elect="wwf ilesystem: GetFileNam eWithoutEx tension($P aramSplit/ wwsplits:D ocument/@p ath)" />   519        <xsl: value-of s elect="wwf ilesystem: GetFileNam eWithoutEx tension($P aramSplit/ wwsplits:D ocument/@p ath)" />
498        <xsl: text>.</xs l:text>   520        <xsl: text>.</xs l:text>
499        <xsl: value-of s elect="$Pa ramSplit/w wsplits:Do cument/@po sition" />   521        <xsl: value-of s elect="$Pa ramSplit/w wsplits:Do cument/@po sition" />
500        <xsl: text>.</xs l:text>   522        <xsl: text>.</xs l:text>
501        <xsl: value-of s elect="$Pa ramSplit/@ position"  />   523        <xsl: value-of s elect="$Pa ramSplit/@ position"  />
502        <xsl: text>.</xs l:text>   524        <xsl: text>.</xs l:text>
503        <xsl: value-of s elect="$Pa ramFrame/@ position"  />   525        <xsl: value-of s elect="$Pa ramFrame/@ position"  />
504       </xsl: otherwise>   526       </xsl: otherwise>
505      </xsl:c hoose>   527      </xsl:c hoose>
506     </xsl:va riable>   528     </xsl:va riable>
507     <xsl:var iable name ="VarExten sionOption " select=" $ParamRule /wwproject :Options/w wproject:O ption[@Nam e = 'file- extension' ]/@Value"  />   529     <xsl:var iable name ="VarExten sionOption " select=" $ParamRule /wwproject :Options/w wproject:O ption[@Nam e = 'file- extension' ]/@Value"  />
508     <xsl:var iable name ="VarExten sion">   530     <xsl:var iable name ="VarExten sion">
509      <xsl:ch oose>   531      <xsl:ch oose>
510       <xsl:w hen test=" string-len gth($VarEx tensionOpt ion) &gt;  0">   532       <xsl:w hen test=" string-len gth($VarEx tensionOpt ion) &gt;  0">
511        <xsl: value-of s elect="$Va rExtension Option" />   533        <xsl: value-of s elect="$Va rExtension Option" />
512       </xsl: when>   534       </xsl: when>
513     535  
514       <xsl:o therwise>   536       <xsl:o therwise>
515        <xsl: value-of s elect="$Pa rameterDef aultGraphi cExtension " />   537        <xsl: value-of s elect="$Pa rameterDef aultGraphi cExtension " />
516       </xsl: otherwise>   538       </xsl: otherwise>
517      </xsl:c hoose>   539      </xsl:c hoose>
518     </xsl:va riable>   540     </xsl:va riable>
519     541  
520     <xsl:var iable name ="VarName" >   542     <xsl:var iable name ="VarName" >
521      <xsl:va lue-of sel ect="$VarB aseFileNam e" />   543      <xsl:va lue-of sel ect="$VarB aseFileNam e" />
522      <xsl:va lue-of sel ect="$VarE xtension"  />   544      <xsl:va lue-of sel ect="$VarE xtension"  />
523     </xsl:va riable>   545     </xsl:va riable>
524     <xsl:var iable name ="VarValid Path">   546     <xsl:var iable name ="VarValid Path">
525      <xsl:ca ll-templat e name="Ma ke-Valid-P ath">   547      <xsl:ca ll-templat e name="Ma ke-Valid-P ath">
526       <xsl:w ith-param  name="Para mPath" sel ect="$VarN ame" />   548       <xsl:w ith-param  name="Para mPath" sel ect="$VarN ame" />
527      </xsl:c all-templa te>   549      </xsl:c all-templa te>
528     </xsl:va riable>   550     </xsl:va riable>
529     <xsl:var iable name ="VarPath"  select="w wfilesyste m:Combine( $VarImages DirectoryP ath, $VarV alidPath)"  />   551     <xsl:var iable name ="VarPath"  select="w wfilesyste m:Combine( $VarImages DirectoryP ath, $VarV alidPath)"  />
530     552  
531     <xsl:val ue-of sele ct="$VarPa th" />   553     <xsl:val ue-of sele ct="$VarPa th" />
532    </xsl:tem plate>   554    </xsl:tem plate>
533          
534          
535    <xsl:temp late name= "WIFAllows ByReferenc e">        
536     <xsl:par am name="P aramFrame"  />        
537          
538     <!-- WIF  structure  allows fo r by refer ence graph ic             -->        
539     <!--                                                                -->        
540     <!--  1.  By refere nce facet  and no non -marker ne sted conte nt. -->        
541     <!--  2.  Document  only facet  with nest ed content                -->        
542     <!--      containin g only a s ingle fram e with a                  -->        
543     <!--      by refere nce facet  and no non -marker ne sted conte nt. -->        
544     <!--                                                                -->        
545     <xsl:var iable name ="VarPossi bleByRefer enceFrame" >        
546      <xsl:ch oose>        
547       <!-- B y referenc e facet ex ists -->        
548       <!--                              -->        
549       <xsl:w hen test=" count($Par amFrame/ww doc:Frame/ wwdoc:Face ts/wwdoc:F acet[@type  = 'by-ref erence'])  &gt; 0">        
550        <xsl: call-templ ate name=" CheckByRef Content">        
551         <xsl :with-para m name="Pa ramContent " select=" $ParamFram e/wwdoc:Fr ame/wwdoc: Content" / >        
552        </xsl :call-temp late>        
553       </xsl: when>        
554          
555       <!-- N ested cont ent exists  -->        
556       <!--                          -->        
557       <xsl:o therwise>        
558        <!--  Only 'docu ment' face ts exist - ->        
559        <!--                                 - ->        
560        <xsl: if test="c ount($Para mFrame/wwd oc:Frame/w wdoc:Facet s/wwdoc:Fa cet[@type  = 'documen t']) = cou nt($ParamF rame/wwdoc :Frame/wwd oc:Facets/ wwdoc:Face t)">        
561         <!--  Content c ontains a  single fra me only -- >        
562         <!--                                          -- >        
563         <xsl :if test=" count($Par amFrame/ww doc:Frame/ wwdoc:Cont ent/wwdoc: *) = count ($ParamFra me/wwdoc:F rame/wwdoc :Content/w wdoc:Frame )">        
564          <!- - By refer ence facet  exists -- >        
565          <!- -                             -- >        
566          <xs l:variable  name="Var FirstNeste dFrame" se lect="$Par amFrame/ww doc:Frame/ wwdoc:Cont ent/wwdoc: Frame[1]"  />        
567          <xs l:if test= "count($Va rFirstNest edFrame/ww doc:Facets /wwdoc:Fac et[@type =  'by-refer ence']) &g t; 0">        
568           <x sl:call-te mplate nam e="CheckBy RefContent ">        
569            < xsl:with-p aram name= "ParamCont ent" selec t="$ParamF rame/wwdoc :Frame/wwd oc:Content /wwdoc:Fra me[positio n() &gt; 1 ]" />        
570           </ xsl:call-t emplate>        
571          </x sl:if>        
572         </xs l:if>        
573        </xsl :if>        
574       </xsl: otherwise>        
575      </xsl:c hoose>        
576     </xsl:va riable>        
577          
578     <!-- By  reference?  -->        
579     <!--                 -->        
580     <xsl:val ue-of sele ct="$VarPo ssibleByRe ferenceFra me = strin g(true())"  />        
581    </xsl:tem plate>        
582          
583          
584    <xsl:temp late name= "CheckByRe fContent">        
585     <xsl:par am name="P aramConten t" />        
586          
587     <!-- Ens ure conten t block is  compatibl e -->        
588     <!--                                        -->        
589     <xsl:var iable name ="VarCheck ByRefConte nt">        
590      <xsl:ap ply-templa tes select ="$ParamCo ntent" mod e="wwmode: CheckByRef Content" / >        
591     </xsl:va riable>        
592          
593     <xsl:cho ose>        
594      <!-- Ne sted conte nt is comp atable -->        
595      <!--                                 -->        
596      <xsl:wh en test="s tring-leng th($VarChe ckByRefCon tent) = 0" >        
597       <xsl:v alue-of se lect="true ()" />        
598      </xsl:w hen>        
599          
600      <!-- Ne sted conte nt is inco mpatable - ->        
601      <!--                                   - ->        
602      <xsl:ot herwise>        
603       <xsl:v alue-of se lect="fals e()" />        
604      </xsl:o therwise>        
605     </xsl:ch oose>        
606    </xsl:tem plate>        
607          
608    <xsl:temp late match ="wwdoc:Co ntent | ww doc:Paragr aph" mode= "wwmode:Ch eckByRefCo ntent">        
609     <xsl:par am name="P aramElemen t" select= "." />        
610          
611     <xsl:cho ose>        
612      <!-- Fi rst one al lowed -->        
613      <!--                     -->        
614      <xsl:wh en test="c ount($Para mElement/p receding-s ibling::ww doc:*[loca l-name() =  local-nam e($ParamEl ement)]) =  0">        
615       <xsl:a pply-templ ates mode= "wwmode:Ch eckByRefCo ntent" />        
616      </xsl:w hen>        
617          
618      <!-- No t allowed  -->        
619      <!--               -->        
620      <xsl:ot herwise>        
621       <xsl:t ext>NA</xs l:text>        
622      </xsl:o therwise>        
623     </xsl:ch oose>        
624    </xsl:tem plate>        
625          
626          
627    <xsl:temp late match ="wwdoc:Fr ame | wwdo c:TextRun"  mode="wwm ode:CheckB yRefConten t">        
628     <!-- All owed -->        
629     <!--          -->        
630     <xsl:app ly-templat es mode="w wmode:Chec kByRefCont ent" />        
631    </xsl:tem plate>        
632          
633          
634    <xsl:temp late match ="wwdoc:Al iases | ww doc:Attrib ute | wwdo c:Descript ion | wwdo c:Marker |  wwdoc:Lin k | wwdoc: Style" mod e="wwmode: CheckByRef Content">        
635     <!-- All owed -->        
636     <!--          -->        
637    </xsl:tem plate>        
638          
639          
640    <xsl:temp late match ="wwdoc:Fa cets" mode ="wwmode:C heckByRefC ontent">        
641     <xsl:par am name="P aramFacets " select=" ." />        
642          
643     <xsl:if  test="coun t($ParamFa cets/wwdoc :Facet[@ty pe != 'doc ument']) & gt; 0">        
644      <!-- No t allowed  -->        
645      <!--               -->        
646      <xsl:te xt>NA</xsl :text>        
647     </xsl:if >        
648    </xsl:tem plate>        
649          
650          
651    <xsl:temp late match ="wwdoc:*"  mode="wwm ode:CheckB yRefConten t">        
652     <!-- Not  allowed - ->        
653     <!--              - ->        
654     <xsl:tex t>NA</xsl: text>        
655    </xsl:tem plate>        
656          
657          
658    <xsl:temp late match ="text() |  comment()  | process ing-instru ction()" m ode="wwmod e:CheckByR efContent" >        
659     <!-- Not hing to do  -->        
660     <!--                 -->        
661    </xsl:tem plate>        
662   </xsl:styl esheet>   555   </xsl:styl esheet>