Mercurial > dive4elements > river
annotate artifacts/contrib/inline-dc-attribute.xsl @ 8748:36d7bda0b47a
(issue1788) Fix area split if there are no NaN's in the data
The split algorithmn splits in a way that it always creates
at least two datasets. One before the NaN, one after the NaN.
This is broken in case the dataset does not contain any NaN
value as it resulted in two identical datasets. This changed
the display and resulted in a broken area calculation.
I've also added some commented out debug code that was helpful
tracking down this problem.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 08 Jun 2015 16:53:54 +0200 |
parents | 5aa05a7a34b7 |
children |
rev | line source |
---|---|
5499
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
1 <?xml version="1.0" encoding="UTF-8"?> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
2 <!-- |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
3 inline-dc-attribute.xsl |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
4 ======================= |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
5 Transforms datacage templates from: |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
6 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
7 <foo> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
8 <dc:element name="bar" value="${baz}"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
9 <dc:element name="bla" value="${blub}-${urgs}"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
10 </foo> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
11 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
12 to: |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
13 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
14 <foo bar="{$bar} bla="{$blub}-{$urgs}/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
15 --> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
16 <xsl:stylesheet version="1.0" |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
17 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
18 xmlns:dc="http://www.intevation.org/2011/Datacage"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
19 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
20 <xsl:output method="xml" encoding="UTF-8" indent="yes"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
21 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
22 <xsl:template name="string-replace-all"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
23 <xsl:param name="text"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
24 <xsl:param name="replace"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
25 <xsl:param name="by"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
26 <xsl:choose> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
27 <xsl:when test="contains($text, $replace)"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
28 <xsl:value-of select="substring-before($text,$replace)"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
29 <xsl:value-of select="$by"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
30 <xsl:call-template name="string-replace-all"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
31 <xsl:with-param name="text" select="substring-after($text,$replace)"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
32 <xsl:with-param name="replace" select="$replace"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
33 <xsl:with-param name="by" select="$by"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
34 </xsl:call-template> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
35 </xsl:when> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
36 <xsl:otherwise> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
37 <xsl:value-of select="$text"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
38 </xsl:otherwise> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
39 </xsl:choose> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
40 </xsl:template> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
41 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
42 <xsl:template |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
43 match="node()[count(dc:attribute) > 0 and namespace-uri() != 'http://www.intevation.org/2011/Datacage']"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
44 <xsl:copy> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
45 <xsl:for-each select="./dc:attribute"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
46 <xsl:attribute name="{@name}"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
47 <xsl:call-template name="string-replace-all"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
48 <xsl:with-param name="text" select="@value"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
49 <xsl:with-param name="replace">${</xsl:with-param> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
50 <xsl:with-param name="by">{$</xsl:with-param> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
51 </xsl:call-template> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
52 </xsl:attribute> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
53 </xsl:for-each> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
54 <xsl:apply-templates select="@*|node()" mode="ignore-text"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
55 </xsl:copy> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
56 </xsl:template> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
57 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
58 <xsl:template match="dc:attribute|text()" mode="ignore-text"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
59 <xsl:template match="@*|node()" mode="ignore-text"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
60 <xsl:copy> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
61 <xsl:apply-templates select="@*|node()"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
62 </xsl:copy> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
63 </xsl:template> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
64 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
65 <xsl:template match="@*|node()"> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
66 <xsl:copy> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
67 <xsl:apply-templates select="@*|node()"/> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
68 </xsl:copy> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
69 </xsl:template> |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
70 |
43bf4976dd24
Add XSL transformation that replaces <dc:attribute> with their shortened inline notation.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
71 </xsl:stylesheet> |