geo_combine 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -0
- data/lib/geo_combine/fgdc.rb +9 -2
- data/lib/geo_combine/iso19139.rb +9 -2
- data/lib/geo_combine/version.rb +1 -1
- data/lib/geo_combine.rb +10 -2
- data/lib/xslt/fgdc2html.xsl +1034 -0
- data/lib/xslt/iso2html.xsl +1745 -0
- data/lib/xslt/utils/convert-enumerations.xsl +97 -0
- data/lib/xslt/utils/convert-latlong.xsl +73 -0
- data/lib/xslt/utils/decode-uri/base.css +408 -0
- data/lib/xslt/utils/decode-uri/index.html +29 -0
- data/lib/xslt/utils/elements-fgdc.xml +824 -0
- data/lib/xslt/utils/elements-iso.xml +636 -0
- data/lib/xslt/utils/printFormatted.xsl +267 -0
- data/lib/xslt/utils/printTextLines.xsl +192 -0
- data/lib/xslt/utils/replace-newlines.xsl +97 -0
- data/lib/xslt/utils/replace-string.xsl +80 -0
- data/lib/xslt/utils/strip-digits.xsl +60 -0
- data/lib/xslt/utils/url-decode.xsl +87 -0
- data/lib/xslt/utils/wrap-text.xsl +174 -0
- data/spec/lib/geo_combine/fgdc_spec.rb +12 -2
- data/spec/lib/geo_combine/iso19139_spec.rb +12 -2
- data/spec/lib/geo_combine_spec.rb +2 -1
- metadata +17 -2
@@ -0,0 +1,1034 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- From Mike Graves, MIT
|
3
|
+
https://github.com/gravesm/kendallite/blob/master/kendallite/site/fgdc.xsl
|
4
|
+
-->
|
5
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
6
|
+
<xsl:output omit-xml-declaration="yes" />
|
7
|
+
|
8
|
+
|
9
|
+
<!-- Variables controlling the elements and attributes used to create html
|
10
|
+
output -->
|
11
|
+
|
12
|
+
<!-- Top level heading element -->
|
13
|
+
<xsl:variable name="heading-1" select="'h3'" />
|
14
|
+
<xsl:attribute-set name="heading-1-attr" />
|
15
|
+
|
16
|
+
<!-- Second level heading element -->
|
17
|
+
<xsl:variable name="heading-2" select="'h4'" />
|
18
|
+
<xsl:attribute-set name="heading-2-attr" />
|
19
|
+
|
20
|
+
<!-- Third level heading element -->
|
21
|
+
<xsl:variable name="heading-3" select="'h5'" />
|
22
|
+
<xsl:attribute-set name="heading-3-attr" />
|
23
|
+
|
24
|
+
<!-- Element used to wrap one or more key/value pairs -->
|
25
|
+
<xsl:variable name="list" select="'dl'" />
|
26
|
+
<xsl:attribute-set name="list-attr">
|
27
|
+
<xsl:attribute name="class">dl-horizontal</xsl:attribute>
|
28
|
+
</xsl:attribute-set>
|
29
|
+
|
30
|
+
<!-- Element used to wrap a key in a key/value pair -->
|
31
|
+
<xsl:variable name="key" select="'dt'" />
|
32
|
+
<xsl:attribute-set name="key-attr" />
|
33
|
+
|
34
|
+
<!-- Element used to wrap a value in a key/value pair -->
|
35
|
+
<xsl:variable name="value" select="'dd'" />
|
36
|
+
<xsl:attribute-set name="value-attr" />
|
37
|
+
|
38
|
+
<!-- Element used to wrap content of a top level section -->
|
39
|
+
<xsl:variable name="section-1" select="'section'" />
|
40
|
+
<xsl:attribute-set name="section-1-attr" />
|
41
|
+
|
42
|
+
<!-- Element used to wrap an entity/attribute definition -->
|
43
|
+
<xsl:variable name="section-2" select="'section'" />
|
44
|
+
<xsl:attribute-set name="section-2-attr" />
|
45
|
+
|
46
|
+
|
47
|
+
<xsl:template match="/">
|
48
|
+
<xsl:apply-templates />
|
49
|
+
</xsl:template>
|
50
|
+
|
51
|
+
|
52
|
+
<!-- Identification Information -->
|
53
|
+
<xsl:template match="metadata/idinfo">
|
54
|
+
<xsl:element name="{$heading-1}" use-attribute-sets="heading-1-attr">
|
55
|
+
<xsl:text>Identification Information</xsl:text>
|
56
|
+
</xsl:element>
|
57
|
+
<xsl:element name="{$section-1}" use-attribute-sets="section-1-attr">
|
58
|
+
<xsl:apply-templates />
|
59
|
+
</xsl:element>
|
60
|
+
</xsl:template>
|
61
|
+
|
62
|
+
<xsl:template match="citation">
|
63
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="heading-2-attr">
|
64
|
+
<xsl:text>Citation Information</xsl:text>
|
65
|
+
</xsl:element>
|
66
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
67
|
+
<xsl:apply-templates select="citeinfo" />
|
68
|
+
</xsl:element>
|
69
|
+
</xsl:template>
|
70
|
+
|
71
|
+
<xsl:template match="descript">
|
72
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
73
|
+
<xsl:text>Description</xsl:text>
|
74
|
+
</xsl:element>
|
75
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
76
|
+
<xsl:apply-templates />
|
77
|
+
</xsl:element>
|
78
|
+
</xsl:template>
|
79
|
+
|
80
|
+
<xsl:template match="abstract">
|
81
|
+
<xsl:call-template name="description">
|
82
|
+
<xsl:with-param name="term" select="'Abstract'" />
|
83
|
+
</xsl:call-template>
|
84
|
+
</xsl:template>
|
85
|
+
|
86
|
+
<xsl:template match="purpose">
|
87
|
+
<xsl:call-template name="description">
|
88
|
+
<xsl:with-param name="term" select="'Purpose'" />
|
89
|
+
</xsl:call-template>
|
90
|
+
</xsl:template>
|
91
|
+
|
92
|
+
<xsl:template match="supplinf">
|
93
|
+
<xsl:call-template name="description">
|
94
|
+
<xsl:with-param name="term" select="'Supplemental Information'" />
|
95
|
+
</xsl:call-template>
|
96
|
+
</xsl:template>
|
97
|
+
|
98
|
+
<xsl:template match="timeperd">
|
99
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
100
|
+
<xsl:text>Time Period of Content</xsl:text>
|
101
|
+
</xsl:element>
|
102
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
103
|
+
<xsl:apply-templates select="timeinfo|current" />
|
104
|
+
</xsl:element>
|
105
|
+
</xsl:template>
|
106
|
+
|
107
|
+
<xsl:template match="current">
|
108
|
+
<xsl:call-template name="description">
|
109
|
+
<xsl:with-param name="term" select="'Currentness Reference'" />
|
110
|
+
</xsl:call-template>
|
111
|
+
</xsl:template>
|
112
|
+
|
113
|
+
<xsl:template match="status">
|
114
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
115
|
+
<xsl:text>Status</xsl:text>
|
116
|
+
</xsl:element>
|
117
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
118
|
+
<xsl:apply-templates />
|
119
|
+
</xsl:element>
|
120
|
+
</xsl:template>
|
121
|
+
|
122
|
+
<xsl:template match="spdom">
|
123
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
124
|
+
<xsl:text>Spatial Domain</xsl:text>
|
125
|
+
</xsl:element>
|
126
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
127
|
+
<xsl:apply-templates />
|
128
|
+
</xsl:element>
|
129
|
+
</xsl:template>
|
130
|
+
|
131
|
+
<xsl:template match="keywords">
|
132
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
133
|
+
<xsl:text>Keywords</xsl:text>
|
134
|
+
</xsl:element>
|
135
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
136
|
+
<xsl:apply-templates />
|
137
|
+
</xsl:element>
|
138
|
+
</xsl:template>
|
139
|
+
|
140
|
+
<xsl:template match="accconst">
|
141
|
+
<xsl:if test="normalize-space(.) != ''">
|
142
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
143
|
+
<xsl:call-template name="description">
|
144
|
+
<xsl:with-param name="term" select="'Access Constraints'" />
|
145
|
+
</xsl:call-template>
|
146
|
+
</xsl:element>
|
147
|
+
</xsl:if>
|
148
|
+
</xsl:template>
|
149
|
+
|
150
|
+
<xsl:template match="useconst">
|
151
|
+
<xsl:if test="normalize-space(.) != ''">
|
152
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
153
|
+
<xsl:call-template name="description">
|
154
|
+
<xsl:with-param name="term" select="'Use Constraints'" />
|
155
|
+
</xsl:call-template>
|
156
|
+
</xsl:element>
|
157
|
+
</xsl:if>
|
158
|
+
</xsl:template>
|
159
|
+
|
160
|
+
<xsl:template match="temporal/tempkt">
|
161
|
+
<xsl:call-template name="description">
|
162
|
+
<xsl:with-param name="term" select="'Temporal Keyword Thesaurus'" />
|
163
|
+
</xsl:call-template>
|
164
|
+
</xsl:template>
|
165
|
+
|
166
|
+
<xsl:template match="temporal/tempkey">
|
167
|
+
<xsl:call-template name="description">
|
168
|
+
<xsl:with-param name="term" select="'Temporal Keyword'" />
|
169
|
+
</xsl:call-template>
|
170
|
+
</xsl:template>
|
171
|
+
|
172
|
+
<xsl:template match="stratum/stratkey">
|
173
|
+
<xsl:call-template name="description">
|
174
|
+
<xsl:with-param name="term" select="'Stratum Keyword'" />
|
175
|
+
</xsl:call-template>
|
176
|
+
</xsl:template>
|
177
|
+
|
178
|
+
<xsl:template match="stratum/stratkt">
|
179
|
+
<xsl:call-template name="description">
|
180
|
+
<xsl:with-param name="term" select="'Stratum Keyword Thesaurus'" />
|
181
|
+
</xsl:call-template>
|
182
|
+
</xsl:template>
|
183
|
+
|
184
|
+
<xsl:template match="theme">
|
185
|
+
<xsl:element name="{$key}" use-attribute-sets="key-attr">
|
186
|
+
<xsl:attribute name="title">Theme Keywords</xsl:attribute>
|
187
|
+
<xsl:text>Theme Keywords</xsl:text>
|
188
|
+
</xsl:element>
|
189
|
+
<xsl:element name="{$value}" use-attribute-sets="value-attr">
|
190
|
+
<xsl:for-each select="themekey">
|
191
|
+
<xsl:value-of select="." />
|
192
|
+
<xsl:if test="position() != last()">
|
193
|
+
<xsl:text>; </xsl:text>
|
194
|
+
</xsl:if>
|
195
|
+
</xsl:for-each>
|
196
|
+
</xsl:element>
|
197
|
+
</xsl:template>
|
198
|
+
|
199
|
+
<xsl:template match="place">
|
200
|
+
<xsl:element name="{$key}" use-attribute-sets="key-attr">
|
201
|
+
<xsl:attribute name="title">Place Keywords</xsl:attribute>
|
202
|
+
<xsl:text>Place Keywords</xsl:text>
|
203
|
+
</xsl:element>
|
204
|
+
<xsl:element name="{$value}" use-attribute-sets="value-attr">
|
205
|
+
<xsl:for-each select="placekey">
|
206
|
+
<xsl:value-of select="." />
|
207
|
+
<xsl:if test="position() != last()">
|
208
|
+
<xsl:text>; </xsl:text>
|
209
|
+
</xsl:if>
|
210
|
+
</xsl:for-each>
|
211
|
+
</xsl:element>
|
212
|
+
</xsl:template>
|
213
|
+
|
214
|
+
<xsl:template match="westbc">
|
215
|
+
<xsl:call-template name="description">
|
216
|
+
<xsl:with-param name="term" select="'West Bounding Coordinate'" />
|
217
|
+
</xsl:call-template>
|
218
|
+
</xsl:template>
|
219
|
+
|
220
|
+
<xsl:template match="eastbc">
|
221
|
+
<xsl:call-template name="description">
|
222
|
+
<xsl:with-param name="term" select="'East Bounding Coordinate'" />
|
223
|
+
</xsl:call-template>
|
224
|
+
</xsl:template>
|
225
|
+
|
226
|
+
<xsl:template match="northbc">
|
227
|
+
<xsl:call-template name="description">
|
228
|
+
<xsl:with-param name="term" select="'North Bounding Coordinate'" />
|
229
|
+
</xsl:call-template>
|
230
|
+
</xsl:template>
|
231
|
+
|
232
|
+
<xsl:template match="southbc">
|
233
|
+
<xsl:call-template name="description">
|
234
|
+
<xsl:with-param name="term" select="'South Bounding Coordinate'" />
|
235
|
+
</xsl:call-template>
|
236
|
+
</xsl:template>
|
237
|
+
|
238
|
+
<xsl:template match="update">
|
239
|
+
<xsl:call-template name="description">
|
240
|
+
<xsl:with-param name="term" select="'Maintenance and Update Frequency'" />
|
241
|
+
</xsl:call-template>
|
242
|
+
</xsl:template>
|
243
|
+
|
244
|
+
<xsl:template match="progress">
|
245
|
+
<xsl:call-template name="description">
|
246
|
+
<xsl:with-param name="term" select="'Progress'" />
|
247
|
+
</xsl:call-template>
|
248
|
+
</xsl:template>
|
249
|
+
|
250
|
+
<xsl:template match="current">
|
251
|
+
<xsl:call-template name="description">
|
252
|
+
<xsl:with-param name="term" select="'Currentness Reference'" />
|
253
|
+
</xsl:call-template>
|
254
|
+
</xsl:template>
|
255
|
+
|
256
|
+
<xsl:template match="ptcontac">
|
257
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
258
|
+
<xsl:apply-templates select="cntinfo" />
|
259
|
+
</xsl:element>
|
260
|
+
</xsl:template>
|
261
|
+
<!-- End Identification Information -->
|
262
|
+
|
263
|
+
|
264
|
+
<!-- Data Quality Information -->
|
265
|
+
<xsl:template match="metadata/dataqual">
|
266
|
+
<xsl:element name="{$heading-1}" use-attribute-sets="heading-1-attr">
|
267
|
+
<xsl:text>Data Quality Information</xsl:text>
|
268
|
+
</xsl:element>
|
269
|
+
<xsl:element name="{$section-1}" use-attribute-sets="section-1-attr">
|
270
|
+
<xsl:apply-templates />
|
271
|
+
</xsl:element>
|
272
|
+
</xsl:template>
|
273
|
+
|
274
|
+
<xsl:template match="attracc">
|
275
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
276
|
+
<xsl:text>Attribute Accuracy</xsl:text>
|
277
|
+
</xsl:element>
|
278
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
279
|
+
<xsl:apply-templates />
|
280
|
+
</xsl:element>
|
281
|
+
</xsl:template>
|
282
|
+
|
283
|
+
<xsl:template match="attraccr">
|
284
|
+
<xsl:call-template name="description">
|
285
|
+
<xsl:with-param name="term" select="'Attribute Accuracy Report'" />
|
286
|
+
</xsl:call-template>
|
287
|
+
</xsl:template>
|
288
|
+
|
289
|
+
<xsl:template match="attraccv">
|
290
|
+
<xsl:call-template name="description">
|
291
|
+
<xsl:with-param name="term" select="'Attribute Accuracy Value'" />
|
292
|
+
</xsl:call-template>
|
293
|
+
</xsl:template>
|
294
|
+
|
295
|
+
<xsl:template match="attracce">
|
296
|
+
<xsl:call-template name="description">
|
297
|
+
<xsl:with-param name="term" select="'Attribute Accuracy Explanation'" />
|
298
|
+
</xsl:call-template>
|
299
|
+
</xsl:template>
|
300
|
+
|
301
|
+
<xsl:template match="logic">
|
302
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
303
|
+
<xsl:call-template name="description">
|
304
|
+
<xsl:with-param name="term" select="'Logical Consistency Report'" />
|
305
|
+
</xsl:call-template>
|
306
|
+
</xsl:element>
|
307
|
+
</xsl:template>
|
308
|
+
|
309
|
+
<xsl:template match="complete">
|
310
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
311
|
+
<xsl:call-template name="description">
|
312
|
+
<xsl:with-param name="term" select="'Completeness Report'" />
|
313
|
+
</xsl:call-template>
|
314
|
+
</xsl:element>
|
315
|
+
</xsl:template>
|
316
|
+
|
317
|
+
<xsl:template match="posacc/horizpa">
|
318
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
319
|
+
<xsl:text>Horizontal Positional Accuracy</xsl:text>
|
320
|
+
</xsl:element>
|
321
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
322
|
+
<xsl:apply-templates />
|
323
|
+
</xsl:element>
|
324
|
+
</xsl:template>
|
325
|
+
|
326
|
+
<xsl:template match="posacc/vertacc">
|
327
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
328
|
+
<xsl:text>Vertical Positional Accuracy</xsl:text>
|
329
|
+
</xsl:element>
|
330
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
331
|
+
<xsl:apply-templates />
|
332
|
+
</xsl:element>
|
333
|
+
</xsl:template>
|
334
|
+
|
335
|
+
<xsl:template match="horizpar">
|
336
|
+
<xsl:call-template name="description">
|
337
|
+
<xsl:with-param name="term" select="'Horizontal Positional Accuracy Report'" />
|
338
|
+
</xsl:call-template>
|
339
|
+
</xsl:template>
|
340
|
+
|
341
|
+
<xsl:template match="qhorizpa">
|
342
|
+
<xsl:apply-templates />
|
343
|
+
</xsl:template>
|
344
|
+
|
345
|
+
<xsl:template match="horizpav">
|
346
|
+
<xsl:call-template name="description">
|
347
|
+
<xsl:with-param name="term" select="'Horizontal Positional Accuracy Value'" />
|
348
|
+
</xsl:call-template>
|
349
|
+
</xsl:template>
|
350
|
+
|
351
|
+
<xsl:template match="horizpae">
|
352
|
+
<xsl:call-template name="description">
|
353
|
+
<xsl:with-param name="term" select="'Horizontal Positional Accuracy Explanation'" />
|
354
|
+
</xsl:call-template>
|
355
|
+
</xsl:template>
|
356
|
+
|
357
|
+
<xsl:template match="vertaccr">
|
358
|
+
<xsl:call-template name="description">
|
359
|
+
<xsl:with-param name="term" select="'Vertical Positional Accuracy Report'" />
|
360
|
+
</xsl:call-template>
|
361
|
+
</xsl:template>
|
362
|
+
|
363
|
+
<xsl:template match="qvertpa">
|
364
|
+
<xsl:apply-templates />
|
365
|
+
</xsl:template>
|
366
|
+
|
367
|
+
<xsl:template match="vertaccv">
|
368
|
+
<xsl:call-template name="description">
|
369
|
+
<xsl:with-param name="term" select="'Vertical Positional Accuracy Value'" />
|
370
|
+
</xsl:call-template>
|
371
|
+
</xsl:template>
|
372
|
+
|
373
|
+
<xsl:template match="vertacce">
|
374
|
+
<xsl:call-template name="description">
|
375
|
+
<xsl:with-param name="term" select="'Vertical Positional Accuracy Explanation'" />
|
376
|
+
</xsl:call-template>
|
377
|
+
</xsl:template>
|
378
|
+
|
379
|
+
<xsl:template match="lineage/srcinfo">
|
380
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
381
|
+
<xsl:text>Lineage Source Information</xsl:text>
|
382
|
+
</xsl:element>
|
383
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
384
|
+
<xsl:apply-templates />
|
385
|
+
</xsl:element>
|
386
|
+
</xsl:template>
|
387
|
+
|
388
|
+
<xsl:template match="srccite/citeinfo">
|
389
|
+
<xsl:apply-templates />
|
390
|
+
</xsl:template>
|
391
|
+
|
392
|
+
<xsl:template match="lineage/procstep">
|
393
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
394
|
+
<xsl:text>Lineage Process Step</xsl:text>
|
395
|
+
</xsl:element>
|
396
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
397
|
+
<xsl:apply-templates />
|
398
|
+
</xsl:element>
|
399
|
+
</xsl:template>
|
400
|
+
|
401
|
+
<xsl:template match="procdesc">
|
402
|
+
<xsl:call-template name="description">
|
403
|
+
<xsl:with-param name="term" select="'Process Description'" />
|
404
|
+
</xsl:call-template>
|
405
|
+
</xsl:template>
|
406
|
+
|
407
|
+
<xsl:template match="srcused">
|
408
|
+
<xsl:call-template name="description">
|
409
|
+
<xsl:with-param name="term" select="'Source Used Citation Abbreviation'" />
|
410
|
+
</xsl:call-template>
|
411
|
+
</xsl:template>
|
412
|
+
|
413
|
+
<xsl:template match="procdate">
|
414
|
+
<xsl:call-template name="description">
|
415
|
+
<xsl:with-param name="term" select="'Process Date'" />
|
416
|
+
</xsl:call-template>
|
417
|
+
</xsl:template>
|
418
|
+
|
419
|
+
<xsl:template match="proctime">
|
420
|
+
<xsl:call-template name="description">
|
421
|
+
<xsl:with-param name="term" select="'Process Time'" />
|
422
|
+
</xsl:call-template>
|
423
|
+
</xsl:template>
|
424
|
+
|
425
|
+
<xsl:template match="srcprod">
|
426
|
+
<xsl:call-template name="description">
|
427
|
+
<xsl:with-param name="term" select="'Source Produced Citation Abbreviation'" />
|
428
|
+
</xsl:call-template>
|
429
|
+
</xsl:template>
|
430
|
+
|
431
|
+
<xsl:template match="proccont">
|
432
|
+
</xsl:template>
|
433
|
+
|
434
|
+
<xsl:template match="cloud">
|
435
|
+
<xsl:call-template name="description">
|
436
|
+
<xsl:with-param name="term" select="'Cloud Cover'" />
|
437
|
+
</xsl:call-template>
|
438
|
+
</xsl:template>
|
439
|
+
<!-- End Data Quality Information -->
|
440
|
+
|
441
|
+
<!-- Spatial Data Organization Information -->
|
442
|
+
<xsl:template match="metadata/spdoinfo">
|
443
|
+
<xsl:element name="{$heading-1}" use-attribute-sets="heading-1-attr">
|
444
|
+
<xsl:text>Spatial Data Organization Information</xsl:text>
|
445
|
+
</xsl:element>
|
446
|
+
<xsl:element name="{$section-1}" use-attribute-sets="section-1-attr">
|
447
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
448
|
+
<xsl:apply-templates />
|
449
|
+
</xsl:element>
|
450
|
+
</xsl:element>
|
451
|
+
</xsl:template>
|
452
|
+
|
453
|
+
<xsl:template match="indspref">
|
454
|
+
<xsl:call-template name="description">
|
455
|
+
<xsl:with-param name="term" select="'Indirect Spatial Reference'" />
|
456
|
+
</xsl:call-template>
|
457
|
+
</xsl:template>
|
458
|
+
|
459
|
+
<xsl:template match="direct">
|
460
|
+
<xsl:call-template name="description">
|
461
|
+
<xsl:with-param name="term" select="'Direct Spatial Reference Method'" />
|
462
|
+
</xsl:call-template>
|
463
|
+
</xsl:template>
|
464
|
+
|
465
|
+
<xsl:template match="sdtstype">
|
466
|
+
<xsl:call-template name="description">
|
467
|
+
<xsl:with-param name="term" select="'SDTS Point and Vector Object Type'" />
|
468
|
+
</xsl:call-template>
|
469
|
+
</xsl:template>
|
470
|
+
|
471
|
+
<xsl:template match="ptvctcnt">
|
472
|
+
<xsl:call-template name="description">
|
473
|
+
<xsl:with-param name="term" select="'Point and Vector Object Count'" />
|
474
|
+
</xsl:call-template>
|
475
|
+
</xsl:template>
|
476
|
+
|
477
|
+
<xsl:template match="vpflevel">
|
478
|
+
<xsl:call-template name="description">
|
479
|
+
<xsl:with-param name="term" select="'VPF Topology Level'" />
|
480
|
+
</xsl:call-template>
|
481
|
+
</xsl:template>
|
482
|
+
|
483
|
+
<xsl:template match="vpftype">
|
484
|
+
<xsl:call-template name="description">
|
485
|
+
<xsl:with-param name="term" select="'VPF Point and Vector Object Type'" />
|
486
|
+
</xsl:call-template>
|
487
|
+
</xsl:template>
|
488
|
+
|
489
|
+
<xsl:template match="rasttype">
|
490
|
+
<xsl:call-template name="description">
|
491
|
+
<xsl:with-param name="term" select="'Raster Object Type'" />
|
492
|
+
</xsl:call-template>
|
493
|
+
</xsl:template>
|
494
|
+
|
495
|
+
<xsl:template match="rowcount">
|
496
|
+
<xsl:call-template name="description">
|
497
|
+
<xsl:with-param name="term" select="'Row Count'" />
|
498
|
+
</xsl:call-template>
|
499
|
+
</xsl:template>
|
500
|
+
|
501
|
+
<xsl:template match="colcount">
|
502
|
+
<xsl:call-template name="description">
|
503
|
+
<xsl:with-param name="term" select="'Column Count'" />
|
504
|
+
</xsl:call-template>
|
505
|
+
</xsl:template>
|
506
|
+
|
507
|
+
<xsl:template match="vrtcount">
|
508
|
+
<xsl:call-template name="description">
|
509
|
+
<xsl:with-param name="term" select="'Vertical Count'" />
|
510
|
+
</xsl:call-template>
|
511
|
+
</xsl:template>
|
512
|
+
<!-- End Spatial Data Organization Information -->
|
513
|
+
|
514
|
+
|
515
|
+
<!-- Spatial Reference Information -->
|
516
|
+
<xsl:template match="metadata/spref">
|
517
|
+
<xsl:element name="{$heading-1}" use-attribute-sets="heading-1-attr">
|
518
|
+
<xsl:text>Spatial Reference Information</xsl:text>
|
519
|
+
</xsl:element>
|
520
|
+
<xsl:element name="{$section-1}" use-attribute-sets="section-1-attr">
|
521
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
522
|
+
<xsl:apply-templates />
|
523
|
+
</xsl:element>
|
524
|
+
</xsl:element>
|
525
|
+
</xsl:template>
|
526
|
+
|
527
|
+
<xsl:template match="horizsys">
|
528
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="hdgn-2-attr">
|
529
|
+
<xsl:text>Horizontal Coordinate System Definition</xsl:text>
|
530
|
+
</xsl:element>
|
531
|
+
<xsl:apply-templates />
|
532
|
+
</xsl:template>
|
533
|
+
|
534
|
+
<xsl:template match="geograph">
|
535
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
536
|
+
<xsl:apply-templates />
|
537
|
+
</xsl:element>
|
538
|
+
</xsl:template>
|
539
|
+
|
540
|
+
<xsl:template match="geodetic">
|
541
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
542
|
+
<xsl:apply-templates />
|
543
|
+
</xsl:element>
|
544
|
+
</xsl:template>
|
545
|
+
|
546
|
+
<xsl:template match="latres">
|
547
|
+
<xsl:call-template name="description">
|
548
|
+
<xsl:with-param name="term" select="'Latitude Resolution'" />
|
549
|
+
</xsl:call-template>
|
550
|
+
</xsl:template>
|
551
|
+
|
552
|
+
<xsl:template match="longres">
|
553
|
+
<xsl:call-template name="description">
|
554
|
+
<xsl:with-param name="term" select="'Longitude Resolution'" />
|
555
|
+
</xsl:call-template>
|
556
|
+
</xsl:template>
|
557
|
+
|
558
|
+
<xsl:template match="geogunit">
|
559
|
+
<xsl:call-template name="description">
|
560
|
+
<xsl:with-param name="term" select="'Geographic Coordinate Units'" />
|
561
|
+
</xsl:call-template>
|
562
|
+
</xsl:template>
|
563
|
+
|
564
|
+
<xsl:template match="horizdn">
|
565
|
+
<xsl:call-template name="description">
|
566
|
+
<xsl:with-param name="term" select="'Horizontal Datum Name'" />
|
567
|
+
</xsl:call-template>
|
568
|
+
</xsl:template>
|
569
|
+
|
570
|
+
<xsl:template match="ellips">
|
571
|
+
<xsl:call-template name="description">
|
572
|
+
<xsl:with-param name="term" select="'Ellipsoid Name'" />
|
573
|
+
</xsl:call-template>
|
574
|
+
</xsl:template>
|
575
|
+
|
576
|
+
<xsl:template match="semiaxis">
|
577
|
+
<xsl:call-template name="description">
|
578
|
+
<xsl:with-param name="term" select="'Semi-major Axis'" />
|
579
|
+
</xsl:call-template>
|
580
|
+
</xsl:template>
|
581
|
+
|
582
|
+
<xsl:template match="denflat">
|
583
|
+
<xsl:call-template name="description">
|
584
|
+
<xsl:with-param name="term" select="'Denominator of Flattening Ratio'" />
|
585
|
+
</xsl:call-template>
|
586
|
+
</xsl:template>
|
587
|
+
<!-- End Spatial Reference Information -->
|
588
|
+
|
589
|
+
|
590
|
+
<!-- Entity and Attribute Information -->
|
591
|
+
<xsl:template match="metadata/eainfo">
|
592
|
+
<xsl:element name="{$heading-1}" use-attribute-sets="heading-1-attr">
|
593
|
+
<xsl:text>Entity and Attribute Information</xsl:text>
|
594
|
+
</xsl:element>
|
595
|
+
<xsl:element name="{$section-1}" use-attribute-sets="section-1">
|
596
|
+
<xsl:apply-templates />
|
597
|
+
</xsl:element>
|
598
|
+
</xsl:template>
|
599
|
+
|
600
|
+
<xsl:template match="detailed">
|
601
|
+
<xsl:apply-templates />
|
602
|
+
</xsl:template>
|
603
|
+
|
604
|
+
<xsl:template match="overview">
|
605
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
606
|
+
<xsl:apply-templates />
|
607
|
+
</xsl:element>
|
608
|
+
</xsl:template>
|
609
|
+
|
610
|
+
<xsl:template match="enttyp">
|
611
|
+
<xsl:element name="{$heading-2}" use-attribute-sets="heading-2-attr">
|
612
|
+
<xsl:value-of select="enttypl" />
|
613
|
+
</xsl:element>
|
614
|
+
<xsl:apply-templates />
|
615
|
+
</xsl:template>
|
616
|
+
|
617
|
+
<xsl:template match="attr">
|
618
|
+
<xsl:element name="{$section-2}" use-attribute-sets="section-2-attr">
|
619
|
+
<xsl:element name="{$heading-3}" use-attribute-sets="heading-3-attr">
|
620
|
+
<xsl:value-of select="attrlabl" />
|
621
|
+
</xsl:element>
|
622
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
623
|
+
<xsl:apply-templates />
|
624
|
+
</xsl:element>
|
625
|
+
</xsl:element>
|
626
|
+
</xsl:template>
|
627
|
+
|
628
|
+
<xsl:template match="attrdef">
|
629
|
+
<xsl:call-template name="description">
|
630
|
+
<xsl:with-param name="term" select="'Attribute Definition'" />
|
631
|
+
</xsl:call-template>
|
632
|
+
</xsl:template>
|
633
|
+
|
634
|
+
<xsl:template match="attrdefs">
|
635
|
+
<xsl:call-template name="description">
|
636
|
+
<xsl:with-param name="term" select="'Attribute Definition Source'" />
|
637
|
+
</xsl:call-template>
|
638
|
+
</xsl:template>
|
639
|
+
|
640
|
+
<xsl:template match="edom">
|
641
|
+
<xsl:apply-templates />
|
642
|
+
</xsl:template>
|
643
|
+
|
644
|
+
<xsl:template match="edomv">
|
645
|
+
<xsl:call-template name="description">
|
646
|
+
<xsl:with-param name="term" select="'Enumerated Domain Value'" />
|
647
|
+
</xsl:call-template>
|
648
|
+
</xsl:template>
|
649
|
+
|
650
|
+
<xsl:template match="edomvd">
|
651
|
+
<xsl:call-template name="description">
|
652
|
+
<xsl:with-param name="term" select="'Enumerated Domain Value Definition'" />
|
653
|
+
</xsl:call-template>
|
654
|
+
</xsl:template>
|
655
|
+
|
656
|
+
<xsl:template match="edomvds">
|
657
|
+
<xsl:call-template name="description">
|
658
|
+
<xsl:with-param name="term" select="'Enumerated Domain Value Definition Source'" />
|
659
|
+
</xsl:call-template>
|
660
|
+
</xsl:template>
|
661
|
+
|
662
|
+
<xsl:template match="eaover">
|
663
|
+
<xsl:call-template name="description">
|
664
|
+
<xsl:with-param name="term" select="'Entity and Attribute Overview'" />
|
665
|
+
</xsl:call-template>
|
666
|
+
</xsl:template>
|
667
|
+
|
668
|
+
<xsl:template match="eadetcit">
|
669
|
+
<xsl:call-template name="description">
|
670
|
+
<xsl:with-param name="term" select="'Entity and Attribute Detail Citation'" />
|
671
|
+
</xsl:call-template>
|
672
|
+
</xsl:template>
|
673
|
+
<!-- End Entity and Attribute Information -->
|
674
|
+
|
675
|
+
|
676
|
+
<!-- Distribution Information -->
|
677
|
+
<xsl:template match="metadata/distinfo">
|
678
|
+
<xsl:element name="{$heading-1}" use-attribute-sets="heading-1-attr">
|
679
|
+
<xsl:text>Distribution Information</xsl:text>
|
680
|
+
</xsl:element>
|
681
|
+
<xsl:element name="{$section-1}" use-attribute-sets="section-1-attr">
|
682
|
+
<xsl:apply-templates />
|
683
|
+
</xsl:element>
|
684
|
+
</xsl:template>
|
685
|
+
|
686
|
+
<xsl:template match="distrib">
|
687
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
688
|
+
<xsl:apply-templates select="cntinfo" />
|
689
|
+
</xsl:element>
|
690
|
+
</xsl:template>
|
691
|
+
<!-- End Distribution Information -->
|
692
|
+
|
693
|
+
|
694
|
+
<!-- Metdata Reference Information -->
|
695
|
+
<xsl:template match="metadata/metainfo">
|
696
|
+
<xsl:element name="{$heading-1}" use-attribute-sets="heading-1-attr">
|
697
|
+
<xsl:text>Metadata Reference Information</xsl:text>
|
698
|
+
</xsl:element>
|
699
|
+
<xsl:element name="{$section-1}" use-attribute-sets="section-1">
|
700
|
+
<xsl:element name="{$list}" use-attribute-sets="list-attr">
|
701
|
+
<xsl:apply-templates />
|
702
|
+
</xsl:element>
|
703
|
+
</xsl:element>
|
704
|
+
</xsl:template>
|
705
|
+
|
706
|
+
<xsl:template match="metd">
|
707
|
+
<xsl:call-template name="description">
|
708
|
+
<xsl:with-param name="term" select="'Metadata Date'" />
|
709
|
+
</xsl:call-template>
|
710
|
+
</xsl:template>
|
711
|
+
|
712
|
+
<xsl:template match="metrd">
|
713
|
+
<xsl:call-template name="description">
|
714
|
+
<xsl:with-param name="term" select="'Metadata Review Date'" />
|
715
|
+
</xsl:call-template>
|
716
|
+
</xsl:template>
|
717
|
+
|
718
|
+
<xsl:template match="metfrd">
|
719
|
+
<xsl:call-template name="description">
|
720
|
+
<xsl:with-param name="term" select="'Metadata Future Review Date'" />
|
721
|
+
</xsl:call-template>
|
722
|
+
</xsl:template>
|
723
|
+
|
724
|
+
<xsl:template match="metc">
|
725
|
+
<xsl:apply-templates select="cntinfo" />
|
726
|
+
</xsl:template>
|
727
|
+
|
728
|
+
<xsl:template match="metstdn">
|
729
|
+
<xsl:call-template name="description">
|
730
|
+
<xsl:with-param name="term" select="'Metadata Standard Name'" />
|
731
|
+
</xsl:call-template>
|
732
|
+
</xsl:template>
|
733
|
+
|
734
|
+
<xsl:template match="metstdv">
|
735
|
+
<xsl:call-template name="description">
|
736
|
+
<xsl:with-param name="term" select="'Metadata Standard Version'" />
|
737
|
+
</xsl:call-template>
|
738
|
+
</xsl:template>
|
739
|
+
|
740
|
+
<xsl:template match="mettc">
|
741
|
+
<xsl:call-template name="description">
|
742
|
+
<xsl:with-param name="term" select="'Metadata Time Convention'" />
|
743
|
+
</xsl:call-template>
|
744
|
+
</xsl:template>
|
745
|
+
|
746
|
+
<xsl:template match="metac">
|
747
|
+
<xsl:call-template name="description">
|
748
|
+
<xsl:with-param name="term" select="'Metadata Access Constraints'" />
|
749
|
+
</xsl:call-template>
|
750
|
+
</xsl:template>
|
751
|
+
|
752
|
+
<xsl:template match="metuc">
|
753
|
+
<xsl:call-template name="description">
|
754
|
+
<xsl:with-param name="term" select="'Metadata Use Constraints'" />
|
755
|
+
</xsl:call-template>
|
756
|
+
</xsl:template>
|
757
|
+
|
758
|
+
<xsl:template match="metscs">
|
759
|
+
<xsl:call-template name="description">
|
760
|
+
<xsl:with-param name="term" select="'Metadata Security Classification System'" />
|
761
|
+
</xsl:call-template>
|
762
|
+
</xsl:template>
|
763
|
+
|
764
|
+
<xsl:template match="metsc">
|
765
|
+
<xsl:call-template name="description">
|
766
|
+
<xsl:with-param name="term" select="'Metadata Security Classification'" />
|
767
|
+
</xsl:call-template>
|
768
|
+
</xsl:template>
|
769
|
+
|
770
|
+
<xsl:template match="metshd">
|
771
|
+
<xsl:call-template name="description">
|
772
|
+
<xsl:with-param name="term" select="'Metadata Security Handling Description'" />
|
773
|
+
</xsl:call-template>
|
774
|
+
</xsl:template>
|
775
|
+
|
776
|
+
<xsl:template match="metprof">
|
777
|
+
<xsl:call-template name="description">
|
778
|
+
<xsl:with-param name="term" select="'Profile Name'" />
|
779
|
+
</xsl:call-template>
|
780
|
+
</xsl:template>
|
781
|
+
<!-- End Metadata Reference Information -->
|
782
|
+
|
783
|
+
|
784
|
+
<!-- Time Period Information used by multiple sections -->
|
785
|
+
<xsl:template match="timeinfo">
|
786
|
+
<xsl:apply-templates />
|
787
|
+
</xsl:template>
|
788
|
+
|
789
|
+
<xsl:template match="sngdate/caldate">
|
790
|
+
<xsl:call-template name="description">
|
791
|
+
<xsl:with-param name="term" select="'Calendar Date'" />
|
792
|
+
</xsl:call-template>
|
793
|
+
</xsl:template>
|
794
|
+
|
795
|
+
<xsl:template match="sngdate/time">
|
796
|
+
<xsl:call-template name="description">
|
797
|
+
<xsl:with-param name="term" select="'Time of Day'" />
|
798
|
+
</xsl:call-template>
|
799
|
+
</xsl:template>
|
800
|
+
<!-- End Time Period Information -->
|
801
|
+
|
802
|
+
|
803
|
+
<!-- Citation Information used by multiple sections -->
|
804
|
+
<xsl:template match="citeinfo">
|
805
|
+
<xsl:apply-templates />
|
806
|
+
</xsl:template>
|
807
|
+
|
808
|
+
<xsl:template match="origin">
|
809
|
+
<xsl:call-template name="description">
|
810
|
+
<xsl:with-param name="term" select="'Originator'" />
|
811
|
+
</xsl:call-template>
|
812
|
+
</xsl:template>
|
813
|
+
|
814
|
+
<xsl:template match="pubdate">
|
815
|
+
<xsl:call-template name="description">
|
816
|
+
<xsl:with-param name="term" select="'Publication Date'" />
|
817
|
+
</xsl:call-template>
|
818
|
+
</xsl:template>
|
819
|
+
|
820
|
+
<xsl:template match="pubtime">
|
821
|
+
<xsl:call-template name="description">
|
822
|
+
<xsl:with-param name="term" select="'Publication Time'" />
|
823
|
+
</xsl:call-template>
|
824
|
+
</xsl:template>
|
825
|
+
|
826
|
+
<xsl:template match="title">
|
827
|
+
<xsl:call-template name="description">
|
828
|
+
<xsl:with-param name="term" select="'Title'" />
|
829
|
+
</xsl:call-template>
|
830
|
+
</xsl:template>
|
831
|
+
|
832
|
+
<xsl:template match="edition">
|
833
|
+
<xsl:call-template name="description">
|
834
|
+
<xsl:with-param name="term" select="'Edition'" />
|
835
|
+
</xsl:call-template>
|
836
|
+
</xsl:template>
|
837
|
+
|
838
|
+
<xsl:template match="geoform">
|
839
|
+
<xsl:call-template name="description">
|
840
|
+
<xsl:with-param name="term" select="'Geospatial Data Presentation Form'" />
|
841
|
+
</xsl:call-template>
|
842
|
+
</xsl:template>
|
843
|
+
|
844
|
+
<xsl:template match="serinfo/sername">
|
845
|
+
<xsl:call-template name="description">
|
846
|
+
<xsl:with-param name="term" select="'Series Name'" />
|
847
|
+
</xsl:call-template>
|
848
|
+
</xsl:template>
|
849
|
+
|
850
|
+
<xsl:template match="serinfo/issue">
|
851
|
+
<xsl:call-template name="description">
|
852
|
+
<xsl:with-param name="term" select="'Issue Identification'" />
|
853
|
+
</xsl:call-template>
|
854
|
+
</xsl:template>
|
855
|
+
|
856
|
+
<xsl:template match="pubinfo/pubplace">
|
857
|
+
<xsl:call-template name="description">
|
858
|
+
<xsl:with-param name="term" select="'Publication Place'" />
|
859
|
+
</xsl:call-template>
|
860
|
+
</xsl:template>
|
861
|
+
|
862
|
+
<xsl:template match="pubinfo/publish">
|
863
|
+
<xsl:call-template name="description">
|
864
|
+
<xsl:with-param name="term" select="'Publisher'" />
|
865
|
+
</xsl:call-template>
|
866
|
+
</xsl:template>
|
867
|
+
|
868
|
+
<xsl:template match="othercit">
|
869
|
+
<xsl:call-template name="description">
|
870
|
+
<xsl:with-param name="term" select="'Other Citation Details'" />
|
871
|
+
</xsl:call-template>
|
872
|
+
</xsl:template>
|
873
|
+
|
874
|
+
<xsl:template match="onlink">
|
875
|
+
<xsl:call-template name="description-link">
|
876
|
+
<xsl:with-param name="term" select="'Online Linkage'" />
|
877
|
+
</xsl:call-template>
|
878
|
+
</xsl:template>
|
879
|
+
<!-- End Citation Information -->
|
880
|
+
|
881
|
+
|
882
|
+
<!-- Contact Information used by multiple sections -->
|
883
|
+
<xsl:template match="cntinfo">
|
884
|
+
<xsl:apply-templates />
|
885
|
+
</xsl:template>
|
886
|
+
|
887
|
+
<xsl:template match="cntperp/cntper|cntorgp/cntper">
|
888
|
+
<xsl:call-template name="description">
|
889
|
+
<xsl:with-param name="term" select="'Person'" />
|
890
|
+
</xsl:call-template>
|
891
|
+
</xsl:template>
|
892
|
+
|
893
|
+
<xsl:template match="cntperp/cntorg|cntorgp/cntorg">
|
894
|
+
<xsl:call-template name="description">
|
895
|
+
<xsl:with-param name="term" select="'Organization'" />
|
896
|
+
</xsl:call-template>
|
897
|
+
</xsl:template>
|
898
|
+
|
899
|
+
<xsl:template match="cntpos">
|
900
|
+
<xsl:call-template name="description">
|
901
|
+
<xsl:with-param name="term" select="'Position'" />
|
902
|
+
</xsl:call-template>
|
903
|
+
</xsl:template>
|
904
|
+
|
905
|
+
<xsl:template match="cntaddr">
|
906
|
+
<xsl:element name="{$key}" use-attribute-sets="key-attr">
|
907
|
+
<xsl:attribute name="title">Address Type</xsl:attribute>
|
908
|
+
<xsl:text>Address Type</xsl:text>
|
909
|
+
</xsl:element>
|
910
|
+
<xsl:element name="{$value}" use-attribute-sets="value-attr">
|
911
|
+
<xsl:value-of select="addrtype" />
|
912
|
+
</xsl:element>
|
913
|
+
<xsl:element name="{$key}" use-attribute-sets="key-attr">
|
914
|
+
<xsl:attribute name="title">Address</xsl:attribute>
|
915
|
+
</xsl:element>
|
916
|
+
<xsl:element name="{$value}" use-attribute-sets="value-attr">
|
917
|
+
<address>
|
918
|
+
<xsl:value-of select="address" /><br />
|
919
|
+
<xsl:value-of select="city" /><xsl:text>, </xsl:text>
|
920
|
+
<xsl:value-of select="state" /><xsl:text> </xsl:text>
|
921
|
+
<xsl:value-of select="postal" /><br />
|
922
|
+
<xsl:value-of select="country" />
|
923
|
+
</address>
|
924
|
+
</xsl:element>
|
925
|
+
</xsl:template>
|
926
|
+
|
927
|
+
<xsl:template match="cntvoice">
|
928
|
+
<xsl:call-template name="description">
|
929
|
+
<xsl:with-param name="term" select="'Phone'" />
|
930
|
+
</xsl:call-template>
|
931
|
+
</xsl:template>
|
932
|
+
|
933
|
+
<xsl:template match="cnttdd">
|
934
|
+
<xsl:call-template name="description">
|
935
|
+
<xsl:with-param name="term" select="'TDD/TTY'" />
|
936
|
+
</xsl:call-template>
|
937
|
+
</xsl:template>
|
938
|
+
|
939
|
+
<xsl:template match="cntfax">
|
940
|
+
<xsl:call-template name="description">
|
941
|
+
<xsl:with-param name="term" select="'Fax'" />
|
942
|
+
</xsl:call-template>
|
943
|
+
</xsl:template>
|
944
|
+
|
945
|
+
<xsl:template match="cntemail">
|
946
|
+
<xsl:call-template name="description-email">
|
947
|
+
<xsl:with-param name="term" select="'Email'" />
|
948
|
+
</xsl:call-template>
|
949
|
+
</xsl:template>
|
950
|
+
|
951
|
+
<xsl:template match="hours">
|
952
|
+
<xsl:call-template name="description">
|
953
|
+
<xsl:with-param name="term" select="'Hours of Service'" />
|
954
|
+
</xsl:call-template>
|
955
|
+
</xsl:template>
|
956
|
+
|
957
|
+
<xsl:template match="cntinst">
|
958
|
+
<xsl:call-template name="description">
|
959
|
+
<xsl:with-param name="term" select="'Contact Instructions'" />
|
960
|
+
</xsl:call-template>
|
961
|
+
</xsl:template>
|
962
|
+
<!-- End Citation Information -->
|
963
|
+
|
964
|
+
|
965
|
+
<!-- Named templates used throughout stylesheet to generate k/v pairs -->
|
966
|
+
<xsl:template name="description">
|
967
|
+
<xsl:param name="term" />
|
968
|
+
<xsl:if test="normalize-space(.) != ''">
|
969
|
+
<xsl:element name="{$key}" use-attribute-sets="key-attr">
|
970
|
+
<xsl:attribute name="title">
|
971
|
+
<xsl:value-of select="$term" />
|
972
|
+
</xsl:attribute>
|
973
|
+
<xsl:value-of select="$term" />
|
974
|
+
</xsl:element>
|
975
|
+
<xsl:element name="{$value}" use-attribute-sets="value-attr">
|
976
|
+
<xsl:value-of select="." />
|
977
|
+
</xsl:element>
|
978
|
+
</xsl:if>
|
979
|
+
</xsl:template>
|
980
|
+
|
981
|
+
<xsl:template name="description-link">
|
982
|
+
<xsl:param name="term" />
|
983
|
+
<xsl:if test="normalize-space(.) != ''">
|
984
|
+
<xsl:choose>
|
985
|
+
<xsl:when test="starts-with(normalize-space(.), 'http')">
|
986
|
+
<xsl:element name="{$key}" use-attribute-sets="key-attr">
|
987
|
+
<xsl:attribute name="title">
|
988
|
+
<xsl:value-of select="$term" />
|
989
|
+
</xsl:attribute>
|
990
|
+
<xsl:value-of select="$term" />
|
991
|
+
</xsl:element>
|
992
|
+
<xsl:element name="{$value}" use-attribute-sets="value-attr">
|
993
|
+
<xsl:element name="a">
|
994
|
+
<xsl:attribute name="href">
|
995
|
+
<xsl:value-of select="." />
|
996
|
+
</xsl:attribute>
|
997
|
+
<xsl:value-of select="." />
|
998
|
+
</xsl:element>
|
999
|
+
</xsl:element>
|
1000
|
+
</xsl:when>
|
1001
|
+
<xsl:otherwise>
|
1002
|
+
<xsl:call-template name="description">
|
1003
|
+
<xsl:with-param name="term" select="$term" />
|
1004
|
+
</xsl:call-template>
|
1005
|
+
</xsl:otherwise>
|
1006
|
+
</xsl:choose>
|
1007
|
+
</xsl:if>
|
1008
|
+
</xsl:template>
|
1009
|
+
|
1010
|
+
<xsl:template name="description-email">
|
1011
|
+
<xsl:param name="term" />
|
1012
|
+
<xsl:if test="normalize-space(.) != ''">
|
1013
|
+
<xsl:element name="{$key}" use-attribute-sets="key-attr">
|
1014
|
+
<xsl:attribute name="title">
|
1015
|
+
<xsl:value-of select="$term" />
|
1016
|
+
</xsl:attribute>
|
1017
|
+
<xsl:value-of select="$term" />
|
1018
|
+
</xsl:element>
|
1019
|
+
<xsl:element name="{$value}" use-attribute-sets="value-attr">
|
1020
|
+
<xsl:element name="a">
|
1021
|
+
<xsl:attribute name="href">
|
1022
|
+
<xsl:value-of select="concat('mailto:', .)" />
|
1023
|
+
</xsl:attribute>
|
1024
|
+
<xsl:value-of select="." />
|
1025
|
+
</xsl:element>
|
1026
|
+
</xsl:element>
|
1027
|
+
</xsl:if>
|
1028
|
+
</xsl:template>
|
1029
|
+
|
1030
|
+
|
1031
|
+
<!-- Suppress unknown elements -->
|
1032
|
+
<xsl:template match="text()"></xsl:template>
|
1033
|
+
|
1034
|
+
</xsl:stylesheet>
|