source: main/trunk/ibisph-view/src/main/webapp/xslt/html/indicator/profile/complete_profile/Page.xslt @ 19882

Last change on this file since 19882 was 19882, checked in by GarthBraithwaite_STG, 2 years ago

view - changed Graphic to DataViz?

File size: 11.8 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="../../../../xml/Interactive.xslt"/>
10        <xsl:import href="../../../../json/Dataset.xslt"/>
11        <xsl:import href="../../../../json/Kendo.xslt"/>
12        <xsl:import href="../../../../json/LeafletMap.xslt"/>
13        <xsl:import href="../../../DataViz.xslt"/>
14        <xsl:import href="../Indicator.xslt"/>
15        <xsl:import href="../Page.xslt"/>
16
17        <ibis:doc>
18                <name>html/indicator/profile/complete_profile/Page</name>
19                <summary>Default core code that produces the indicator profile complete indicator profile page</summary>
20                <description>
21                        Specific XSLT used to create the indicator profile complete
22                        indicator profile page.
23                </description>
24        </ibis:doc>
25
26
27        <xsl:param name="Page.pageTitle" ibis:doc="Page's title text based on the 'INDICATOR/TITLE' element.">
28                Complete Health Indicator Report - <xsl:value-of select="$indicator/TITLE"/>
29        </xsl:param>
30        <xsl:param name="Page.contentTitle" ibis:doc="Page's content block title text based on the 'INDICATOR/TITLE' element.">
31                Complete Health Indicator Report of <xsl:value-of select="$indicator/TITLE"/>
32        </xsl:param>
33
34        <xsl:param name="Indicator.contentBlockType" select="'fixed'"/>
35
36        <xsl:template name="Page.contentBody"
37                ibis:doc="Main page content template which pretty much calls all
38                        of the element field templates contained within the '_indicator.xslt'
39                        profile API template file."
40        >
41                        <xsl:call-template name="Indicator.contentBlock">
42                                <xsl:with-param name="title"   select="'Definition'"/>
43                                <xsl:with-param name="content" select="$indicator/DEFINITION"/>
44                                <xsl:with-param name="description" select="'Definition of this indicator'"/>
45                        </xsl:call-template>
46
47                        <xsl:call-template name="Indicator.contentBlock">
48                                <xsl:with-param name="title"   select="'Why Is This Important?'"/>
49                                <xsl:with-param name="content" select="$indicator/WHY_IMPORTANT"/>
50                                <xsl:with-param name="description" select="'Text that describes why this indicator is important to the populations overall health'"/>
51                        </xsl:call-template>
52
53
54                <xsl:if test="exists($indicator/INDICATOR_VIEWS/INDICATOR_VIEW/NAME)">
55                        <xsl:call-template name="DataViz.choroplethMapJavaScript"/>
56
57                        <xsl:variable name="comparisonDimensionName"  select="'GeoState'"/>
58                        <xsl:variable name="comparisonDimensionValue" select="'35'"/>
59
60                        <xsl:for-each select="$indicator/INDICATOR_VIEWS/INDICATOR_VIEW/NAME">
61<xsl:variable name="indicatorView" select="document(concat(current(), '.xml'), /)/INDICATOR_VIEW"/>
62<xsl:variable name="measure"       select="if($Indicator.useExternalXML) then $Measures/MEASURES/MEASURE[NAME=$indicatorView/MEASURE_NAME] else $indicator/MEASURES/MEASURE[NAME=$indicatorView/MEASURE_NAME]"/>
63
64<xsl:variable name="showMap" ibis:doc="Exposed so that SS can access."
65        select="ibis:DataViz.showMap(
66                $indicatorView/MAP_NAME,
67                $indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='category']/NAME,
68                $indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='series']/NAME,
69                $Indicator.dimensions
70        )"
71/> 
72<xsl:variable name="showChart" select="ibis:DataViz.showChart($indicatorView/CHART_NAME)"/>
73
74<xsl:variable name="recordDimensionFields">
75        <xsl:call-template name="Interactive.getRecordDimensionFields">
76                <xsl:with-param name="dimensions"      select="$Indicator.dimensions"/>
77                <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
78        </xsl:call-template>
79</xsl:variable>
80<xsl:variable name="datasetRecords" select="$indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/RECORDS"/>
81<xsl:variable name="indicatorViewDatasetRecords">
82        <xsl:call-template name="Interactive.getIndicatorViewDatasetRecords">
83                <xsl:with-param name="datasetRecords"  select="$datasetRecords"/>
84                <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
85                <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
86        </xsl:call-template>
87</xsl:variable>
88<xsl:variable name="valueAttributeNames" select="distinct-values($indicatorViewDatasetRecords//VALUE_ATTRIBUTE_NAME)"/>
89
90
91<xsl:if test="$showMap">
92                        <xsl:call-template name="DataViz.mapContainer">
93                                <xsl:with-param name="containerID" select="concat('map', position())"/>
94                                <xsl:with-param name="title" select="ibis:getIndicatorViewMapTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
95                                <xsl:with-param name="footerContent" select="$indicatorView/MAP_NARRATIVE"/>
96                        </xsl:call-template>
97</xsl:if>
98
99<xsl:if test="$showChart">
100                        <xsl:call-template name="DataViz.chartContainer">
101                                <xsl:with-param name="containerID"   select="concat('chart', position())"/>
102                                <xsl:with-param name="footerContent" select="$indicatorView/CHART_NARRATIVE/text()"/>
103                        </xsl:call-template>
104</xsl:if>
105
106                <xsl:call-template name="Indicator.externalDataViz">
107                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
108                </xsl:call-template>
109
110                <xsl:call-template name="Indicator.dataNotes">
111                        <xsl:with-param name="title"         select="''"/>
112                        <xsl:with-param name="measure"       select="$measure"/>
113                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
114                </xsl:call-template>
115<!--
116                <xsl:call-template name="Indicator.dataSources"/>
117-->
118
119<xsl:variable name="ancillaryValueNames" select="distinct-values($indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/ANCILLARY_VALUE_USAGES/ANCILLARY_VALUE_USAGE/NAME)"/>
120<xsl:variable name="measureValueFormatPattern" select="($Indicator.valueTypes/VALUE_TYPE[NAME = $measure/VALUE_TYPE_NAME]/XSLT_FORMAT_PATTERN)[1]"/>
121<xsl:call-template name="DataViz.leafletKendoScript">
122        <xsl:with-param name="scriptContainerID"     select="concat('script', position())"/>
123        <xsl:with-param name="dimensions"            select="$Indicator.dimensions"/>
124        <xsl:with-param name="datasetRecords"        select="$indicatorViewDatasetRecords"/>
125        <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
126        <xsl:with-param name="recordAncillaryValueFields">
127                <xsl:call-template name="Interactive.getIndicatorRecordAncillaryValueFields">
128                        <xsl:with-param name="indicator"     select="$indicator"/>
129                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
130                        <xsl:with-param name="ancillaryValueNames" select="$ancillaryValueNames"/>
131                        <xsl:with-param name="ancillaryValues" select="$Indicator.ancillaryValues"/>
132                        <xsl:with-param name="valueTypes"      select="$Indicator.valueTypes"/>
133                        <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
134                </xsl:call-template>
135        </xsl:with-param>
136
137        <xsl:with-param name="recordsJavascriptVariableName"         select="concat('records', position())"/>
138        <xsl:with-param name="leafletMapJavascriptVariableName"      select="concat('map',     position())"/>
139        <xsl:with-param name="kendoDataSourceJavascriptVariableName" select="concat('dataSource', position())"/>
140        <xsl:with-param name="kendoGridJavascriptVariableName"       select="concat('grid',    position())"/>
141        <xsl:with-param name="kendoChartJavascriptVariableName"      select="concat('chart',   position())"/>
142
143        <xsl:with-param name="measure" select="$measure"/>
144        <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
145
146        <xsl:with-param name="showMap"        select="$showMap"/>
147
148        <xsl:with-param name="mapName"        select="$indicatorView/MAP_NAME"/>
149        <xsl:with-param name="mapContainerID" select="concat('map', position())"/>
150        <xsl:with-param name="geoJSONName"    select="$indicatorView/MAP_DIMENSION_NAME"/>
151        <xsl:with-param name="geoIDFieldName" select="$recordDimensionFields/RECORD_DIMENSION_FIELD[DIMENSION_NAMES/DIMENSION_NAME = $indicatorView/MAP_DIMENSION_NAME]/NAME"/> 
152        <xsl:with-param name="geoIDFieldValuePrefixToRemove" select="concat($indicatorView/MAP_DIMENSION_NAME, '.')"/>
153        <xsl:with-param name="geoTypeTitle"  select="ibis:getDimensionTitle($indicator//DIMENSIONS/DIMENSION[NAME = $indicatorView/MAP_DIMENSION_NAME])"/>
154        <xsl:with-param name="mapComparisonValue" select="$indicatorViewDatasetRecords/RECORD[ DIMENSIONS[ (2 = count(DIMENSION)) and DIMENSION[(NAME = $comparisonDimensionName)     and (VALUE = $comparisonDimensionValue)]]]/MEASURE/VALUE"/>
155
156        <xsl:with-param name="showChart"     select="$showChart"/>
157        <xsl:with-param name="chartContainerID" select="concat('chart', position())"/>
158        <xsl:with-param name="chartName"     select="$indicatorView/CHART_NAME"/>
159        <xsl:with-param name="chartTitle"    select="ibis:getIndicatorViewChartTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
160
161        <xsl:with-param name="showGrid"      select="false()"/>
162</xsl:call-template>
163
164
165                                <xsl:if test="position() != last()"><br/><br/></xsl:if>
166                        </xsl:for-each>
167                </xsl:if>
168
169
170                        <xsl:call-template name="Indicator.contentBlock">
171                                <xsl:with-param name="title"   select="'Numerator'"/>
172                                <xsl:with-param name="content" select="if(0 = string-length($indicatorView/NUMERATOR_OVERRIDE)) then $indicator/NUMERATOR else $indicatorView/NUMERATOR_OVERRIDE"/>
173                                <xsl:with-param name="description" select="'Definition of this datasets numerator used to calculate the data values'"/>
174                        </xsl:call-template>
175
176                        <xsl:call-template name="Indicator.contentBlock">
177                                <xsl:with-param name="title"   select="'Denominator'"/>
178                                <xsl:with-param name="content" select="if(0 = string-length($indicatorView/DENOMINATOR_OVERRIDE)) then $indicator/DENOMINATOR else $indicatorView/DENOMINATOR_OVERRIDE"/>
179                                <xsl:with-param name="description" select="'Definition of this datasets denominator used to calculate the data values'"/>
180                        </xsl:call-template>
181
182                        <xsl:call-template name="Indicator.contentBlock">
183                                <xsl:with-param name="title"   select="'How the Measure is Calculated'"/>
184                                <xsl:with-param name="content">
185                                        <table cellpadding="0" cellspacing="0">
186                                                <tr title="Definition of this datasets numerator used to calculate the data values">
187                                                        <td>Numerator:</td>
188                                                        <td>
189                                                                <xsl:value-of select="if(0 = string-length($indicatorView/NUMERATOR_OVERRIDE)) then $indicator/NUMERATOR else $indicatorView/NUMERATOR_OVERRIDE"/>
190                                                        </td>
191                                                </tr>
192                                                <tr title="Definition of this datasets denominator used to calculate the data values">
193                                                        <td style="padding-right: 5px;">Denominator:</td>
194                                                        <td>
195                                                                <xsl:value-of select="if(0 = string-length($indicatorView/DENOMINATOR_OVERRIDE)) then $indicator/DENOMINATOR else $indicatorView/DENOMINATOR_OVERRIDE"/>
196                                                        </td>
197                                                </tr>
198                                        </table>
199                                </xsl:with-param>
200                                <xsl:with-param name="description" select="'Describes the numerator and denominator and how these values are used to calculate the values'"/>
201                        </xsl:call-template>
202                       
203                        <xsl:call-template name="Indicator.initiatives">
204                                <xsl:with-param name="indicator" select="$indicator"/>
205                        </xsl:call-template>   
206                        <xsl:call-template name="Indicator.otherObjectives"/>
207
208                        <xsl:call-template name="Indicator.howDoing"/>
209                        <xsl:call-template name="Indicator.howCompare"/>
210                        <xsl:call-template name="Indicator.whatDoing"/>
211                        <xsl:call-template name="Indicator.evidenceBasedPractices"/>
212                        <xsl:call-template name="Indicator.availableServices"/>
213                        <xsl:call-template name="Indicator.moreResources"/>
214                        <xsl:call-template name="Indicator.otherInformation"/>
215                        <xsl:call-template name="Indicator.footnoteReferences"/>
216
217
218                        <xsl:call-template name="Indicator.relatedIndicators">
219                                <xsl:with-param name="indicator" select="$indicator"/>
220                        </xsl:call-template>
221
222                        <xsl:call-template name="Indicator.moreResourcesAndLinks">
223                                <xsl:with-param name="indicator" select="$indicator"/>
224                        </xsl:call-template>
225
226
227                <xsl:call-template name="Indicator.allDates"/>
228        </xsl:template>
229
230</xsl:stylesheet>
231<!-- ============================= End of File ============================= -->
Note: See TracBrowser for help on using the repository browser.