Mercurial > hg > mpdl-group
annotate software/eXist/webapp/mpdl/presentation/insertExternalElements.xsl @ 13:469d927b9ca7
diverse Fehlerbehebungen
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 19 Apr 2011 16:51:59 +0200 |
parents | 1ec29fdd0db8 |
children | e99964f390e4 |
rev | line source |
---|---|
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1 <?xml version="1.0"?> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2 <xsl:stylesheet version="2.0" |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 xmlns:xs="http://www.w3.org/2001/XMLSchema" |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 xmlns:saxon="http://saxon.sf.net/" |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 xmlns:text="http://www.mpiwg-berlin.mpg.de/ns/mpdl/text" |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 xmlns:mpdlxmlutil="java:de.mpg.mpiwg.berlin.mpdl.util.XmlUtil" |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 > |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 <xsl:output method="xml" encoding="utf-8"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 <xsl:output name="myXml" indent="yes" omit-xml-declaration="yes"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12 |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 <xsl:variable name="externalElements" select="/result/externalElements"/> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
14 <xsl:variable name="xpointer" select="/result/xpointer"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
15 <xsl:variable name="xpointerPath"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
16 <xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
17 <xsl:when test="contains($xpointer, '/range(')"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
18 <xsl:value-of select="substring-before($xpointer, '/range(')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
19 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
20 <xsl:when test="contains($xpointer, '/point(')"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
21 <xsl:value-of select="substring-before($xpointer, '/point(')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
22 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
23 <xsl:otherwise><xsl:value-of select="$xpointer"/></xsl:otherwise> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
24 </xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
25 </xsl:variable> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
26 <xsl:variable name="xpointerRange"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
27 <xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
28 <xsl:when test="contains($xpointer, '/range(')"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
29 <xsl:value-of select="substring-before(substring-after($xpointer, '/range('), ')')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
30 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
31 <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
32 </xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
33 </xsl:variable> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
34 <xsl:variable name="xpointerPoint"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
35 <xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
36 <xsl:when test="contains($xpointer, '/point(')"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
37 <xsl:value-of select="substring-before(substring-after($xpointer, '/point('), ')')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
38 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
39 <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
40 </xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
41 </xsl:variable> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
42 <xsl:variable name="xpointerRangeFromTmp" select="substring-before($xpointerRange, ',')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
43 <xsl:variable name="xpointerRangeFrom"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
44 <xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
45 <xsl:when test="$xpointerRangeFromTmp = ''"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
46 <xsl:value-of select="xs:integer(0)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
47 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
48 <xsl:when test="contains($xpointerRangeFromTmp, '-')"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
49 <xsl:value-of select="xs:integer(0)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
50 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
51 <xsl:otherwise><xsl:value-of select="xs:integer($xpointerRangeFromTmp)"/></xsl:otherwise> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
52 </xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
53 </xsl:variable> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
54 <xsl:variable name="xpointerRangeToTmp" select="substring-after($xpointerRange, ',')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
55 <xsl:variable name="xpointerRangeTo"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
56 <xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
57 <xsl:when test="$xpointerRangeToTmp = ''"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
58 <xsl:value-of select="xs:integer(0)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
59 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
60 <xsl:when test="contains($xpointerRangeToTmp, '-')"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
61 <xsl:value-of select="xs:integer(0)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
62 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
63 <xsl:otherwise><xsl:value-of select="xs:integer($xpointerRangeToTmp)"/></xsl:otherwise> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
64 </xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
65 </xsl:variable> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
66 <xsl:variable name="fragment" select="/result/fragment"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
67 |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
68 <xsl:template match="result"> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
69 <xsl:apply-templates/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
70 </xsl:template> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
71 <xsl:template match="fragment"> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
72 <xsl:apply-templates/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
73 </xsl:template> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
74 <xsl:template match="externalElements"></xsl:template> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
75 <xsl:template match="xpointer"></xsl:template> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
76 |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
77 <xsl:template match="attribute()|text()|comment()|processing-instruction()"> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
78 <xsl:copy> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
79 <xsl:apply-templates select="attribute()|element()|text()|comment()|processing-instruction()"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
80 </xsl:copy> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
81 </xsl:template> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
82 |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
83 <xsl:template match="element()"> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
84 <xsl:variable name="elemXmlNodeIdTmp" select="saxon:path(.)"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
85 <xsl:variable name="elemXmlNodeId" select="concat('/', substring-after(substring-after(substring-after($elemXmlNodeIdTmp, '/'), '/'), '/'))"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
86 <xsl:variable name="extElemXmlNodeIds" select="$externalElements//@xmlNodeId"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
87 <xsl:variable name="extElemIndex" select="index-of($extElemXmlNodeIds, $elemXmlNodeId)"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
88 <xsl:variable name="extElem" select="$externalElements/*[$extElemIndex]"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
89 <xsl:variable name="extElemContent" select="$extElem/content/*[1]"/> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
90 <xsl:variable name="extElemXPointer" select="$extElem/@xpointer"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
91 <xsl:variable name="extElemXPointerPoint" select="substring-before(substring-after($extElemXPointer, '/point('), ')')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
92 <xsl:variable name="extElemXPointerPointInt"> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
93 <xsl:choose> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
94 <xsl:when test="$extElemXPointerPoint != '.0' and $extElemXPointerPoint != '.1' and $extElemXPointerPoint != ''"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
95 <xsl:value-of select="xs:integer($extElemXPointerPoint)"/> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
96 </xsl:when> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
97 <xsl:otherwise> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
98 <xsl:value-of select="xs:integer(-1)"/> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
99 </xsl:otherwise> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
100 </xsl:choose> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
101 </xsl:variable> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
102 <xsl:variable name="insertedXPointer"> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
103 <xsl:choose> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
104 <xsl:when test="$xpointerRange != ''"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
105 <xsl:variable name="elemSerialized" select="saxon:serialize(., 'myXml')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
106 <xsl:variable name="tmp" select="mpdlxmlutil:insertAtCharPos(mpdlxmlutil:new(), $elemSerialized, string($xpointerRangeFrom), '<seg rend="highlight">')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
107 <xsl:variable name="tmp2" select="mpdlxmlutil:insertAtCharPos(mpdlxmlutil:new(), $tmp, string($xpointerRangeTo), '</seg>')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
108 <xsl:sequence select="saxon:parse($tmp2)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
109 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
110 <xsl:when test="$xpointerPoint = '.0'"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
111 <xsl:variable name="elemSerialized" select="saxon:serialize(., 'myXml')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
112 <xsl:variable name="tmp" select="'<bla>'"/><xsl:value-of select="'<seg rend="highlightPoint"/>'"/><xsl:value-of select="$elemSerialized"/><xsl:value-of select="'</bla>'"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
113 <xsl:sequence select="saxon:parse($tmp)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
114 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
115 <xsl:when test="$xpointerPoint = '.1'"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
116 <xsl:variable name="elemSerialized" select="saxon:serialize(., 'myXml')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
117 <xsl:variable name="tmp" select="'<bla>'"/><xsl:value-of select="$elemSerialized"/><xsl:value-of select="'<seg rend="highlightPoint"/>'"/><xsl:value-of select="'</bla>'"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
118 <xsl:sequence select="saxon:parse($tmp)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
119 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
120 <xsl:when test="$xpointerPoint != ''"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
121 <xsl:variable name="elemSerialized" select="saxon:serialize(., 'myXml')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
122 <xsl:variable name="tmp" select="mpdlxmlutil:insertAtCharPos(mpdlxmlutil:new(), $elemSerialized, string($xpointerPoint), '<seg rend="highlightPoint"/>')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
123 <xsl:sequence select="saxon:parse($tmp)"/> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
124 </xsl:when> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
125 <xsl:otherwise> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
126 <xsl:value-of select="''"/> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
127 </xsl:otherwise> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
128 </xsl:choose> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
129 </xsl:variable> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
130 <xsl:variable name="thisElement"> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
131 <xsl:copy> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
132 <xsl:apply-templates select="attribute()"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
133 <xsl:attribute name="xmlNodeId"> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
134 <xsl:value-of select="$elemXmlNodeId"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
135 </xsl:attribute> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
136 <xsl:apply-templates select="element()|text()|comment()|processing-instruction()"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
137 </xsl:copy> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
138 </xsl:variable> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
139 <xsl:if test="$extElemXPointerPoint = '.0'"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
140 <xsl:sequence select="$extElemContent"/> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
141 </xsl:if> |
13
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
142 <xsl:if test="$extElemXPointerPointInt >= 0"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
143 <xsl:variable name="extElemContent" select="$extElem/content/*[1]"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
144 <xsl:variable name="extElemContentSerialized" select="saxon:serialize($extElemContent, 'myXml')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
145 <xsl:variable name="elemSerialized" select="saxon:serialize(., 'myXml')"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
146 <xsl:variable name="insertedElemSerialized" select="mpdlxmlutil:insertAtCharPos(mpdlxmlutil:new(), $elemSerialized, string($extElemXPointerPointInt), $extElemContentSerialized)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
147 <xsl:variable name="insertedElemDeSerializedTmp" select="saxon:parse($insertedElemSerialized)"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
148 <xsl:variable name="insertedElemDeSerialized"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
149 <xsl:element name="{name()}"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
150 <xsl:apply-templates select="attribute()"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
151 <xsl:attribute name="xmlNodeId"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
152 <xsl:value-of select="$elemXmlNodeId"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
153 </xsl:attribute> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
154 <xsl:sequence select="$insertedElemDeSerializedTmp/*[1]/node()"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
155 </xsl:element> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
156 </xsl:variable> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
157 <xsl:sequence select="$insertedElemDeSerialized"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
158 </xsl:if> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
159 <xsl:if test="$extElemXPointerPoint = '.0' or $extElemXPointerPoint = '.1' or $extElemXPointerPoint = ''"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
160 <xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
161 <xsl:when test="$xpointerPath = $elemXmlNodeId and ($xpointerRange != '' or $xpointerPoint != '')"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
162 <xsl:sequence select="$insertedXPointer"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
163 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
164 <xsl:when test="$xpointerPath = $elemXmlNodeId and ($xpointerRange = '' and $xpointerPoint = '')"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
165 <seg rend="highlight"> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
166 <xsl:sequence select="$thisElement"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
167 </seg> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
168 </xsl:when> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
169 <xsl:otherwise> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
170 <xsl:sequence select="$thisElement"/> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
171 </xsl:otherwise> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
172 </xsl:choose> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
173 </xsl:if> |
469d927b9ca7
diverse Fehlerbehebungen
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
9
diff
changeset
|
174 <xsl:if test="$extElemXPointerPoint = '.1'"> |
9
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
175 <xsl:sequence select="$extElemContent"/> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
176 </xsl:if> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
177 </xsl:template> |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
178 |
1ec29fdd0db8
neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
179 </xsl:stylesheet> |