This step analyses the structure of the layout XSL, to explain what the main parts of the program are doing.
1.  WAMs use the XSL Transformation language (XSLT) to process the XML output by a WebRoutine to produce a web page – an XHTML document. You can learn more about XSL at the [www.w3schools.com|http://www.w3schools.com] web site.
     The first few lines of code, define the XSL namespace standards used in the document.
<?xml version="1.0" encoding="UTF-8"?><!-- (c) 2003, 2011 LANSA                      --><!-- XHTML WAM Layout                          --><!-- $Revision:: 12                          $ --><xsl:transform version="1.0" exclude-result-prefixes="lxml wd tsml"               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"               xmlns:lxml="http://www.lansa.com/2002/XML/Runtime-Data"               xmlns:wd="http://www.lansa.com/2002/XSL/Weblet-Design"               xmlns:tsml="http://www.lansa.com/2002/XML/Generation-Metadata"               xmlns="http://www.w3.org/1999/xhtml">  
     XSL code such as *<xsl:if . . .>* has a namespace of *xsl* and is a standard defined by the World Wide Web consortium. 
     XSL code such as *<wd:external-resources. . .>* has a namespace of *wd* and is LANSA defined standard.
2.  The <xsl:import . ./> statements, import other weblets into this layout:
<span style="color: #4b0082">&lt;</span>!-- Standard imports                                       --<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span>!-- Import the weblet XSL files used by your layout here   --<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span>!-- e.g.                                                   --<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:import </span><span style="color: #0000ff">href</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">std_variables.xsl</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:import </span><span style="color: #0000ff">href</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">std_types.xsl</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:import </span><span style="color: #0000ff">href</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">std_hidden.xsl</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:import </span><span style="color: #0000ff">href</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">std_style_v2.xsl</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:import </span><span style="color: #0000ff">href</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">std_script.xsl</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:import </span><span style="color: #0000ff">href</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">std_messages.xsl</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:import </span><span style="color: #0000ff">href</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">std_menubar.xsl</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:output </span><span style="color: #0000ff">method</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">xml</span>"<span style="color: #008000"> </span><span style="color: #0000ff">omit-xml-declaration</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">yes</span>"<span style="color: #008000"> </span><span style="color: #0000ff">encoding</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">UTF-8</span>"               <span style="color: #0000ff">indent</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">no</span>" <span style="color: #0000ff">doctype-public</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">-//W3C//DTD XHTML 1.0 Strict//EN</span>"               <span style="color: #0000ff">doctype-system</span><span style="color: #708090">=</span>"<span style="color: #a52a2a"><span class="nobr"><a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" class="external-link" rel="nofollow">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd<sup><img class="rendericon" src="/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span></span>" /<span style="color: #4b0082">&gt;</span>  
     When the messages and menu bar weblets were added to this layout in the graphical editor, import statements for std_messages.xsl and std_menubar.xls were added.
3.  The XSL statements which begin *wd:* are LANSA weblet design statements which are used within LANSA's graphical web page editor (actually an XSL editor). *wd:* is a LANSA namespace.
<span style="color: #4b0082">&lt;</span>wd:external-resources<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span>wd:style <span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">XWT08J</span>" /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span>wd:style <span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">XWT08L101</span>" /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span>wd:style <span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">IIILAY01</span>" /<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span>/wd:external-resources<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span>wd:definition<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span>wd:default-theme /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span>wd:group <span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">Layout Weblets</span>" /<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span>/wd:definition<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span>wd:template <span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">iii_layout</span>"<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span>wd:description <span style="color: #0000ff">icon</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">icons/std_layout.ico</span>"<span style="color: #4b0082">&gt;</span>         <span style="color: #4b0082">&lt;</span>wd:name <span style="color: #0000ff">lang</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">ENG</span>"<span style="color: #4b0082">&gt;</span>iii Acme Layout<span style="color: #4b0082">&lt;</span>/wd:name<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span>/wd:description<span style="color: #4b0082">&gt;</span>   <span style="color: #4b0082">&lt;</span>/wd:template<span style="color: #4b0082">&gt;</span>  
     The external resources will define links to external style sheets to be used by web pages based on this layout.
     These tags also provide a name, description, group name and icon to be used for this weblet in the Repository.
!worddavbbf6ec44d1314d8fdf85998e09fc7b2d.png|height=216,width=499!
4.  xsl:templates are like subroutines. They can be called, passing parameters into the template.
<span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:template </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"iii_layout"<span style="color: #008000"> </span><span style="color: #0000ff">wd:role</span><span style="color: #708090">=</span>"std:layout"<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"window_title"                 <span style="color: #0000ff">select</span><span style="color: #708090">=</span>"$lweb_context/lxml:webapplication-title"                 <span style="color: #0000ff">wd:type</span><span style="color: #708090">=</span>"std:mtxt_variable" <span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>"" /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"has_form"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"true()"<span style="color: #008000"> </span><span style="color: #0000ff">wd:type</span><span style="color: #708090">=</span>"std:boolean"                 <span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>"" /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"show_title"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"true()"<span style="color: #008000"> </span><span style="color: #0000ff">wd:type</span><span style="color: #708090">=</span>"std:boolean"                 <span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>"" /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"title_text"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"$lweb_context/lxml:webroutine-title"                 <span style="color: #0000ff">wd:type</span><span style="color: #708090">=</span>"std:mtxt_variable" <span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>"" /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"javascript_files"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"''"<span style="color: #008000"> </span><span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>""<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"jQueryNoConflict"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"false()"<span style="color: #008000"> </span><span style="color: #0000ff">wd:type</span><span style="color: #708090">=</span>"std:boolean"                 <span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>"" /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"css_files"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"''"<span style="color: #008000"> </span><span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>""<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"output_charset"                 <span style="color: #0000ff">select</span><span style="color: #708090">=</span>"/lxml:data/lxml:server-instructions/lxml:client-charset"                 <span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>"" /<span style="color: #4b0082">&gt;</span>      <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"backcompat_theme"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"false()"<span style="color: #008000"> </span><span style="color: #0000ff">wd:type</span><span style="color: #708090">=</span>"std:boolean"                 <span style="color: #0000ff">wd:tip_id</span><span style="color: #708090">=</span>"" /<span style="color: #4b0082">&gt;</span>  
     When you compile a WAM using this Layout Weblet, the generated WAM layout uses the layout weblet specified. When you then design a WebRoutines's web page, these parameters will be shown on the Details tab and could be set at design time and or at runtime.
!worddavccbd8397c88ba2debc30f7cf3a9a1b20.png|height=278,width=244!
5.  The XHTML definition begins here. Note that an *xsl:if* is testing the value of an environment language variable ($lweb_ISO_language). Further down another *xsl:if* refers to *$window_title* which is the value of a boolean input parameter.
<span style="color: #4b0082">&lt;</span>html<span style="color: #4b0082">&gt;</span>         <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:if </span><span style="color: #0000ff">test</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$lweb_ISO_language != ''</span>"<span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:attribute </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">xml:lang</span>"<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:value-of </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$lweb_ISO_language</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:attribute</span><span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:attribute </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">lang</span>"<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:value-of </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$lweb_ISO_language</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:attribute</span><span style="color: #4b0082">&gt;</span>         <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:if</span><span style="color: #4b0082">&gt;</span>         <span style="color: #4b0082">&lt;</span>head<span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span>title<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:value-of </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$window_title</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span>/title<span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:choose</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:when </span><span style="color: #0000ff">test</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$backcompat_theme</span>"<span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:call-template </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">style</span>"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">theme_css_filename</span>"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">''</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">css_files</span>"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$css_files</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:call-template</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:when</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:otherwise</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:call-template </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">style</span>"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">theme_css_filename</span>"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">'none'</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">css_files</span>"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$css_files</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:call-template</span><span style="color: #4b0082">&gt;</span>                <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:otherwise</span><span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:choose</span><span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:call-template </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">script</span>"<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">javascript_files</span>"                               <span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$javascript_files</span>" /<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">trap_script_errors</span>"<span style="color: #008000"> </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">false()</span>"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">jQueryNoConflict</span>"                               <span style="color: #0000ff">select</span><span style="color: #708090">=</span>"<span style="color: #a52a2a">$jQueryNoConflict</span>" /<span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:call-template</span><span style="color: #4b0082">&gt;</span>         <span style="color: #4b0082">&lt;</span>/head<span style="color: #4b0082">&gt;</span>  
     This code defines the contents of the head area of the web page. The XSL logic is generating XHTML based on the parameters provided at runtime.
6.  Your page content is output within the HTML <body></body> tags.
<span style="color: #4b0082">&lt;</span><span style="color: #ff0000">body </span><span style="color: #0000ff">class</span><span style="color: #708090">=</span>"acme_layout"<span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:variable </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"containerName"<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:choose</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:when </span><span style="color: #0000ff">test</span><span style="color: #708090">=</span>"$has_form"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:text</span><span style="color: #4b0082">&gt;</span>form<span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:text</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:when</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:otherwise</span><span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:text</span><span style="color: #4b0082">&gt;</span>div<span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:text</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:otherwise</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:choose</span><span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:variable</span><span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:element </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"\{$containerName\}"<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:attribute </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"id"<span style="color: #4b0082">&gt;</span>lpage_container<span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:attribute</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:if </span><span style="color: #0000ff">test</span><span style="color: #708090">=</span>"$has_form"<span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:attribute </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"onsubmit"<span style="color: #4b0082">&gt;</span>return _HandleDefaultSubmit(this);<span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:attribute</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:attribute </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"method"<span style="color: #4b0082">&gt;</span>post<span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:attribute</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:attribute </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"name"<span style="color: #4b0082">&gt;</span>LANSA<span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:attribute</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:attribute </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"action"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:value-of </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"$lweb_context/lxml:action-request"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>?<span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:attribute</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:call-template </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"hidden_fields"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:if</span><span style="color: #4b0082">&gt;</span>  
     The xsl:choose logic (like an RDML CASE loop) outputs a <form> tag or a <div> depending on the variable $has_form. *Has_form* is a property of the layout, and is shown on the Properties sheet on the Design tab.
7.  This section is largely the code which you provided and represents the design of your web page, when combined with the necessary stylesheet.
<span style="color: #4b0082">&lt;</span><span style="color: #ff0000">div </span><span style="color: #0000ff">id</span><span style="color: #708090">=</span>"acme_header"<span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">span </span><span style="color: #0000ff">style</span><span style="color: #708090">=</span>"margin-left:10px; padding-top:0px"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">h1</span><span style="color: #4b0082">&gt;</span>Acme IT Services<span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">h1</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">span</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">br </span>/<span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">span </span><span style="color: #0000ff">style</span><span style="color: #708090">=</span>"margin-left: 20px"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">h2</span><span style="color: #4b0082">&gt;</span>Software for Business<span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">h2</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">span</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">div </span><span style="color: #0000ff">id</span><span style="color: #708090">=</span>"lpage_navBar"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:call-template </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"std_menubar"<span style="color: #4b0082">&gt;</span>                        <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"menu_items"                                        <span style="color: #0000ff">select</span><span style="color: #708090">=</span>"document('')/*/lxml:data/lxml:menu\[@id='E449B9B6900F4392AF69DE5097BB506E'\]" /<span style="color: #4b0082">&gt;</span>                         <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:with-param </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"name"                                        <span style="color: #0000ff">select</span><span style="color: #708090">=</span>"concat('o', position(), '_LANSA_17914')" /<span style="color: #4b0082">&gt;</span>                        <span style="color: #4b0082">&lt;</span><span style="color: #a9a9a9">!--</span><span style="color: #808080"> &lt;xsl:with-param name="listname" select="?" /&gt; </span><span style="color: #a9a9a9">&#8211;</span><span style="color: #4b0082">&gt;</span>                        <span style="color: #4b0082">&lt;</span><span style="color: #a9a9a9">!--</span><span style="color: #808080"> &lt;xsl:with-param name="orientation" select="?" /&gt; </span><span style="color: #a9a9a9">&#8211;</span><span style="color: #4b0082">&gt;</span>                        <span style="color: #4b0082">&lt;</span><span style="color: #a9a9a9">!--</span><span style="color: #808080"> &lt;xsl:with-param name="show_arrows" select="?" /&gt; </span><span style="color: #a9a9a9">&#8211;</span><span style="color: #4b0082">&gt;</span>                        <span style="color: #4b0082">&lt;</span><span style="color: #a9a9a9">!--</span><span style="color: #808080"> &lt;xsl:with-param name="submit_selected_to" select="?" /&gt; </span><span style="color: #a9a9a9">&#8211;</span><span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:call-template</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">div</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">div</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">div </span><span style="color: #0000ff">id</span><span style="color: #708090">=</span>"acme_footer"<span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">span </span><span style="color: #0000ff">style</span><span style="color: #708090">=</span>"margin-left: 10px; padding-top:5px"<span style="color: #4b0082">&gt;</span>© Acme Ltd 2011<span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">span</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">div</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">div </span><span style="color: #0000ff">id</span><span style="color: #708090">=</span>"acme_sidebar"<span style="color: #4b0082">&gt;&lt;</span>/<span style="color: #ff0000">div</span><span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">div </span><span style="color: #0000ff">id</span><span style="color: #708090">=</span>"acme_content"<span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">div </span><span style="color: #0000ff">id</span><span style="color: #708090">=</span>"acme_messagesContainer"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:call-template </span><span style="color: #0000ff">name</span><span style="color: #708090">=</span>"messages"<span style="color: #4b0082">&gt;</span>                        <span style="color: #4b0082">&lt;</span><span style="color: #a9a9a9">!--</span><span style="color: #808080"> &lt;xsl:with-param name="target_window_name" select="?" /&gt; </span><span style="color: #a9a9a9">&#8211;</span><span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:call-template</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">div</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:if </span><span style="color: #0000ff">test</span><span style="color: #708090">=</span>"$show_title"<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span><span style="color: #ff0000">h2 </span><span style="color: #0000ff">class</span><span style="color: #708090">=</span>"title"<span style="color: #4b0082">&gt;</span>                        <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:value-of </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"$title_text"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>                     <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">h2</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:if</span><span style="color: #4b0082">&gt;</span>                  <span style="color: #4b0082">&lt;</span><span style="color: #008000">xsl:apply-templates </span><span style="color: #0000ff">select</span><span style="color: #708090">=</span>"*"<span style="color: #008000"> </span>/<span style="color: #4b0082">&gt;</span>               <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">div</span><span style="color: #4b0082">&gt;</span>            <span style="color: #4b0082">&lt;</span>/<span style="color: #008000">xsl:element</span><span style="color: #4b0082">&gt;</span>         <span style="color: #4b0082">&lt;</span>/<span style="color: #ff0000">body</span><span style="color: #4b0082">&gt;</span>  
     This code also includes the menu bar and messages weblets which you added using the graphical editor.
     The <xsl:apply-templates select="*" /> outputs your WebRoutine fields and lists, together with output from any weblets which were added to the page, such as Push Buttons.