source: main/trunk/ibisph-view/src/main/webapp/xslt/html/indicator/profile/Indicator.xslt @ 19879

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

view - footer updates. text sections limited to 700px. Page content formatting and changes. Added goto submit for qm result. Fixed top margin for chart and maps. Limited MM css video to 400px. Changed org unit to authoring. Kendo template for table index page to change search placeholder to filter.

File size: 45.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
10        <ibis:doc>
11                <name>html/indicator/profile/Indicator</name>
12                <summary>Provides core INDICATOR data element fields templates</summary>
13                <description>
14                        This XSLT provides 'indicator.xxx' profile API templates.
15                        These templates include all the core INDICATOR data element fields as
16                        well as defining a global 'indicator' variable.
17                </description>
18        </ibis:doc>
19
20<!-- GARTH TODO: needed for initiatives
21<xsl:import href="../../../xml/ComparisonValues.xslt"/>
22-->
23
24        <!-- ==================== VARIABLES and PARAMETERS ===================== -->
25        <xsl:param name="xmlURL"
26                ibis:doc="Parameter that is used by the IBISPH-Admin system for previewing
27                        an indicator/view prior to publishing.  This parameter is mainly passed
28                        to the view's chart call so that the charting controller knows to get
29                        the XML data from the admin app and not the local XML directory.  This
30                        parameter is also used by the related indicators section when building
31                        the links.  As of 11/2010, the admin app can serve up IP and IPV XML
32                        content based on the same path.  This was done to simplify the XSLT
33                        code needed to retrieve the related indicator or view XML content
34                        (if the paths are not the same then the xmlURL needs to be modified
35                        to the correct path).
36                        NOTE: This mechanism has limitations for preview usage.  All preview
37                        pages will NOT be able to link/navigate to any other preview content
38                        page.  This issue can be overcome with via XSLT code that implements
39                        all of xmlURL manipulation and with different site specific properties
40                        and spring config URL values (and possibly some additional Java
41                        controller code."
42        />
43
44        <xsl:param name="Indicator.viewURLPrefix" select="concat($ibis.contextPath, 'indicator/view/')"
45                ibis:doc="localizes view prefix to be used - allows for normal view or
46                        interactive to be set via the ss override mechanism.
47                       
48                        NOTE: there are other places that use the standard i/v/ path like
49                        CP HL and snapshot, IP indexes, and admin preview.  It is better to
50                        simply plug in the approp view in the spring bean config.
51                "
52        />
53
54
55        <xsl:param name="indicator" select="
56                        if(exists(/INDICATOR_VIEW))then
57                                document(concat(/INDICATOR_VIEW/INDICATOR_NAME, '.xml'), /)/INDICATOR
58                        else
59                                /INDICATOR
60                "
61                ibis:doc="Common indicator that is defined for convenience and
62                        to serve as a common way to interface for both indicator and view
63                        XML source documents.  This enables all the indicator profile xslts
64                        to be coded to the $indicator and not have to worry about where it's
65                        from an INDICATOR_VIEW or an INDICATOR XML document.  A similar
66                        param exists for the indicatorView.
67
68                        NOTE: for previews, the xmlURL is only needed/used when the XML request
69                        path differs from the indicator profile XML path.  As of 11/2010, the
70                        admin app serves up IP and IPV XML files via the same path so all that
71                        is needed is to open the document relative to the current IPV XML with
72                        the IP XML filename (otherwise the URL path needs to manipulated via
73                        script - search and replace strings).
74                "
75        />
76        <xsl:param name="indicatorView" select="
77                        if(exists(/INDICATOR))then
78                                document(concat(/INDICATOR/DEFAULT_INDICATOR_VIEW_NAME, '.xml'), /)/INDICATOR_VIEW
79                        else
80                                /INDICATOR_VIEW
81                "
82                ibis:doc="Common indicatorView that is defined for convenience and
83                        to serve as a common way to interface for both indicator and view
84                        XML source documents.  This enables all the indicator view xslt code
85                        to be coded to the $indicatorView and not have to worry about where 
86                        it's from an INDICATOR_VIEW or an INDICATOR XML document.  A similar
87                        param exists for the indicator.
88                "
89        />
90
91        <xsl:param name="Indicator.useExternalXML" select="true()"
92                ibis:doc="Controls where the supplemental XML data resides.  If true then
93                        the XML to be referenced is an external XML file.  If false then the
94                        XML resides within the IP XML file.  For adopters that want 100%
95                        self contained IP XML set this to false.  For database/centralized
96                        data referencing set to true.
97                "
98        />
99        <xsl:param name="AncillaryValues"/>
100        <xsl:param name="Indicator.ancillaryValues" select="if($Indicator.useExternalXML) then $AncillaryValues/ANCILLARY_VALUES else $indicator/ANCILLARY_VALUES"/>
101        <xsl:param name="DataSources"/>
102        <xsl:param name="Indicator.dataSources"     select="if($Indicator.useExternalXML) then $DataSources/DATA_SOURCES else $indicator/DATA_SOURCES"/>
103        <xsl:param name="Dimensions"/>
104        <xsl:param name="Indicator.dimensions"      select="if($Indicator.useExternalXML) then $Dimensions/DIMENSIONS else $indicator/DIMENSIONS"/>
105        <xsl:param name="Measures"/>
106        <xsl:param name="Indicator.measure"         select="if($Indicator.useExternalXML) then $Measures/MEASURES/MEASURE[NAME=$indicatorView/MEASURE_NAME] else $indicator/MEASURES/MEASURE[NAME=$indicatorView/MEASURE_NAME]"/>
107        <xsl:param name="ValueTypes"/>
108        <xsl:param name="Indicator.valueTypes"      select="if($Indicator.useExternalXML) then $ValueTypes/VALUE_TYPES else $indicator/VALUE_TYPES"/>
109        <xsl:param name="ValueAttributes"/>
110        <xsl:param name="Indicator.valueAttributes" select="if($Indicator.useExternalXML) then $ValueAttributes/VALUE_ATTRIBUTES else $indicator/VALUE_ATTRIBUTES"/>
111
112
113        <xsl:param name="Indicator.dataNoteDelimiter" select="'.'"
114                ibis:doc="value to be used when separating the IP and IPV data note
115                        text values.  This value can be a sequence of 2 [CR LF]s since
116                        the text is being CR to BR processed.  select='' '&#xA;&#xD;&#xA;&#xD;' ''
117                "
118        />
119
120        <xsl:param name="Indicator.contentBlockType" select="$ContentContainer.defaultContentBlockType"/>
121        <xsl:param name="Indicator.contentBlockTitleLevel" select="2"/>
122
123
124
125        <!-- ======== BASIC INDICATOR ELEMENT CONTENT BLOCK TEMPLATES ========== -->
126        <xsl:template name="Indicator.contentBlock"
127                ibis:doc="Localizes setting titleLevel - creates a CR to BR formatted titled content block."
128        >
129                <xsl:param name="title"/>
130                <xsl:param name="content"/>
131                <xsl:param name="additionalClasses"/>
132                <xsl:param name="description"/>
133<xsl:param name="addWikiAttribute" select="true()"/>
134
135
136                <xsl:param name="contentBlockType"      tunnel="yes" select="$Indicator.contentBlockType" ibis:doc="Optional param to control the block type.  Default is ContentContainer.contentBlockType."/>
137                <xsl:param name="expandableControlType" tunnel="yes" select="'checkbox'" ibis:doc="Optional value passed to expandable template if contentBlockType is 'expandable'."/>
138                <xsl:param name="expandableContentShow" tunnel="yes" ibis:doc="Optional value passed to expandable template if contentBlockType is 'expandable'."/>
139                <xsl:param name="expandableControlName" tunnel="yes" 
140                        ibis:doc="Optional param that is only needed when the expandableControlType 
141                                is 'radio'.  This results in a UI where only 1 expandable block
142                                will be displayed at a time (hence the radio input functionality).
143                        "
144                />
145                <xsl:param name="titleLevel"  select="$Indicator.contentBlockTitleLevel"/>
146
147<xsl:variable name="additionalClasses">
148        <xsl:if test="contains($additionalClasses, 'Text')">
149                <xsl:if test="500 &lt; string-length($content)"><xsl:value-of select="$additionalClasses"/></xsl:if>
150        </xsl:if>
151        <xsl:if test="not(contains($additionalClasses, 'Text')) and 0 != string-length($additionalClasses)"><xsl:value-of select="$additionalClasses"/></xsl:if>
152</xsl:variable>
153                <xsl:call-template name="ContentContainer.contentBlock">
154                        <xsl:with-param name="title"       select="$title"/>
155                        <xsl:with-param name="titleLevel"  select="$titleLevel"/>
156                        <xsl:with-param name="content"     select="$content"/>
157                        <xsl:with-param name="description" select="$description"/>
158
159                        <xsl:with-param name="contentBlockType"      select="$contentBlockType"/>
160                        <xsl:with-param name="contentContainerClass" select="'Text'"/>
161                        <xsl:with-param name="additionalClasses"     select="$additionalClasses"/>
162                        <xsl:with-param name="expandableControlName" select="$expandableControlName"/>
163                        <xsl:with-param name="expandableControlType" select="$expandableControlType"/>
164                        <xsl:with-param name="expandableContentShow" select="$expandableContentShow"/>
165                        <xsl:with-param name="addWikiAttribute" select="$addWikiAttribute"/>
166                </xsl:call-template>
167        </xsl:template>
168
169
170        <xsl:template name="Indicator.definition"
171                ibis:doc="Creates a titled content block that contains the
172                        'INDICATOR/DEFINITION' XML contents."
173        >
174                <xsl:param name="indicator" select="$indicator"/>
175                <xsl:call-template name="Indicator.contentBlock">
176                        <xsl:with-param name="title"   select="'Definition'"/>
177                        <xsl:with-param name="content" select="$indicator/DEFINITION"/>
178                        <xsl:with-param name="description" select="'Definition of this indicator'"/>
179                        <xsl:with-param name="additionalClasses" select="'Text'"/>
180                </xsl:call-template>
181        </xsl:template>
182
183
184        <xsl:template name="Indicator.numerator"
185                ibis:doc="Creates a titled content block that contains the
186                        'INDICATOR/NUMERATOR' XML contents."
187        >
188                <xsl:param name="indicator"     select="$indicator"/>
189                <xsl:param name="indicatorView" select="$indicatorView"/>
190                <xsl:call-template name="Indicator.contentBlock">
191                        <xsl:with-param name="title"   select="'Numerator'"/>
192                        <xsl:with-param name="content" select="if(0 = string-length($indicatorView/NUMERATOR_OVERRIDE)) then $indicator/NUMERATOR else $indicatorView/NUMERATOR_OVERRIDE"/>
193                        <xsl:with-param name="description" select="'Definition of this datasets numerator used to calculate the data values'"/>
194                </xsl:call-template>
195        </xsl:template>
196
197
198        <xsl:template name="Indicator.denominator"
199                ibis:doc="Creates a titled content block that contains the
200                        'INDICATOR/DENOMINATOR' XML contents."
201        >
202                <xsl:param name="indicator" select="$indicator"/>
203                <xsl:call-template name="Indicator.contentBlock">
204                        <xsl:with-param name="title"   select="'Denominator'"/>
205                        <xsl:with-param name="content" select="if(0 = string-length($indicatorView/DENOMINATOR_OVERRIDE)) then $indicator/DENOMINATOR else $indicatorView/DENOMINATOR_OVERRIDE"/>
206                        <xsl:with-param name="description" select="'Definition of this datasets denominator used to calculate the data values'"/>
207                </xsl:call-template>
208        </xsl:template>
209
210
211        <xsl:template name="Indicator.howCalculatedTable"
212                ibis:doc="Creates a titled content block that contains a small
213                        table with the 'INDICATOR/NUMERATOR' and 'INDICATOR/DENOMINATOR' XML
214                        contents which represent how the data are calculated."
215        >
216                <xsl:param name="indicator"     select="$indicator"/>
217                <xsl:param name="indicatorView" select="$indicatorView"/>
218
219                <xsl:call-template name="Indicator.contentBlock">
220                        <xsl:with-param name="title"   select="'How the Measure is Calculated'"/>
221                        <xsl:with-param name="content">
222                                <table cellpadding="0" cellspacing="0">
223                                        <tr title="Definition of this datasets numerator used to calculate the data values">
224                                                <td>Numerator:</td>
225                                                <td>
226                                                        <xsl:value-of select="if(0 = string-length($indicatorView/NUMERATOR_OVERRIDE)) then $indicator/NUMERATOR else $indicatorView/NUMERATOR_OVERRIDE"/>
227                                                </td>
228                                        </tr>
229                                        <tr title="Definition of this datasets denominator used to calculate the data values">
230                                                <td style="padding-right: 5px;">Denominator:</td>
231                                                <td>
232                                                        <xsl:value-of select="if(0 = string-length($indicatorView/DENOMINATOR_OVERRIDE)) then $indicator/DENOMINATOR else $indicatorView/DENOMINATOR_OVERRIDE"/>
233                                                </td>
234                                        </tr>
235                                </table>
236                        </xsl:with-param>
237                        <xsl:with-param name="description" select="'Describes the numerator and denominator and how these values are used to calculate the values'"/>
238                </xsl:call-template>
239        </xsl:template>
240
241
242        <xsl:template name="Indicator.howCalculated"
243                ibis:doc="Creates a titled content block that contains a small
244                        table with the 'INDICATOR/NUMERATOR' and 'INDICATOR/DENOMINATOR' XML
245                        contents which represent how the data are calculated."
246        >
247                <xsl:param name="indicator" select="$indicator"/>
248
249                <xsl:call-template name="Indicator.contentBlock">
250                        <xsl:with-param name="title"   select="'How the Measure is Calculated'"/>
251                        <xsl:with-param name="content">
252                                <ul>
253                                        <li>
254                                                <h4 title="Definition of this datasets numerator used to calculate the data values">Numerator: </h4>
255                                                <xsl:value-of select="if(0 = string-length($indicatorView/NUMERATOR_OVERRIDE)) then $indicator/NUMERATOR else $indicatorView/NUMERATOR_OVERRIDE"/>
256                                        </li>
257                                        <li>
258                                                <h4 title="Definition of this datasets denominator used to calculate the data values">Denominator: </h4>
259                                                <xsl:value-of select="if(0 = string-length($indicatorView/DENOMINATOR_OVERRIDE)) then $indicator/DENOMINATOR else $indicatorView/DENOMINATOR_OVERRIDE"/>
260                                        </li>
261                                </ul>
262                        </xsl:with-param>
263                        <xsl:with-param name="description" select="'Describes the numerator and denominator and how these values are used to calculate the values'"/>
264                </xsl:call-template>
265        </xsl:template>
266
267
268        <xsl:template name="Indicator.riskFactors"
269                ibis:doc="Creates a titled content block that contains the
270                        'INDICATOR/RELATIONS/RELATION[NAME='RiskFactors']' XML contents."
271        >
272                <xsl:param name="indicator" select="$indicator"/>
273                <xsl:call-template name="Indicator.contentBlock">
274                        <xsl:with-param name="title"   select="'Risk Factors'"/>
275                        <xsl:with-param name="content" select="$indicator/RELATIONS/RELATION[NAME='RiskFactors']/TEXT"/>
276                        <xsl:with-param name="description" select="'Potential health risk factors'"/>
277                </xsl:call-template>
278        </xsl:template>
279
280
281        <xsl:template name="Indicator.whyImportant"
282                ibis:doc="Creates a titled content block that contains the
283                        'INDICATOR/WHY_IMPORTANT' XML contents."
284        >
285                <xsl:param name="indicator" select="$indicator"/>
286                <xsl:call-template name="Indicator.contentBlock">
287                        <xsl:with-param name="title"   select="'Why Is This Important?'"/>
288                        <xsl:with-param name="content" select="$indicator/WHY_IMPORTANT"/>
289                        <xsl:with-param name="description" select="'Text that describes why this indicator is important to the populations overall health'"/>
290                </xsl:call-template>
291        </xsl:template>
292
293
294
295        <xsl:template name="Indicator.initiatives"
296                ibis:doc="Creates a titled content block that contains the
297                        'INDICATOR/INITIATIVES/*' XML contents."
298        >
299                <xsl:param name="indicator"/>
300                <xsl:param name="initiatives" select="$indicator/INITIATIVES/INITIATIVE"/>
301                <xsl:param name="title"/>
302
303                <xsl:if test="0 != count($initiatives)">
304                        <xsl:call-template name="Indicator.contentBlock">
305                                <xsl:with-param name="title"   select="$title"/>
306                                <xsl:with-param name="description" select="'Provides details on the associated Health Initiatives'"/>
307                                <xsl:with-param name="content">
308                                        <xsl:if test="1 = count($initiatives)">
309                                                <xsl:call-template name="Indicator.initiative">
310                                                        <xsl:with-param name="indicator" select="$indicator"/>
311                                                        <xsl:with-param name="initiative" select="$initiatives[1]"/>
312                                                </xsl:call-template>
313                                        </xsl:if>
314                                        <xsl:if test="1 &lt; count($initiatives)">
315                                                <ul>
316                                                        <xsl:for-each select="$initiatives">
317                                                                <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
318                                                                <li>
319                                                                        <xsl:call-template name="Indicator.initiative">
320                                                                                <xsl:with-param name="indicator" select="$indicator"/>
321                                                                                <xsl:with-param name="initiative" select="."/>
322                                                                        </xsl:call-template>
323                                                                </li>
324                                                        </xsl:for-each>
325                                                </ul>
326                                        </xsl:if>
327                                </xsl:with-param>
328                        </xsl:call-template>
329                </xsl:if>
330        </xsl:template>
331
332
333
334        <xsl:template name="Indicator.initiative"
335                ibis:doc="Creates a titled content block that contains the
336                        'INDICATOR/INITIATIVES/*' XML contents."
337        >
338                <xsl:param name="indicator"/>
339                <xsl:param name="initiative"/>
340
341                <h3 title="{$initiative/DESCRIPTION}">
342                        <xsl:if test="0 != string-length($initiative/URL)">
343                                <a href="{$initiative/URL}"><xsl:value-of select="$initiative/TITLE"/></a>,
344                        </xsl:if>
345                        <xsl:if test="0 = string-length($initiative/URL)">
346                                <xsl:value-of select="$initiative/TITLE"/>,
347                        </xsl:if>
348
349                        <xsl:if test="0 != string-length($initiative/INITIATIVE_TOPIC/URL)">
350                                <a href="{$initiative/INITIATIVE_TOPIC/URL}"><xsl:value-of select="$initiative/INITIATIVE_TOPIC/TITLE"/></a>:
351                        </xsl:if>
352                        <xsl:if test="0 = string-length($initiative/INITIATIVE_TOPIC/URL)">
353                                <xsl:value-of select="$initiative/INITIATIVE_TOPIC/TITLE"/>:
354                        </xsl:if>
355
356                        <xsl:if test="0 != string-length($initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/URL)">
357                                <a href="{$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/URL}" 
358                                        title="{$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/DESCRIPTION}"
359                                        ><xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TITLE"/>
360                                </a>
361                        </xsl:if>
362                        <xsl:if test="0 = string-length($initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/URL)">
363                                <xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TITLE"/>
364                        </xsl:if>
365                </h3>
366                <xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/NARRATIVE"/><br/>
367                <span class="Bold"><xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TARGET_LABEL"/></span>:
368                <xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TARGET_GOAL_VALUE"/>,
369                <xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TARGET_NARRATIVE"/>
370
371<xsl:variable name="indicatorComparisonValues" select="/">
372<!--
373        <xsl:call-template name="ComparisonValues.getIndicatorStateUSComparisonValues">
374                <xsl:with-param name="indicator"               select="$indicator"/>
375                                <xsl:with-param name="dimensions" select="$Indicator.dimensions"/>
376                                <xsl:with-param name="measures"   select="$Indicator.measures"/>
377                                <xsl:with-param name="valueTypes" select="$Indicator.valueTypes"/>
378
379                <xsl:with-param name="communityDimensionName"  select="'GeoState'"/>
380                <xsl:with-param name="communityDimensionValue" select="'35'"/>
381        </xsl:call-template>
382-->
383</xsl:variable>
384
385<br/>
386                baseline value: <xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TARGET_BASELINE_VALUE"/><br/>
387                goal value: <xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TARGET_GOAL_VALUE"/><br/>
388                measure name: <xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/MEASURE_NAME"/><br/>
389                COMMUNITY VALUE: <xsl:value-of select="$indicatorComparisonValues/COMMUNITY/VALUE/TITLE"/><br/>
390                COMMUNITY DESIRABLE_VALUE: <xsl:value-of select="$indicatorComparisonValues/COMMUNITY/DESIRABLE_VALUE"/><br/>
391                COMMUNITY RELIABILITY: <xsl:value-of select="$indicatorComparisonValues/COMMUNITY/RELIABILITY"/><br/>
392                STATE compare value: <xsl:value-of select="$indicatorComparisonValues/STATE/VALUE/TITLE"/><br/>
393                US compare value: <xsl:value-of select="$indicatorComparisonValues/US/VALUE/TITLE"/><br/>
394                PERIOD DIMENSION: <xsl:value-of select="$indicatorComparisonValues/PERIOD_DIMENSION/VALUE/TITLE"/><br/>
395<xsl:message select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/MEASURE_NAME"/>
396<xsl:message select="count($indicator/DATASETS//RECORD[MEASURE/NAME = $initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/MEASURE_NAME])"/>
397        <div id="boxplot"></div>
398        <div id="chart-temp"></div>
399        <div id="gauge"/>
400        <div id="thermo_gauge"/>
401
402    <script>
403                function createChart()
404                {
405                        $("#chart-temp").kendoChart(
406                        {
407                                "legend": {"visible": false } // doesn't matter
408                                ,"series":
409                                [{
410                                        "type": "bullet"
411                                        ,"data": [[25, 22]]     // , 15, 16, 17  -  only does 2 data points
412                                }]
413                                ,"categoryAxis":
414                                {
415                                        "majorGridLines": {"visible": false}
416                                        ,"majorTicks": {"visible": false}
417                                }
418                                ,"valueAxis":
419                                [
420                                        {
421                                                "reverse": true
422                                                ,"plotBands":
423                                                [
424                                                         {"from":  0, "to": 10, "color": "yellow", "opacity": .3}
425                                                        ,{"from": 10, "to": 20, "color": "orange", "opacity": .3}
426                                                        ,{"from": 20, "to": 30, "color": "red",    "opacity": .3}
427                                                ]
428                                                ,"majorGridLines": {"visible": false}
429                                                ,"min": 5
430                                                ,"max": 45
431                                                ,"minorTicks": {"visible": true}
432                                        }
433                                ]
434                                ,"tooltip":
435                                {
436                                        "visible": true
437                                        ,"template": "Maximum: #= value.target # <br/> Average: #= value.current #"
438                                }
439                        });
440
441
442$("#boxplot").kendoChart({
443        "series":
444        [
445                {
446                        "type": "verticalBoxPlot"
447                        ,q1Field: 'q1'
448                        ,q3Field: 'q3'
449                        ,lowerField: 'lower'
450                        ,upperField: 'upper'
451                        ,medianField: 'median'
452                        ,meanField: 'mean'
453                        ,outliersField: 'outliers'
454                }
455        ]
456        ,dataSource:
457        {
458                "data": [
459                                { year: 2004, lower: 1.8, q1: 2.75, median: 3.35, q3: 3.825, upper: 4.9, mean: 3.4 },
460                                { year: 2005, lower: 1.7, q1: 2.275, median: 3.2, q3: 3.825, upper: 5.5, outliers: [0.5, 6.7] },
461                                { year: 2006, lower: 1.2, q1: 1.95, median: 2.45, q3: 3.075, upper: 3.5, mean: 2.5 },
462                                { year: 2007, lower: 1.3, q1: 1.9, median: 3.05, q3: 3.425, upper: 4, mean: 2.7, outliers: [7, 8.5] }
463                ]
464        }
465        ,categoryAxis:
466        {
467                field: 'year'
468        }
469        ,"tooltip": {"visible": true}
470});
471
472$("#gauge").kendoArcGauge({
473        value: "<xsl:value-of select="$indicatorComparisonValues/STATE/VALUE/text()"/>"
474        ,centerTemplate: "State: <xsl:value-of select="$indicatorComparisonValues/STATE/VALUE/TITLE"/>"
475        ,scale:
476        {
477                reverse: false
478                ,startAngle: 90
479                ,endAngle: 360
480                ,min: 10
481                ,max: 50
482                ,labels: {visible: true}
483                ,majorTicks: {visible: true}
484        }
485});
486
487$("#thermo_gauge").kendoLinearGauge({
488                vertical: false,
489                pointer: [{
490                value: 10,
491                color: "#c20000",
492                shape: "arrow"
493                }, {
494                value: 70,
495                color: "#ff7a00",
496                margin: 10
497                }, {
498                value: 140,
499                color: "#ffc700"
500                }],
501                scale: {
502                vertical: false,
503                minorUnit: 5,
504                min: 0,
505                max: 180
506                }
507});
508
509                }       // End of function createChart
510
511                $(document).ready(createChart);
512    </script>
513
514        <style>
515                table.Info tr {background-color: yellow;}
516                table.Info tr td {background-color: transparent;}
517        </style>
518<table class="Info">
519        <tr>
520                <th>Year</th>
521                <th>Base</th>
522                <th>Goal</th>
523                <th>State Value</th>
524                <th>U.S. Value</th>
525        </tr>
526        <tr>
527                <td><xsl:value-of select="$indicatorComparisonValues/PERIOD_DIMENSION/VALUE/TITLE"/></td>
528                <td><xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TARGET_BASELINE_VALUE"/></td>
529                <td><xsl:value-of select="$initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/TARGET_GOAL_VALUE"/></td>
530                <td><xsl:value-of select="$indicatorComparisonValues/STATE/VALUE/TITLE"/></td>
531                <td><xsl:value-of select="$indicatorComparisonValues/US/VALUE/TITLE"/></td>
532        </tr>
533</table>
534<br/><br/>
535
536<textarea rows="10" cols="80">
537<xsl:copy-of select="$indicatorComparisonValues"/>
538</textarea>
539<br/>
540
541<!--
542<xsl:message select="$indicatorComparisonValues"/>
543<xsl:message select="'yyyyyyyyyyyyyyyyyyyyyyyyy'"/>
544
545
546<xsl:copy-of select="$indicator/DATASETS//RECORD[(MEASURE/NAME = $initiative/INITIATIVE_TOPIC/INITIATIVE_TOPIC_OBJECTIVE/MEASURE_NAME) and exists(DIMENSIONS/DIMENSION[(NAME='GeoState') and (VALUE='35')]) ]"/>
547-->
548                <link rel="stylesheet" type="text/css" href="{$ibis.contextPath}css/_community.css"/>
549<!--
550<xsl:call-template name="Highlight.communityStateUSComparisonTable">
551        <xsl:with-param name="communityTitle"
552                select="'my title'"
553        />
554        <xsl:with-param name="indicatorComparisonValues" select="$indicatorComparisonValues"/>
555        <xsl:with-param name="communityValue" select="$indicatorComparisonValues/STATE/VALUE/text()"/>
556</xsl:call-template>
557-->
558               
559<!-- GARTH TODO: Could implement the worse, same, better logic here... -->
560        </xsl:template>
561
562
563
564        <xsl:template name="Indicator.otherObjectives"
565                ibis:doc="Creates a titled content block that contains the
566                        'INDICATOR/OTHER_OBJECTIVE_DESCRIPTION' XML contents."
567        >
568                <xsl:param name="indicator" select="$indicator"/>
569                <xsl:call-template name="Indicator.contentBlock">
570                        <xsl:with-param name="title"   select="'Other Objectives'"/>
571                        <xsl:with-param name="content" select="$indicator/OTHER_OBJECTIVE_DESCRIPTION"/>
572                        <xsl:with-param name="description" select="'Describes any other health initiative objectives'"/>
573                        <xsl:with-param name="additionalClasses" select="'Text'"/>
574                </xsl:call-template>
575        </xsl:template>
576
577
578        <xsl:template name="Indicator.howDoing"
579                ibis:doc="Creates a titled content block that contains the
580                        'INDICATOR/HOW_DOING' XML contents."
581        >
582                <xsl:param name="indicator" select="$indicator"/>
583                <xsl:call-template name="Indicator.contentBlock">
584                        <xsl:with-param name="title"   select="'How Are We Doing?'"/>
585                        <xsl:with-param name="content" select="$indicator/HOW_DOING"/>
586                        <xsl:with-param name="description" select="'Provides a status on how the state is doing'"/>
587                        <xsl:with-param name="additionalClasses" select="'Text'"/>
588                </xsl:call-template>
589        </xsl:template>
590
591
592        <xsl:template name="Indicator.howCompare"
593                ibis:doc="Creates a titled content block that contains the
594                        'INDICATOR/STATE_VS_US' XML contents."
595        >
596                <xsl:param name="indicator" select="$indicator"/>
597                <xsl:call-template name="Indicator.contentBlock">
598                        <xsl:with-param name="title"   select="'How Do We Compare With the U.S.?'"/>
599                        <xsl:with-param name="content" select="$indicator/STATE_VS_US"/>
600                        <xsl:with-param name="description" select="'Provides a How Doing comparison between the state and the U.S.'"/>
601                        <xsl:with-param name="additionalClasses" select="'Text'"/>
602                </xsl:call-template>
603        </xsl:template>
604
605
606        <xsl:template name="Indicator.whatDoing"
607                ibis:doc="Creates a titled content block that contains the
608                        'INDICATOR/WHAT_DOING' XML contents."
609        >
610                <xsl:param name="indicator" select="$indicator"/>
611                <xsl:call-template name="Indicator.contentBlock">
612                        <xsl:with-param name="title"   select="'What Is Being Done?'"/>
613                        <xsl:with-param name="content" select="$indicator/WHAT_DOING"/>
614                        <xsl:with-param name="description" select="'Describes what is being done to help the population'"/>
615                        <xsl:with-param name="additionalClasses" select="'Text'"/>
616                </xsl:call-template>
617        </xsl:template>
618
619
620        <xsl:template name="Indicator.evidenceBasedPractices"
621                ibis:doc="Creates a titled content block that contains the
622                        'INDICATOR/EVIDENCE_BASED_PRACTICES' XML contents."
623        >
624                <xsl:param name="indicator" select="$indicator"/>
625                <xsl:call-template name="Indicator.contentBlock">
626                        <xsl:with-param name="title"   select="'Evidence-based Practices'"/>
627                        <xsl:with-param name="content" select="$indicator/EVIDENCE_BASED_PRACTICES"/>
628                        <xsl:with-param name="description" select="'Describes what evidence-based interventions are recommended'"/>
629                        <xsl:with-param name="additionalClasses" select="'Text'"/>
630                </xsl:call-template>
631        </xsl:template>
632
633
634        <xsl:template name="Indicator.footnoteReferences"
635                ibis:doc="Creates a titled content block that contains the
636                        'INDICATOR/FOOTNOTE_REFERENCES' XML contents."
637        >
638                <xsl:param name="indicator" select="$indicator"/>
639                <xsl:call-template name="Indicator.contentBlock">
640                        <xsl:with-param name="title"   select="'Footnote References'"/>
641                        <xsl:with-param name="content" select="$indicator/FOOTNOTE_REFERENCES"/>
642                        <xsl:with-param name="description" select="'Footnote References'"/>
643                </xsl:call-template>
644        </xsl:template>
645
646
647        <xsl:template name="Indicator.availableServices"
648                ibis:doc="Creates a titled content block that contains the
649                        'INDICATOR/SERVICES_AVAILABLE_TO_PUBLIC' XML contents."
650        >
651                <xsl:param name="indicator" select="$indicator"/>
652                <xsl:call-template name="Indicator.contentBlock">
653                        <xsl:with-param name="title"   select="'Available Services'"/>
654                        <xsl:with-param name="content" select="$indicator/SERVICES_AVAILABLE_TO_PUBLIC"/>
655                        <xsl:with-param name="description" select="'Provides text and links that can be referenced'"/>
656                </xsl:call-template>
657        </xsl:template>
658
659
660        <xsl:template name="Indicator.moreResources"
661                ibis:doc="Creates a titled content block that contains the
662                        'INDICATOR/MORE_RESOURCES' XML contents."
663        >
664                <xsl:param name="indicator" select="$indicator"/>
665                <xsl:call-template name="Indicator.contentBlock">
666                        <xsl:with-param name="title"   select="'More Resources'"/>
667                        <xsl:with-param name="content" select="$indicator/MORE_RESOURCES"/>
668                        <xsl:with-param name="description" select="'Additional resources'"/>
669                </xsl:call-template>
670        </xsl:template>
671
672
673        <xsl:template name="Indicator.otherInformation"
674                ibis:doc="Creates a titled content block that contains the
675                        'INDICATOR/OTHER_PROGRAM_INFORMATION' XML contents."
676        >
677                <xsl:param name="indicator" select="$indicator"/>
678                <xsl:call-template name="Indicator.contentBlock">
679                        <xsl:with-param name="title"   select="'Health Program Information'"/>
680                        <xsl:with-param name="content" select="$indicator/OTHER_PROGRAM_INFORMATION"/>
681                        <xsl:with-param name="description" select="'Additional information that does not fit into any of the above categories'"/>
682                        <xsl:with-param name="additionalClasses" select="'Text'"/>
683                </xsl:call-template>
684        </xsl:template>
685
686
687        <xsl:template name="Indicator.allDates"
688                ibis:doc="Creates a titled content block that contains the 'INDICATOR'
689                        date elements inside a div with the class style of 'Center'."
690        >
691                <xsl:param name="indicator" select="$indicator"/>
692                <div class="DataDate" title="Data source/data as of date and when these data were published to this site">
693                        Page Content Updated On <xsl:value-of select="$indicator/DATA_AS_OF_DATE"/>,
694                        Published on <xsl:value-of select="$indicator/PUBLISHED_DATE"/>
695<!-- Lois does not want this showing on public site 5-14-07.
696                        Data as of: <xsl:value-of select="$indicator/DATA_AS_OF_DATE"/>,
697                        Last Modified: <xsl:value-of select="$indicator/MODIFIED_DATE"/>,
698                        Published: <xsl:value-of select="$indicator/PUBLISHED_DATE"/>
699-->
700                </div>
701        </xsl:template>
702
703
704        <xsl:template name="Indicator.modifiedDate"
705                ibis:doc="Creates a titled content block that contains the
706                        'INDICATOR/MODIFIED_DATE' XML contents."
707        >
708                <xsl:param name="indicator" select="$indicator"/>
709                <xsl:element name="h{$Indicator.contentBlockTitleLevel}">
710                        <xsl:attribute name="title" select="'Date these data were last modified by the admin system.'"/>
711                        Data Modified Date
712                </xsl:element>
713                These data were last modified on: <xsl:value-of select="$indicator/MODIFIED_DATE"/>
714        </xsl:template>
715
716
717        <xsl:template name="Indicator.dataSourceDate"
718                ibis:doc="Creates a titled content block that contains the
719                        'INDICATOR/DATA_AS_OF_DATE' XML contents (data as of)."
720        >
721                <xsl:param name="indicator" select="$indicator"/>
722<!--
723                <h2 title="Data source date - date these data points are as of.">Data As Of Date</h2>
724                <xsl:value-of select="$indicator/DATA_AS_OF_DATE"/>
725                <br/><br/>
726
727                <div class="DataDate" title="Data source date - date these data points are as of.">
728                        Updated On <xsl:value-of select="$indicator/DATA_AS_OF_DATE"/>
729                </div>
730-->
731                <xsl:element name="h{$Indicator.contentBlockTitleLevel}">
732                        <xsl:attribute name="title" select="'Data source date - date these data points are as of.'"/>
733                        Date Indicator Content Last Updated: <xsl:value-of select="$indicator/DATA_AS_OF_DATE"/>
734                </xsl:element><br/>
735        </xsl:template>
736
737
738
739
740
741
742        <!-- =================== MORE SPECIALIZED TEMPLATES =================== -->
743        <xsl:template name="Indicator.dataIssues"
744                ibis:doc="Creates a titled content block that contains the list of all
745                        indicator DATA_ISSUES and DATASOURCE/DATA_ISSUES assoc with the view.
746                "
747        >
748                <xsl:param name="indicator"     select="$indicator"/>
749                <xsl:param name="indicatorView" select="$indicatorView"/>
750                <xsl:param name="title"         select="'Data Interpretation Issues'"/>
751
752GARTH TODO:
753<xsl:variable name="dataIssues">
754        <xsl:copy-of select="$indicatorView/DATA_ISSUES"/>
755        <xsl:for-each select="$Indicator.dataSources/DATA_SOURCE[NAME = $indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]]">
756                <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
757                <xsl:copy-of select="DATA_ISSUES"/>
758        </xsl:for-each>
759</xsl:variable>
760                <xsl:variable name="dataIssuesCount" select="count($dataIssues/DATA_ISSUES)"/>
761<xsl:message select="concat('Indicator.dataIssues, DI Count: ', $dataIssuesCount)"/>
762
763                <xsl:if test="0 != $dataIssuesCount">
764                        <xsl:call-template name="Indicator.contentBlock">
765                                <xsl:with-param name="title"   select="$title"/>
766                                <xsl:with-param name="content">
767                                        <xsl:if test="1 &lt; $dataIssuesCount">
768                                                <ul>
769                                                        <xsl:for-each select="$dataIssues/DATA_ISSUES">
770                                                                <li><xsl:value-of select="."/></li>
771                                                        </xsl:for-each>
772                                                </ul>
773                                        </xsl:if>
774                                        <xsl:if test="1 = $dataIssuesCount">
775                                                <xsl:value-of select="$dataIssues/DATA_ISSUES"/>
776                                        </xsl:if>
777                                </xsl:with-param>
778                                <xsl:with-param name="description" select="'Current data issues that should be noted and considered'"/>
779                        </xsl:call-template>
780                </xsl:if>
781        </xsl:template>
782
783
784        <xsl:template name="Indicator.dataNotes"
785                ibis:doc="Creates a titled content block that concatenates the
786                        indicator's DATA_NOTE (placed first) with the indicator's MEASURE
787                        DATA_NOTE.  This template handles blank text as well as putting a
788                        '.' in between the text if both are non blank and the indicator data
789                        note does not contain '.'."
790        >
791                <xsl:param name="measure"/>
792                <xsl:param name="indicatorView" select="$indicatorView"/>
793                <xsl:param name="title"         select="'Data Notes'"/>
794
795                <xsl:variable name="dataNotes">
796                        <xsl:copy-of select="$measure/DATA_NOTE"/>
797                        <xsl:copy-of select="$indicatorView/DATA_NOTE"/>
798                </xsl:variable>
799
800                <xsl:call-template name="Indicator.contentBlock">
801                        <xsl:with-param name="title"   select="$title"/>
802                        <xsl:with-param name="content">
803                                <xsl:for-each select="$dataNotes">
804                                        <xsl:if test="1 != position()"><br/><br/></xsl:if>
805                                        <xsl:value-of select="DATA_NOTE"/>
806                                </xsl:for-each>
807                        </xsl:with-param>
808                        <xsl:with-param name="description" select="'Data notes about the indicator data'"/>
809<!-- needed to be true - default
810had this turned off for some conflict but then natual breaks were being ignored
811so turned it back on.
812                        <xsl:with-param name="addWikiAttribute" select="true()"/>
813-->
814                </xsl:call-template>
815        </xsl:template>
816
817       
818
819
820        <xsl:template name="Indicator.dataSources"
821                ibis:doc="Creates a titled content block that builds a ';'
822                        separated text block based on all the applicable indicator's
823                        DATASET/DATA_SOURCES/DATA_SOURCE elements text.  This template handles
824                        removing/not including any indicator DATASET DATA_SORUCE element that
825                        already exist in the indicator's DATA_SOURCE elements."
826        >
827                <xsl:param name="indicator"     select="$indicator"     ibis:doc="indicator that contains the datasets which contain the data sources."/>
828                <xsl:param name="indicatorView" select="$indicatorView" ibis:doc="indicator view element."/>
829
830                <xsl:param name="indicatorDatasets" select="$indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]"/>
831                <xsl:param name="indicatorDatasetDataSourceNames" select="$indicatorDatasets/DATA_SOURCE_USAGES/DATA_SOURCE_USAGE/NAME"/>
832                <xsl:param name="dataSources" select="$Indicator.dataSources/DATA_SOURCE[NAME = $indicatorDatasetDataSourceNames]"/>
833                <xsl:param name="title"       select="if(count($dataSources) = 1)then 'Data Source' else 'Data Sources'"/>
834
835                <!-- Tried bunch of things to remove dup data sources.  keys are only good within given node set.
836                         even though ind and ind view ds structs are the same and had exactly the same values the
837                         key wouldn't match!!! Finally went to doing a simple boolean exists test and it works.
838                         Tried unioning node sets (which was supposed to remove dups) - same result as keys.
839                         Tried unioning and then doing a [not(.=preceding-sibling:: ==> same result.
840                -->
841
842                <xsl:call-template name="Indicator.contentBlock">
843                        <xsl:with-param name="title" select="$title"/>
844                        <xsl:with-param name="content">
845                                <xsl:if test="count($dataSources) = 1">
846                                        <xsl:value-of select="$dataSources[1]/TEXT"/><br/>
847                                </xsl:if>
848                                <xsl:if test="count($dataSources) &gt; 1">
849                                        <ul>
850                                                <xsl:for-each-group select="$dataSources" group-by="NAME">
851                                                        <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
852                                                        <li>
853                                                                <xsl:value-of select="TEXT"/>
854                                                                <xsl:if test="string-length(DATA_ISSUES) != 0">
855                                                                        <div class="Note">
856                                                                                <xsl:value-of select="DATA_ISSUES"/>
857                                                                        </div>
858                                                                </xsl:if>
859                                                                <xsl:if test="string-length(URL) != 0">
860                                                                        <br/>
861                                                                        (<a href="{URL}"><xsl:value-of select="URL"/></a>)
862                                                                </xsl:if>
863                                                        </li>
864                                                </xsl:for-each-group>
865                                        </ul>
866                                </xsl:if>
867                        </xsl:with-param>
868                        <xsl:with-param name="description" select="'Metadata about this indicator profiles data source(s)'"/>
869                </xsl:call-template>
870        </xsl:template>
871
872
873
874
875        <xsl:template name="Indicator.views" ibis:doc="Creates a list of other indicator profile view links.">
876                <xsl:param name="indicator"   select="$indicator"/>
877                <xsl:param name="currentIndicatorViewName"/>
878                <xsl:param name="title"       select="concat($indicator/TITLE, ' Views')"/>
879                <xsl:param name="description" select="concat('Chart views for ', $indicator/TITLE)"/>
880
881                <xsl:variable name="indicatorViews" select="if(string-length($currentIndicatorViewName) != 0) then $indicator/INDICATOR_VIEWS/INDICATOR_VIEW[NAME != $currentIndicatorViewName] else $indicator/INDICATOR_VIEWS/INDICATOR_VIEW"/>
882                <xsl:if test="exists($indicatorViews[1]/NAME)">
883                        <xsl:call-template name="ContentContainer.contentBlock">
884                                <xsl:with-param name="title"       select="$title"/>
885                                <xsl:with-param name="description" select="$description"/>
886                                <xsl:with-param name="content">
887                                        <ul>
888                                        <xsl:for-each select="$indicatorViews">
889                                                <xsl:variable name="indicatorViewTitle" select="TITLE"/>
890                                                <li><a href="{concat($Indicator.viewURLPrefix, NAME, '.html')}" 
891                                                                title="Another view for {$indicatorViewTitle}"
892                                                        ><xsl:value-of select="$indicatorViewTitle"/> 
893                                                </a></li>
894                                        </xsl:for-each>
895                                        </ul>
896                                </xsl:with-param>
897                        </xsl:call-template>
898                </xsl:if>
899        </xsl:template>
900
901
902        <xsl:template name="Indicator.relatedIndicators"
903                ibis:doc="Localizes handling/display control of the 'INDICATOR/RELATIONS/
904                        RELATION' elements.  This displays the relation text and title (if
905                        the text exists), followed by a list of related indicator profile
906                        links.  If preview (e.g. existance of the xmlURL parameter then the
907                        list is all the RELATED_INDIACTOR elements.  Else - live then display
908                        realted links only for those indicator's that are published."
909        >
910                <xsl:param name="indicator" select="$indicator"/>
911                <xsl:param name="relations" select="$indicator/RELATIONS/RELATION"/>
912                <xsl:param name="previewFlag"   select="string-length($xmlURL) != 0"/>
913                <xsl:param name="viewURLPrefix" select="$Indicator.viewURLPrefix"/>
914
915                <xsl:for-each select="$relations/RELATION">
916                        <xsl:variable name="relatedIndicators" select="RELATED_INDICATORS/RELATED_INDICATOR"/>
917                        <xsl:call-template name="Indicator.contentBlock">
918                                <xsl:with-param name="title"   select="TITLE"/>
919                                <xsl:with-param name="content" select="TEXT"/>
920                        </xsl:call-template>
921
922                        <xsl:call-template name="Indicator.contentBlock">
923                                <xsl:with-param name="title"   select="concat('Related ', TITLE, ' Indicators: ')"/>
924                                <xsl:with-param name="content">
925                                        <xsl:if test="count($relatedIndicators) != 0">
926                                                <ul>
927                                                <xsl:for-each select="$relatedIndicators">
928                                                        <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
929                                                        <li>
930                                                                <a href="{if($previewFlag) then '#' else concat($viewURLPrefix, NAME, '.html')}">
931                                                                        <xsl:value-of select="TITLE"/>
932                                                                </a>
933                                                        </li>
934                                                </xsl:for-each>
935                                                </ul>
936                                        </xsl:if>
937                                </xsl:with-param>
938                        </xsl:call-template>
939
940                </xsl:for-each>
941        </xsl:template>
942
943
944        <xsl:template name="Indicator.relatedTopics" ibis:doc="Creates a list of topic links.">
945                <xsl:param name="indicator"   select="$indicator"/>
946                <xsl:param name="title"       select="concat('Health Topic Pages Related to: ', $indicator/TITLE)"/>
947                <xsl:param name="description" select="concat('Associated topics for ', $indicator/TITLE)"/>
948
949                <xsl:if test="exists($indicator/TOPICS/TOPIC)">
950                        <xsl:call-template name="ContentContainer.contentBlock">
951                                <xsl:with-param name="title"       select="$title"/>
952                                <xsl:with-param name="titleLevel"  select="2"/>
953                                <xsl:with-param name="description" select="$description"/>
954                                <xsl:with-param name="content">
955                                        <ul>
956                                        <xsl:for-each select="$indicator/TOPICS/TOPIC">
957                                                <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
958                                                <li><a href="{ibis:getCompleteURL(URL)}" title="Topic {TITLE}"
959                                                        ><xsl:value-of select="TITLE"/> 
960                                                </a></li>
961                                        </xsl:for-each>
962                                        </ul>
963                                </xsl:with-param>
964                        </xsl:call-template>
965                </xsl:if>
966        </xsl:template>
967
968
969        <xsl:template name="Indicator.relatedQueries" ibis:doc="Creates a list of ds query links.">
970                <xsl:param name="indicator"   select="$indicator"/>
971                <xsl:param name="title"       select="concat('Dataset Queries Related to: ', $indicator/TITLE)"/>
972                <xsl:param name="description" select="concat('Associated queryable datasets for ', $indicator/TITLE)"/>
973
974                <xsl:variable name="countOfQueries" select="count($indicator//DATASET/QUERY)"/>
975                <xsl:if test="0 != $countOfQueries">
976                        <xsl:call-template name="ContentContainer.contentBlock">
977                                <xsl:with-param name="title"       select="$title"/>
978                                <xsl:with-param name="description" select="$description"/>
979                                <xsl:with-param name="content">
980                                        <ul>
981                                        <xsl:for-each select="$indicator//DATASET/QUERY">
982                                                <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
983                                                <li><a href="{ibis:getCompleteURL(URL)}" title="Dataset Query {TITLE}"
984                                                        ><xsl:value-of select="TITLE"/> 
985                                                </a></li>
986                                        </xsl:for-each>
987                                        </ul>
988                                </xsl:with-param>
989                        </xsl:call-template>
990                </xsl:if>
991        </xsl:template>
992
993
994        <xsl:template name="Indicator.moreResourcesAndLinks"
995                ibis:doc="Localizes handling/display control of the More Resources And
996                        Links section.
997                "
998        >
999                <xsl:param name="indicator" select="$indicator"/>
1000
1001                <!-- IMPORTANT NOTE: This is the same information displayed when the
1002                        Indicator.moreInformation template is called.
1003                -->
1004                <xsl:if test="string-length($indicator/RESOURCES_REFERENCES_LINKS) != 0">
1005                        <xsl:call-template name="ContentContainer.contentBlock">
1006                                <xsl:with-param name="title" select="'References and Community Resources'"/>
1007                                <xsl:with-param name="titleLevel" select="2"/>
1008                                <xsl:with-param name="content" select="$indicator/RESOURCES_REFERENCES_LINKS"/>
1009                                <xsl:with-param name="addWikiAttribute" select="true()"/>
1010                        </xsl:call-template>
1011                        <br/>
1012                </xsl:if>
1013
1014                <!-- More Resources Text -->
1015<h2>GARTH: Look at: Indicator .moreResourcesAndLinks - More Resources and Links</h2>
1016
1017                Evidence-based community health improvement ideas and interventions may be found at the following sites:<br/>
1018                <ul>
1019                        <li><a href="http://www.thecommunityguide.org/index.html">The Guide to Community Preventive Services </a></li>
1020                        <li><a href="http://www.countyhealthrankings.org">County Health Rankings</a></li>
1021                        <li><a href="http://www.healthypeople.gov">Healthy People 2020 Website</a></li>
1022                </ul><br/>
1023
1024                Additional indicator data by state and county may be found on these Websites:<br/>
1025                <ul>
1026                        <li><a href="http://www.countyhealthrankings.org">County Health Rankings</a></li>
1027                        <li>Kaiser Family Foundation's <a href="http://www.statehealthfacts.org/">StateHealthFacts.org</a></li>
1028                        <li>CDC WONDER's <a href="http://wonder.cdc.gov/data2010/">DATA2010</a>, the Healthy People 2010 Database.</li>
1029                </ul><br/>
1030
1031                Medical literature can be queried at the <a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?">PubMed</a> website.
1032                <br/><br/>
1033                For an on-line medical dictionary, click on this <a href="http://www.nlm.nih.gov/medlineplus/mplusdictionary.html">Dictionary</a> link.
1034        </xsl:template>
1035
1036
1037        <xsl:template name="Indicator.externalDataViz">
1038                <xsl:param name="indicatorView"/>
1039
1040                <xsl:if test="string-length($indicatorView/EXTERNAL_DATAVIZ_VALUE) != 0">
1041                        <div class="Graphic ExternalDataViz">
1042                                <xsl:if test="string-length($indicatorView/EXTERNAL_DATAVIZ_TITLE) != 0">
1043                                        <h2><xsl:value-of select="$indicatorView/EXTERNAL_DATAVIZ_TITLE"/></h2>
1044                                </xsl:if>
1045                                <xsl:choose>
1046                                        <xsl:when test="'IMG_SRC' = $indicatorView/EXTERNAL_DATAVIZ_TYPE">
1047                                                <img src="{$indicatorView/EXTERNAL_DATAVIZ_VALUE}" alt="supplemental image"/>
1048                                        </xsl:when>
1049                                        <xsl:when test="'EMBED_SRC' = $indicatorView/EXTERNAL_DATAVIZ_TYPE">
1050                                                <embed src="{$indicatorView/EXTERNAL_DATAVIZ_VALUE}" alt="supplemental image"/>
1051                                        </xsl:when>
1052                                        <xsl:when test="'IFRAME_SRC' = $indicatorView/EXTERNAL_DATAVIZ_TYPE">
1053                                                <iframe src="{$indicatorView/EXTERNAL_DATAVIZ_VALUE}" alt="supplemental image"/>
1054                                        </xsl:when>
1055                                        <xsl:otherwise>
1056                                                <div class="Error">Invalid External DataViz Type</div>
1057                                        </xsl:otherwise>
1058                                </xsl:choose>
1059                                <br/>
1060
1061                                <xsl:if test="string-length($indicatorView/EXTERNAL_DATAVIZ_NARRATIVE) != 0">
1062                                        <xsl:call-template name="ContentContainer.contentBlock">
1063                                                <xsl:with-param name="content" select="$indicatorView/EXTERNAL_DATAVIZ_NARRATIVE"/>
1064                                                <xsl:with-param name="addWikiAttribute" select="true()"/>
1065                                        </xsl:call-template>
1066                                        <br/>
1067                                </xsl:if>
1068                        </div><br/>
1069                </xsl:if>
1070        </xsl:template>
1071
1072</xsl:stylesheet>
1073<!-- ============================= End of File ============================= -->
1074
Note: See TracBrowser for help on using the repository browser.