| |
---|
| | |
---|
| | |
---|
| | <!-- Type 1: hyperlink has both a label and content (i.e., link text). --> |
---|
| | <template name="hyperlink-label" match="hyperlink[@label and node()]"> |
---|
| | <common formats="/latex/xelatex/">\hyperref[<xsl:value-of select="@label" />]{<xsl:apply-templates />}</common> |
---|
| | <common formats="/html/xhtml/"><a href="#{@label}"><xsl:apply-templates /></a></common> |
---|
| | <common formats="/latex/xelatex/"> |
---|
| | <xsl:text>\hyperref[</xsl:text> |
---|
| | <xsl:value-of select="@label" /> |
---|
| | <xsl:text>]{</xsl:text> |
---|
| | <xsl:apply-templates /> |
---|
| | <xsl:text>}</xsl:text> |
---|
| | </common> |
---|
| | <common formats="/html/xhtml/"> |
---|
| | <a href="#{@label}"><xsl:apply-templates /></a> |
---|
| | </common> |
---|
| | </template> |
---|
| | |
---|
| | |
---|
| | <!-- Type 2: hyperlink has both a URL and content. --> |
---|
| | <template name="hyperlink-url" match="hyperlink[@url and node()]"> |
---|
| | <common formats="/latex/xelatex/">\href{<xsl:value-of select="@url" />}{<xsl:apply-templates />}</common> |
---|
| | <common formats="/html/xhtml/"><a href="{@url}"><xsl:apply-templates /></a></common> |
---|
| | <common formats="/latex/xelatex/"> |
---|
| | <xsl:text>\href{</xsl:text> |
---|
| | <xsl:value-of select="@url" /> |
---|
| | <xsl:text>}{</xsl:text> |
---|
| | <xsl:apply-templates /> |
---|
| | <xsl:text>}</xsl:text> |
---|
| | </common> |
---|
| | <common formats="/html/xhtml/"> |
---|
| | <a href="{@url}"><xsl:apply-templates /></a> |
---|
| | </common> |
---|
| | </template> |
---|
| | |
---|
| | |
---|
| | <!-- Type 3: hyperlink has a URL but no content. --> |
---|
| | <template name="empty-hyperlink-url" match="hyperlink[@url and not(node())]"> |
---|
| | <!-- Note: not safe to use the url package here because \url{...} is fragile. --> |
---|
| | <common formats="/latex/xelatex/">\url{<xsl:value-of select="@url" />}</common> |
---|
| | <common formats="/html/xhtml/"><a href="{@url}"><code><xsl:value-of select="@url" /></code></a></common> |
---|
| | <common formats="/latex/xelatex/"> |
---|
| | <xsl:text>\url{</xsl:text> |
---|
| | <xsl:value-of select="@url" /> |
---|
| | <xsl:text>}</xsl:text> |
---|
| | </common> |
---|
| | <common formats="/html/xhtml/"> |
---|
| | <a href="{@url}"><code><xsl:value-of select="@url" /></code></a> |
---|
| | </common> |
---|
| | </template> |
---|
| | |
---|
| | |
---|
| | <!-- ERROR: hyperlink has a label but no content. --> |
---|
| |
---|
| | <common> |
---|
| | <xsl:param name="url" /> |
---|
| | <xsl:param name="label" /> |
---|
| | </common> |
---|
| | <common formats="/latex/xelatex/">\href{<xsl:value-of select="$url" />}{<xsl:apply-templates select="exsl:node-set($label)" />}</common> |
---|
| | <common formats="/html/xhtml/"><a href="{$url}"><xsl:apply-templates select="exsl:node-set($label)" /></a></common> |
---|
| | <common formats="/latex/xelatex/"> |
---|
| | <xsl:text>\href{</xsl:text> |
---|
| | <xsl:value-of select="$url" /> |
---|
| | <xsl:text>}{</xsl:text> |
---|
| | <xsl:apply-templates select="exsl:node-set($label)" /> |
---|
| | <xsl:text>}</xsl:text> |
---|
| | </common> |
---|
| | <common formats="/html/xhtml/"> |
---|
| | <a href="{$url}"><xsl:apply-templates select="exsl:node-set($label)" /></a> |
---|
| | </common> |
---|
| | </template> |
---|
| | |
---|
| | <template name="empty-hyperlink-url-internal" match="hyperlink" mode="empty-hyperlink-internal"> |
---|
| | <common><xsl:param name="url" /></common> |
---|
| | <common formats="/latex/xelatex/">\url{<xsl:value-of select="$url" />}</common> |
---|
| | <common formats="/html/xhtml/"><a href="{$url}"><code><xsl:value-of select="$url" /></code></a></common> |
---|
| | <common> |
---|
| | <xsl:param name="url" /> |
---|
| | </common> |
---|
| | <common formats="/latex/xelatex/"> |
---|
| | <xsl:text>\url{</xsl:text> |
---|
| | <xsl:value-of select="$url" /> |
---|
| | <xsl:text>}</xsl:text> |
---|
| | </common> |
---|
| | <common formats="/html/xhtml/"> |
---|
| | <a href="{$url}"><code><xsl:value-of select="$url" /></code></a> |
---|
| | </common> |
---|
| | </template> |
---|
| | |
---|
| | |
---|
| | <!-- A plain URL (i.e., not necessarily a hyperlink). --> |
---|
| | <template name="url" match="url|uri|email|e-mail|email-address|e-mail-address"> |
---|
| | <!-- |
---|
| | Hmm, \url{...} appears to turn the URL into a non-functional link in PDF output (probably an interaction with hyperref). Not really what we want (as the link aspect is already dealt with by the <hyperlink> templates), so we'll use \nolinkurl{...}. |
---|
| | --> |
---|
| | <common formats="/latex/xelatex/">\nolinkurl{<xsl:apply-templates />}</common> |
---|
| | <common formats="/html/xhtml/"><code><xsl:apply-templates /></code></common> |
---|
| | <common formats="/latex/xelatex/"> |
---|
| | <xsl:text>\nolinkurl{</xsl:text> |
---|
| | <xsl:apply-templates /> |
---|
| | <xsl:text>}</xsl:text> |
---|
| | </common> |
---|
| | <common formats="/html/xhtml/"> |
---|
| | <code><xsl:apply-templates /></code> |
---|
| | </common> |
---|
| | </template> |
---|
| | |
---|
| | |
---|
| | </stylesheet> |
---|