|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xsl:transform version="2.0"
|
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
|
xmlns:ixsl="http://saxonica.com/ns/interactiveXSLT"
|
|
xmlns:dr="http://documenta.rudolphina.org/"
|
|
extension-element-prefixes="ixsl"
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
|
|
<xsl:template match="@* | node()" mode="#all">
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="@* | node()" mode="#current"/>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="/">
|
|
<xsl:result-document href="#htmlbody" method="ixsl:replace-content">
|
|
<xsl:apply-templates select="ixsl:page()/*/*/*[@id='htmlbody']/*" mode="init"/>
|
|
</xsl:result-document>
|
|
</xsl:template>
|
|
<!--
|
|
Note: mode="init" will be used until Ind_Pers_de.html and Index_de_A.html etc.
|
|
have _no_ static @onclick and div (with initial style="display: none") anymore !!!
|
|
-->
|
|
<xsl:template match="html:a/@onclick" mode="init"/>
|
|
<xsl:template match="html:li/html:div" mode="init"/>
|
|
|
|
<xsl:template match="html:div[@class='fixed']/html:a" mode="ixsl:onclick">
|
|
<xsl:variable name="current" select="id(substring(current()/@href, 2))" as="element()"/>
|
|
<xsl:call-template name="toggle-div">
|
|
<xsl:with-param name="container" select="$current/.." as="element()"/>
|
|
<xsl:with-param name="content" select="doc($current/@href)/*/*/html:div/html:ul" as="element()"/>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
<xsl:template match="html:ul[@class='index']/*/html:a" mode="ixsl:onclick">
|
|
<xsl:sequence select="ixsl:call(ixsl:event(), 'preventDefault')"/>
|
|
<xsl:call-template name="toggle-div">
|
|
<xsl:with-param name="container" select=".." as="element()"/>
|
|
<xsl:with-param name="content" select="doc(@href)/*/*/html:div/html:ul" as="element()"/>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
<xsl:template match="html:ul[@class='namelist']/*/html:a" mode="ixsl:onclick">
|
|
<xsl:sequence select="ixsl:call(ixsl:event(), 'preventDefault')"/>
|
|
<xsl:call-template name="toggle-div">
|
|
<xsl:with-param name="container" select=".." as="element()"/>
|
|
<xsl:with-param name="content" select="doc(@href)/*/html:* except html:title" as="element()+"/>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="toggle-div">
|
|
<xsl:param name="container" as="element()"/>
|
|
<xsl:param name="content" as="element()+"/>
|
|
<xsl:for-each select="$container">
|
|
<xsl:choose>
|
|
<xsl:when test="html:div">
|
|
<xsl:result-document href="?select=." method="ixsl:replace-content">
|
|
<xsl:apply-templates select="*" mode="del"/>
|
|
</xsl:result-document>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:result-document href="?select=." method="ixsl:append-content">
|
|
<html:div xmlns:html="http://www.w3.org/1999/xhtml" id="{html:a/@id}_div">
|
|
<xsl:apply-templates select="$content" mode="init"/>
|
|
</html:div>
|
|
</xsl:result-document>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
<xsl:template match="html:div" mode="del"/>
|
|
|
|
</xsl:transform>
|