Mercurial > hg > mpdl-group
diff software/mpdl-services/mpiwg-mpdl-xml/build/classes/de/mpg/mpiwg/berlin/mpdl/xml/transform/getFragment.xsl @ 23:e845310098ba
diverse Korrekturen
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 27 Nov 2012 12:35:19 +0100 |
parents | dc5e9fcb3fdc |
children |
line wrap: on
line diff
--- a/software/mpdl-services/mpiwg-mpdl-xml/build/classes/de/mpg/mpiwg/berlin/mpdl/xml/transform/getFragment.xsl Wed Dec 14 13:57:09 2011 +0100 +++ b/software/mpdl-services/mpiwg-mpdl-xml/build/classes/de/mpg/mpiwg/berlin/mpdl/xml/transform/getFragment.xsl Tue Nov 27 12:35:19 2012 +0100 @@ -12,7 +12,6 @@ <xsl:output method="xml" encoding="utf-8"/> <!-- ms1Name and ms2Name have to be given without namespace: e.g. "pb" --> -<xsl:param name="xmlFileName"></xsl:param> <xsl:param name="ms1Name"></xsl:param> <xsl:param name="ms1Position"></xsl:param> <xsl:param name="ms2Name"></xsl:param> @@ -25,15 +24,29 @@ <xsl:variable name="ms1Ancestors" select="$ms1/ancestor::*"/> <xsl:variable name="ms2Ancestors" select="$ms2/ancestor::*"/> +<!-- all elements between the milestone elements and also the ancestor elements (for filling the node path to the root) --> <xsl:template match="element()[local-name() != $ms1Name and local-name() != $ms2Name]"> <xsl:choose> <xsl:when test="(. >> $ms1 or fn:contains($ms1Ancestors, .)) and ($ms2 >> . or fn:contains($ms2Ancestors, .))"> - <xsl:element name="{local-name(.)}"><xsl:apply-templates/></xsl:element> + <xsl:element name="{local-name(.)}"><xsl:copy-of select="@*"></xsl:copy-of><xsl:apply-templates/></xsl:element> </xsl:when> <xsl:otherwise><xsl:apply-templates/></xsl:otherwise> </xsl:choose> </xsl:template> +<!-- the two milestone elements --> +<xsl:template match="element()[local-name() = $ms1Name or local-name() = $ms2Name]"> + <xsl:choose> + <xsl:when test=". is $ms1"> + <xsl:element name="{local-name(.)}"><xsl:copy-of select="@*"></xsl:copy-of></xsl:element> + </xsl:when> + <xsl:when test=". is $ms2"> + <xsl:element name="{local-name(.)}"><xsl:copy-of select="@*"></xsl:copy-of></xsl:element> + </xsl:when> + <xsl:otherwise></xsl:otherwise> + </xsl:choose> +</xsl:template> + <xsl:template match="attribute()|text()|comment()|processing-instruction()"> <xsl:choose> <xsl:when test=". >> $ms1 and $ms2 >> ."> @@ -43,16 +56,4 @@ </xsl:choose> </xsl:template> -<xsl:template match="element()[local-name() = $ms1Name or local-name() = $ms2Name]"> - <xsl:choose> - <xsl:when test=". is $ms1"> - <xsl:element name="{local-name(.)}"><xsl:copy-of select="@*"></xsl:copy-of></xsl:element> - </xsl:when> - <xsl:when test=". is $ms2"> - <xsl:element name="{local-name(.)}"><xsl:copy-of select="@*"></xsl:copy-of></xsl:element> - </xsl:when> - <xsl:otherwise></xsl:otherwise> - </xsl:choose> -</xsl:template> - </xsl:stylesheet>