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

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

db, view - fixed prev other topic name. Implemented topic ip list. Cleaned up and moved _commity.css to Community. XML services and model map cleanup and better descrips. Removed extra "/" from dynamic IP paths when building filename. Renamed IP page.options to page.contentOptions to be consist.

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