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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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), '&lt;seg rend=&quot;highlight&quot;&gt;')"/>
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), '&lt;/seg&gt;')"/>
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="'&lt;bla&gt;'"/><xsl:value-of select="'&lt;seg rend=&quot;highlightPoint&quot;/&gt;'"/><xsl:value-of select="$elemSerialized"/><xsl:value-of select="'&lt;/bla&gt;'"/>
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="'&lt;bla&gt;'"/><xsl:value-of select="$elemSerialized"/><xsl:value-of select="'&lt;seg rend=&quot;highlightPoint&quot;/&gt;'"/><xsl:value-of select="'&lt;/bla&gt;'"/>
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), '&lt;seg rend=&quot;highlightPoint&quot;/&gt;')"/>
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 &gt;= 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>