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

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

java, admin - DataBeanToXMLService to trim string values. Changed the main favicon.ico to be the image/application.ico - just in case. Added xs: namespace to the ind.xslt - but likely won't use instance of for now. Added definition to summary/Page.xslt.

File size: 9.6 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/summary/Page</name>
19                <summary>Default core code that produces the indicator profile summary/complete profile page</summary>
20                <description>
21                        Specific XSLT used to create the indicator profile summary page.
22                </description>
23        </ibis:doc>
24
25
26        <xsl:param name="Page.pageTitle" ibis:doc="Page's title text based on the 'INDICATOR/TITLE' element.">
27                Summary Health Indicator Report - <xsl:value-of select="$indicator/TITLE"/>
28        </xsl:param>
29        <xsl:param name="Page.contentTitle" ibis:doc="Page's content block title text based on the 'INDICATOR/TITLE' element.">
30                <xsl:value-of select="$indicator/TITLE"/>
31        </xsl:param>
32
33        <xsl:param name="Indicator.contentBlockType" select="'fixed'"/>
34
35        <xsl:template name="Page.contentBody"
36                ibis:doc="Main page content template which pretty much calls all
37                        of the element field templates contained within the 'indicator.xslt'
38                        profile API template file."
39        >
40
41                <xsl:call-template name="Page.options">
42                        <xsl:with-param name="title">Summary Indicator Report Data View Options</xsl:with-param>
43                        <xsl:with-param name="pageType" select="'summary'"/>
44                </xsl:call-template>
45
46                <!-- loop for all views -->
47                <xsl:if test="exists($indicator/INDICATOR_VIEWS/INDICATOR_VIEW/NAME)">
48                        <xsl:call-template name="DataViz.choroplethMapJavaScript"/>
49
50                        <xsl:variable name="comparisonDimensionName"  select="'GeoState'"/>
51                        <xsl:variable name="comparisonDimensionValue" select="'35'"/>
52
53                        <xsl:for-each select="$indicator/INDICATOR_VIEWS/INDICATOR_VIEW/NAME">
54                                <xsl:variable name="indicatorView" select="document(concat(current(), '.xml'), /)/INDICATOR_VIEW"/>
55                                <xsl:variable name="measure"       select="if($Indicator.useExternalXML) then $Indicator.measure else $indicator/MEASURES/MEASURE[NAME=$indicatorView/MEASURE_NAME]"/>
56<!-- GARTH TODO: -->
57<xsl:message select="concat('view name: ', $indicatorView/NAME, ', position: ', position(), ', count: ', count($indicator/INDICATOR_VIEWS/INDICATOR_VIEW))"/>
58                                <xsl:variable name="showMap" ibis:doc="Exposed so that SS can access."
59                                        select="ibis:DataViz.showMap(
60                                                $indicatorView/MAP_NAME,
61                                                $indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='category']/NAME,
62                                                $indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='series']/NAME,
63                                                $Indicator.dimensions
64                                        )"
65                                /> 
66                                <xsl:variable name="showChart" select="ibis:DataViz.showChart($indicatorView/CHART_NAME) and not($showMap)"/>
67
68                                <xsl:variable name="recordDimensionFields">
69                                        <xsl:call-template name="Interactive.getRecordDimensionFields">
70                                                <xsl:with-param name="dimensions"      select="$Indicator.dimensions"/>
71                                                <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
72                                        </xsl:call-template>
73                                </xsl:variable>
74                                <xsl:variable name="datasetRecords" select="$indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/RECORDS"/>
75                                <xsl:variable name="indicatorViewDatasetRecords">
76                                        <xsl:call-template name="Interactive.getIndicatorViewDatasetRecords">
77                                                <xsl:with-param name="datasetRecords"  select="$datasetRecords"/>
78                                                <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
79                                                <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
80                                        </xsl:call-template>
81                                </xsl:variable>
82                                <xsl:variable name="valueAttributeNames" select="distinct-values($indicatorViewDatasetRecords//VALUE_ATTRIBUTE_NAME)"/>
83
84
85                                <xsl:if test="$showMap">
86                                        <xsl:call-template name="DataViz.mapContainer">
87                                                <xsl:with-param name="containerID" select="concat('map', position())"/>
88                                                <xsl:with-param name="title" select="ibis:getIndicatorViewMapTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
89                                                <xsl:with-param name="footerContent" select="$indicatorView/MAP_NARRATIVE"/>
90                                        </xsl:call-template>
91                                </xsl:if>
92                                <xsl:if test="$showChart">
93                                        <xsl:call-template name="DataViz.chartContainer">
94                                                <xsl:with-param name="containerID"   select="concat('chart', position())"/>
95                                                <xsl:with-param name="footerContent" select="$indicatorView/CHART_NARRATIVE/text()"/>
96                                        </xsl:call-template>
97                                </xsl:if>
98
99                                <xsl:call-template name="Indicator.externalDataViz">
100                                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
101                                </xsl:call-template>
102
103                                <xsl:call-template name="Indicator.dataNotes">
104                                        <xsl:with-param name="title"         select="''"/>
105                                        <xsl:with-param name="measure"       select="$measure"/>
106                                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
107                                </xsl:call-template>
108
109<!--
110                <xsl:call-template name="Indicator.dataSources"/>
111                                <a href="{$ibis.baseRequestPath}indicator/view/{$indicatorView/NAME}.html"><xsl:value-of select="$indicatorView/TITLE"/> Details</a>
112-->
113
114
115<xsl:variable name="ancillaryValueNames" select="distinct-values($indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/ANCILLARY_VALUE_USAGES/ANCILLARY_VALUE_USAGE/NAME)"/>
116<xsl:variable name="measureValueFormatPattern" select="($Indicator.valueTypes/VALUE_TYPE[NAME = $measure/VALUE_TYPE_NAME]/XSLT_FORMAT_PATTERN)[1]"/>
117<xsl:call-template name="DataViz.leafletKendoScript">
118        <xsl:with-param name="scriptContainerID"     select="concat('script', position())"/>
119        <xsl:with-param name="dimensions"            select="$Indicator.dimensions"/>
120        <xsl:with-param name="datasetRecords"        select="$indicatorViewDatasetRecords"/>
121        <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
122        <xsl:with-param name="recordAncillaryValueFields">
123                <xsl:call-template name="Interactive.getIndicatorRecordAncillaryValueFields">
124                        <xsl:with-param name="indicator"     select="$indicator"/>
125                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
126                        <xsl:with-param name="ancillaryValueNames" select="$ancillaryValueNames"/>
127                        <xsl:with-param name="ancillaryValues" select="$Indicator.ancillaryValues"/>
128                        <xsl:with-param name="valueTypes"      select="$Indicator.valueTypes"/>
129                        <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
130                </xsl:call-template>
131        </xsl:with-param>
132
133        <xsl:with-param name="recordsJavascriptVariableName"         select="concat('records', position())"/>
134        <xsl:with-param name="leafletMapJavascriptVariableName"      select="concat('map',     position())"/>
135        <xsl:with-param name="kendoDataSourceJavascriptVariableName" select="concat('dataSource', position())"/>
136        <xsl:with-param name="kendoGridJavascriptVariableName"       select="concat('grid',    position())"/>
137        <xsl:with-param name="kendoChartJavascriptVariableName"      select="concat('chart',   position())"/>
138
139        <xsl:with-param name="measure" select="$measure"/>
140        <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
141
142        <xsl:with-param name="showMap"        select="$showMap"/>
143
144        <xsl:with-param name="mapName"        select="$indicatorView/MAP_NAME"/>
145        <xsl:with-param name="mapContainerID" select="concat('map', position())"/>
146        <xsl:with-param name="geoJSONName"    select="$indicatorView/MAP_DIMENSION_NAME"/>
147        <xsl:with-param name="geoIDFieldName" select="$recordDimensionFields/RECORD_DIMENSION_FIELD[DIMENSION_NAMES/DIMENSION_NAME = $indicatorView/MAP_DIMENSION_NAME]/NAME"/> 
148        <xsl:with-param name="geoIDFieldValuePrefixToRemove" select="concat($indicatorView/MAP_DIMENSION_NAME, '.')"/>
149        <xsl:with-param name="geoTypeTitle"  select="ibis:getDimensionTitle($indicator//DIMENSIONS/DIMENSION[NAME = $indicatorView/MAP_DIMENSION_NAME])"/>
150        <xsl:with-param name="mapComparisonValue" select="$indicatorViewDatasetRecords/RECORD[ DIMENSIONS[ (2 = count(DIMENSION)) and DIMENSION[(NAME = $comparisonDimensionName)     and (VALUE = $comparisonDimensionValue)]]]/MEASURE/VALUE"/>
151
152        <xsl:with-param name="showChart"     select="$showChart"/>
153        <xsl:with-param name="chartContainerID" select="concat('chart', position())"/>
154        <xsl:with-param name="chartName"     select="$indicatorView/CHART_NAME"/>
155        <xsl:with-param name="chartTitle"    select="ibis:getIndicatorViewChartTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
156
157        <xsl:with-param name="showGrid"      select="false()"/>
158</xsl:call-template>
159
160
161                                <xsl:if test="position() != last()"></xsl:if>
162                        </xsl:for-each>
163                </xsl:if>
164
165                <xsl:call-template name="Indicator.whyImportant"/>
166                <xsl:call-template name="Indicator.definition"/>
167                <xsl:call-template name="Indicator.howCalculatedTable"/>
168                <xsl:call-template name="Indicator.howDoing"/>
169                <xsl:call-template name="Indicator.howCompare"/>
170                <xsl:call-template name="Indicator.whatDoing"/>
171                <xsl:call-template name="Indicator.evidenceBasedPractices"/>
172<!--
173                <xsl:call-template name="Indicator.initiatives"/>
174-->
175                <xsl:call-template name="Indicator.otherObjectives"/>
176                <xsl:call-template name="Indicator.availableServices"/>
177                <xsl:call-template name="Indicator.moreResources"/>
178                <xsl:call-template name="Indicator.otherInformation"/>
179                <xsl:call-template name="Indicator.footnoteReferences"/>
180                <br/>
181
182                <xsl:call-template name="Indicator.allDates"/>
183        </xsl:template>
184
185</xsl:stylesheet>
186<!-- ============================= End of File ============================= -->
Note: See TracBrowser for help on using the repository browser.