source: main/trunk/ibisph-view/src/main/webapp/xslt/html/ExpandableSectionSelectionsListPage.xslt @ 22751

Last change on this file since 22751 was 22407, checked in by GarthBraithwaite_STG, 9 months ago

view - qm ds and di fixes. ContentContainer? title level to headingLevel to better match use. Fixed SORT_ORDER typo. Removed additionalClasses" select="'Text'.

File size: 5.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2
3<xsl:stylesheet version="3.0" 
4        xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" 
5        xmlns:ibis="http://www.ibisph.org"
6
7        exclude-result-prefixes="ibis"
8>
9        <xsl:import href="Page.xslt"/>
10
11        <ibis:doc>
12                <name>html/ExpandableSectionSelectionsListPage</name>
13                <summary>Core templates that produce a URL based Section Selection Tree page</summary>
14                <description>
15                        USED BY query/selection/Page.xslt and secure/selection/SelectionPage.xslt
16                </description>
17        </ibis:doc>
18
19
20        <!-- ~~~~~~~~~~~~~~~~~~~~~~~ PARAMS / VARIABLES ~~~~~~~~~~~~~~~~~~~~~~~~ -->
21        <xsl:param name="document"
22                ibis:doc="Selection XML document which contains all the applicable
23                        'ibis:include' files.  There are several ways to do this functionality.
24                        1) two step process involving a Java code,
25                        2) use an XSL translator that supports xinclude,
26                        3) use an XSLT variable that contains the fully processed document.
27                        The latter approach is used in this situation because most selection
28                        pages are quite small and this option does not involve any outside
29                        dependence plus, this file should/is typically artifacted.  The key
30                        to this solution is with the apply-templates and the match that acts
31                        on 'ibis:include' elements."
32        >
33                <xsl:apply-templates mode="ibis.copy" select="/*/*"/>
34        </xsl:param>
35
36
37        <xsl:param name="Page.pageTitle" select="$document/TITLE"
38                ibis:doc="Set to 'TITLE' element's text to be used for the page's title text."
39        />
40
41        <xsl:param name="Page.metaDescription" select="$document/DESCRIPTION"
42                ibis:doc="Page/XML specific HTML template API implementation that uses
43                        the 'DESCRIPTION' element for the text.
44                "
45        />
46
47        <xsl:param name="Page.metaKeywords" select="$document/KEYWORDS"
48                ibis:doc="Page/XML specific HTML template API implementation that uses
49                        the 'KEYWORDS' element for the text.
50                "
51        />
52
53        <xsl:param name="ExpandableSectionSelectionsListPage.expandableListControlType" select="'checkbox'"
54                ibis:doc="Default expandable content control type.  Valid values are '' (shows everything)
55                        'radio' (shows only 1 at a time - collapses all others) and 'checkbox' (shows what was
56                        clicked on until clicked again to collapse).  This parameter makes it easy for an adopter
57                        to set this value via ss.xslt or some other xslt code.
58                "
59        />
60
61
62        <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TEMPLATES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
63        <xsl:template name="Page.contentBody"
64                ibis:doc="Main page content template that creates the overview
65                        section, quick selection, and advanced selection sections."
66        >
67
68                <!-- Setup each major section.  Typically the quick and advanced selection sections. -->
69                <xsl:choose>
70                        <xsl:when test="exists($document/SECTIONS/SECTION)">
71
72                                <xsl:call-template name="ContentContainer.overviews">
73                                        <xsl:with-param name="overviews" select="$document/OVERVIEWS"/>
74                                </xsl:call-template>
75
76                                <xsl:for-each select="$document/SECTIONS/SECTION">
77                                        <xsl:call-template name="ContentContainer.expandable">
78                                                <xsl:with-param name="controlID"   select="concat('expandableSection.', position())"/>
79                                                <xsl:with-param name="controlName" select="NAME"/>
80                                                <xsl:with-param name="title"       select="TITLE"/>
81                                                <xsl:with-param name="description" select="DESCRIPTION"/>
82                                                <xsl:with-param name="content">
83                                                        <xsl:call-template name="SelectionsList.processSelections">
84                                                                <xsl:with-param name="selections"     select="SELECTIONS"/>
85                                                                <xsl:with-param name="containerClass" select="'ExpandableList ExtraWhiteSpace'"/>
86                                                                <xsl:with-param name="controlType"    select="$ExpandableSectionSelectionsListPage.expandableListControlType"/>
87                                                        </xsl:call-template>
88                                                </xsl:with-param>
89                                                <xsl:with-param name="show"       
90                                                        select="
91                                                                exists(SHOW) or
92                                                                (count(current()//SELECTIONS)=1) or
93                                                                (position()=1)
94                                                        "
95                                                />
96                                        </xsl:call-template>
97                                </xsl:for-each>
98                        </xsl:when>
99
100                        <xsl:otherwise>
101                                <xsl:call-template name="ContentContainer.fixed">
102                                        <xsl:with-param name="title" select="'Overview'"/>
103                                        <xsl:with-param name="content">
104                                                <xsl:for-each select="$document/OVERVIEWS/OVERVIEW">
105                                                        <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
106                                                        <section>
107                                                        <xsl:call-template name="ContentContainer.overviewsOverview">
108                                                                <xsl:with-param name="headingLevel" select="$ContentContainer.headingLevel+1"/>
109                                                                <xsl:with-param name="overview" select="."/>
110                                                        </xsl:call-template>
111                                                        </section>
112                                                </xsl:for-each>
113                                        </xsl:with-param>
114                                        <xsl:with-param name="addWikiAttribute" select="true()"/>
115                                </xsl:call-template>
116
117                                <xsl:call-template name="SelectionsList.processSelections">
118                                        <xsl:with-param name="selections"     select="$document/SELECTIONS"/>
119                                        <xsl:with-param name="containerClass" select="'ExpandableList ExtraWhiteSpace'"/>
120                                        <xsl:with-param name="controlType"    select="$ExpandableSectionSelectionsListPage.expandableListControlType"/>
121                                </xsl:call-template>
122                        </xsl:otherwise>
123
124                </xsl:choose>
125        </xsl:template>
126
127</xsl:stylesheet>
128<!-- ============================= End of File ============================= -->
129
Note: See TracBrowser for help on using the repository browser.