annotate artifacts/contrib/inline-dc-attribute.xsl @ 6140:60b94dec104b

Add handling of bound artifacts. When an artifact is bound to an out its facets will only be shown in that Out. They will be removed in the blackboard pass and marked as incompatible by the AttributeWriter
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 31 May 2013 15:29:30 +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) &gt; 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>

http://dive4elements.wald.intevation.org