source: main/trunk/ibisph-view/src/main/webapp/xslt/html/community/indicators/Page.xslt @ 22274

Last change on this file since 22274 was 22274, checked in by GarthBraithwaite_STG, 4 months ago

view - Going through cleanup.

File size: 10.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
12        <ibis:doc>
13                <name>html/community/indicators/Page</name>
14                <summary>Default core code that produces the Community profile snapshot</summary>
15                <description>
16                        Main page templates for the community profile indicators list Report.
17                </description>
18        </ibis:doc>
19
20
21        <xsl:param name="Page.pageTitle" ibis:doc="Page's browser title text."
22                select="concat(
23                        $Page.communityDimensionValue/TITLE,
24                        ' ',
25                        ibis:getDimensionTitle($Page.communityDimension),
26                        ' Community Health Profile '
27                )"
28        />
29        <xsl:param name="Page.contentTitle" ibis:doc="Page's content title text."
30                select="concat(
31                        $Page.communityDimensionValue/TITLE,
32                        ' ',
33                        ibis:getDimensionTitle($Page.communityDimension),
34                        ' Community Health Profile'
35                )"
36        />
37
38        <xsl:param name="Page.noCommunityIndicatorRowsMessageContent">
39                <div class="Note">
40                        <h3>Sorry, no data:</h3>
41                        There is not any health indicator data currently available for the
42                        selected combination of Set of Health Indicators and community.
43                        Please try a different set of health indicators or a different
44                        community.
45                </div>
46        </xsl:param>
47
48
49<!-- GARTH TODO: This is code for doing the compare table on a facts page etc.
50        <xsl:variable name="Page.demographicPublishedIndicators" select="document( ibis:getContentPath('xml/indicator/published_indicators.xml'), /)//PUBLISHED_INDICATOR[DEMOGRAPHIC_FLAG = 'x']"/>
51        <xsl:variable name="Page.communityDemographicPublishedIndicators" select="$Page.demographicPublishedIndicators//DIMENSION_COMBINATION[(DIMENSION_1/NAME = $Page.dimensionName) and not(DIMENSION_2)]"/>
52                <xsl:variable name="communityIndicators">
53                        <xsl:for-each select="$Page.demographicPublishedIndicators">
54                                <xsl:sort select="SORT_ORDER" data-type="number" order="ascending"/>
55                                <xsl:sort select="NAME" data-type="text" order="ascending"/>
56                                <xsl:call-template name="communityIndicator">
57                                        <xsl:with-param name="indicatorName" select="NAME"/>
58                                </xsl:call-template>
59                        </xsl:for-each>
60                </xsl:variable>
61-->
62
63
64        <xsl:template name="Page.contentBody"
65                ibis:doc="Main page content template."
66        >
67                <xsl:call-template name="Page.contentOptions">
68                        <xsl:with-param name="title" select="'Community Health Profile Report Options'"/>
69                </xsl:call-template>
70
71                <xsl:variable name="communityIndicators">
72                        <xsl:for-each select="$Page.indicatorSet/INDICATOR_TO_INDICATOR_SETS/INDICATOR_TO_INDICATOR_SET/INDICATOR_NAME">
73                                <xsl:sort select="SORT_ORDER" data-type="number" order="ascending"/>
74                                <xsl:sort select="INDICATOR_NAME" data-type="text" order="ascending"/>
75                                <xsl:call-template name="communityIndicator">
76                                        <xsl:with-param name="indicatorName" select="current()"/>
77                                </xsl:call-template>
78                        </xsl:for-each>
79                </xsl:variable>
80                <xsl:variable name="communityIndicatorsCount" select="count($communityIndicators/COMMUNITY_INDICATOR)"/>
81
82                <xsl:if test="0 = $communityIndicatorsCount">
83                        <xsl:copy-of select="$Page.noCommunityIndicatorRowsMessageContent"/>
84                </xsl:if>
85                <xsl:if test="0 != $communityIndicatorsCount">
86                        <table class="Info Comparison" 
87                                summary="Data table of the community profile snapshot report.
88                                        Listed by indicator profile then the community value
89                                        followed by the comparison value.
90                                " 
91                                caption="Community profile snapshot report data table."
92                        >
93                                <col class="IndicatorSet"/>
94                                <col class="CommunityValue"/>
95                                <col class="Compare"/>
96                                <col class="Compare"/>
97                                <col class="Compare"/>
98                                <col class="Compare"/>
99                                <thead>
100                                        <tr>
101                                                <th scope="col" class="Row" rowspan="2"><xsl:value-of select="$Page.indicatorSet/TITLE"/></th>
102                                                <th scope="col" class="Columns" colspan="3">Values</th>
103                                                <th scope="col" class="Columns" colspan="2">Compared To</th>
104                                        </tr>
105                                        <tr>
106                                                <th scope="col" class="Column"><xsl:value-of select="$Page.communityDimensionValue/TITLE"/>&#160; <xsl:value-of select="$Page.communityDimensionTitle"/></th>
107                                                <th scope="col" class="Column"><xsl:value-of select="$ibis.adopterTitle"/></th>
108                                                <th scope="col" class="Column">U.S.</th>
109
110                                                <th scope="col" class="Column"><xsl:value-of select="$ibis.adopterTitle"/></th>
111                                                <th scope="col" class="Column">U.S.</th>
112                                        </tr>
113                                </thead>
114
115                                <tbody>
116                                        <xsl:for-each select="$communityIndicators/COMMUNITY_INDICATOR">
117                                                <xsl:call-template name="Page.indicatorProfileRow">
118                                                        <xsl:with-param name="communityIndicator" select="current()"/>
119                                                </xsl:call-template>
120                                        </xsl:for-each>
121                                </tbody>
122                        </table>
123                        <footer class="Comparison">
124                                <ul>
125                                        <li><span class="ComparisonClass Better">Better</span> is when the community is statistically better (worst confidence limit value is better than the comparison value).</li>
126                                        <li><span class="ComparisonClass Similar">Similar</span> is when the community is not statistically different (comparison value is between the community lower and upper confidence limit values).</li>
127                                        <li><span class="ComparisonClass Worse">Worse</span> is when the community statistically worse (best limit value is worse than the comparison value).</li>
128                                </ul>
129                        </footer>
130                </xsl:if>
131
132        </xsl:template>
133
134 
135        <xsl:template match="OVERVIEWS">
136                <xsl:call-template name="ContentContainer.overviews">
137                        <xsl:with-param name="overviews" select="current()/OVERVIEW"/>
138                </xsl:call-template>
139        </xsl:template>
140
141
142        <xsl:template name="communityIndicator"
143                ibis:doc="Handles the xml/community/DIMENSION.xml type file.  Which is of
144                        the struct: COMMUNITY_PROFILE, OVERVIEWS, DIMENSION, INDICATOR_PROFILES
145                        /INDICATOR_PROFILE/COMPARATIVE_VALUES/COMPARATIVE_VALUE/ TYPE, SERIES,
146                        CAT.
147                "
148        >
149                <xsl:param name="indicatorName"/>
150                <xsl:param name="indicator" select="document(concat($Page.indicatorProfileXMLFilePath, $indicatorName, '.xml'), /)/INDICATOR"/>
151
152                <xsl:if test="not($indicator/*)"><xsl:message select="concat('Community Profile Report - IP NOT FOUND: ', $Page.indicatorProfileXMLFilePath, $indicatorName, '.xml')"/></xsl:if>
153                <xsl:if test="$indicator/*">
154                        <xsl:variable name="indicatorComparisonValues">
155                                <xsl:call-template name="ComparisonValues.indicatorStateUSComparisonValues">
156                                        <xsl:with-param name="indicator"  select="$indicator"/>
157                                        <xsl:with-param name="dimensions" select="$Page.dimensions"/>
158                                        <xsl:with-param name="measures"   select="$Page.measures"/>
159                                        <xsl:with-param name="valueTypes" select="$Page.valueTypes"/>
160                                        <xsl:with-param name="communityDimensionName"  select="$Page.dimensionName"/>
161                                        <xsl:with-param name="communityDimensionValue" select="$Page.dimensionValue"/>
162                                </xsl:call-template>
163                        </xsl:variable>
164
165                        <xsl:if test="$indicatorComparisonValues/*">
166                                <COMMUNITY_INDICATOR>
167                                        <xsl:copy-of select="$indicator/NAME"/>
168                                        <xsl:copy-of select="$indicator/TITLE"/>
169                                        <xsl:copy-of select="$indicator/DEFINITION"/>
170                                        <xsl:copy-of select="$indicatorComparisonValues"/>
171                                </COMMUNITY_INDICATOR>
172                        </xsl:if>
173                </xsl:if>
174        </xsl:template>
175
176
177
178        <xsl:template name="Page.indicatorProfileRow"
179                ibis:doc="Handles the xml/community/DIMENSION.xml type file.  Which is of
180                        the struct: COMMUNITY_PROFILE, OVERVIEWS, DIMENSION, INDICATOR_PROFILES
181                        /INDICATOR_PROFILE/COMPARATIVE_VALUES/COMPARATIVE_VALUE/ TYPE, SERIES,
182                        CAT.
183                "
184        >
185                <xsl:param name="communityIndicator"/>
186                <xsl:param name="indicatorBaseRequsetPath" select="$Page.indicatorBaseRequsetPath"/>
187
188                <tr>
189                        <td class="Indicator">
190                                <div class="Help Popup Info FontIcon Right">
191                                        <div class="Container">
192                                                <div class="Content">
193                                                        <xsl:value-of select="$communityIndicator/DEFINITION"/>
194                                                </div>
195                                        </div>
196                                </div>
197                                <a href="{$indicatorBaseRequsetPath}summary/{$communityIndicator/NAME}.html" 
198                                        title="Click here to see a more detailed comparison of {$communityIndicator/TITLE}" class="Block"
199                                >
200                                        <xsl:value-of select="$communityIndicator/TITLE"/> 
201                                </a>
202                                <div class="Measure" title="Health indicator measure and period">(<xsl:value-of select="concat($communityIndicator/MEASURE/TITLE, ', ', $communityIndicator/PERIOD_DIMENSION/VALUE/TITLE)"/>)</div>
203                        </td>
204
205                        <td class="Value TextAlignCenter" title="Community value for {$communityIndicator/PERIOD_DIMENSION/VALUE/TITLE}">
206                                <xsl:value-of select="$communityIndicator/COMMUNITY/VALUE/TITLE"/>
207                                <div class="Italicize SmallerFont" title="Lower and upper confidence values">
208                                        <xsl:if test="string-length($communityIndicator/COMMUNITY/LOWER_LIMIT/TITLE) != 0">
209                                                (<xsl:value-of select="$communityIndicator/COMMUNITY/LOWER_LIMIT/TITLE"/>
210                                                 -
211                                                 <xsl:value-of select="$communityIndicator/COMMUNITY/UPPER_LIMIT/TITLE"/>)
212                                        </xsl:if>
213                                </div>
214                        </td>
215                        <td class="Value TextAlignCenter" title="Value for {$communityIndicator/STATE/TITLE}">
216                                <xsl:value-of select="$communityIndicator/STATE/VALUE/TITLE"/>
217                        </td>
218                        <td class="Value TextAlignCenter" title="Value for {$communityIndicator/US/TITLE}">
219                                <xsl:value-of select="$communityIndicator/US/VALUE/TITLE"/>
220                        </td>
221
222                        <td class="Value TextAlignCenter ComparisonClass {$communityIndicator/STATE/VALUE/COMPARISON/CLASS}" title="No value - can not compare">
223
224                                <xsl:if test="0 != string-length($communityIndicator/STATE/VALUE/COMPARISON/CLASS)">
225                                        <xsl:attribute name="title" select="concat($Page.communityDimensionValue/TITLE, ' is ', $communityIndicator/STATE/VALUE/COMPARISON/CLASS)"/>
226                                </xsl:if>
227                                <xsl:value-of select="$communityIndicator/STATE/VALUE/COMPARISON/CLASS"/>
228                        </td>
229                        <td class="Value TextAlignCenter ComparisonClass {$communityIndicator/US/VALUE/COMPARISON/CLASS}" title="No value - can not compare">
230                                <xsl:if test="0 != string-length($communityIndicator/US/VALUE/COMPARISON/CLASS)">
231                                        <xsl:attribute name="title" select="concat($Page.communityDimensionValue/TITLE, ' is ', $communityIndicator/US/VALUE/COMPARISON/CLASS)"/>
232                                </xsl:if>
233                                <xsl:value-of select="$communityIndicator/US/VALUE/COMPARISON/CLASS"/>
234                        </td>
235                </tr>
236        </xsl:template>
237
238</xsl:stylesheet>
239<!-- ============================= End of File ============================= -->
240
Note: See TracBrowser for help on using the repository browser.