Re-Style Iteration 1: CSS rework, some semantic stuff

This commit is contained in:
Jonas Schäfer 2019-04-04 16:36:31 +02:00
parent 3ea8b92714
commit 39199b23d8
2 changed files with 1057 additions and 399 deletions

565
xep.xsl
View File

@ -36,11 +36,106 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:output doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' method='xml'/> <xsl:output doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' method='xml'/>
<xsl:template name="status-notice">
<xsl:param name="thestatus"/>
<xsl:param name="thetype"/>
<div id='status-notice'>
<xsl:attribute name='class'><xsl:value-of select='translate($thestatus, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz")'/><xsl:text> </xsl:text><xsl:value-of select='translate($thetype, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz")'/></xsl:attribute>
<xsl:if test='$thestatus = "Active" and $thetype = "Historical"'>
<xsl:text>NOTICE: This Historical specification provides canonical documentation of a protocol that is in use within the Jabber/XMPP community. This document is not a standards-track specification within the XMPP Standards Foundation's standards process; however, it might be converted to standards-track in the future or might be obsoleted by a more modern protocol.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Active" and $thetype = "Humorous"'>
<xsl:text>NOTICE: This document is Humorous. It MAY provide amusement but SHOULD NOT be taken seriously.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Active" and $thetype = "Informational"'>
<xsl:text>NOTICE: This Informational specification defines a best practice or protocol profile that has been approved by the XMPP Council and/or the XSF Board of Directors. Implementations are encouraged and the best practice or protocol profile is appropriate for deployment in production systems.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Active" and $thetype = "Procedural"'>
<xsl:text>NOTICE: This Procedural document defines a process or activity of the XMPP Standards Foundation (XSF) that has been approved by the XMPP Council and/or the XSF Board of Directors. The XSF is currently following the process or activity defined herein and will do so until this document is deprecated or obsoleted.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Deferred"'>
<xsl:text>WARNING: This document has been automatically Deferred after 12 months of inactivity in its previous Experimental state. Implementation of the protocol described herein is not recommended for production systems. However, exploratory implementations are encouraged to resume the standards process.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Deprecated"'>
<xsl:text>WARNING: This document has been </xsl:text><strong>Deprecated</strong><xsl:text> by the XMPP Standards Foundation. Implementation of the protocol described herein is not recommended. Developers desiring similar functionality are advised to implement the protocol that supersedes this one</xsl:text>
<xsl:variable name='supersededby.count' select='count(/xep/header/supersededby/spec)'/>
<xsl:choose>
<xsl:when test='$supersededby.count &gt; 0'>
<xsl:text>(</xsl:text>
<xsl:apply-templates select='/xep/header/supersededby/spec'>
<xsl:with-param name='speccount' select='$supersededby.count'/>
</xsl:apply-templates>
<xsl:text>).</xsl:text>
</xsl:when>
<xsl:otherwise>(if any).</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test='$thestatus = "Draft"'>
<xsl:text>NOTICE: The protocol defined herein is a </xsl:text><strong>Draft Standard</strong><xsl:text> of the XMPP Standards Foundation. Implementations are encouraged and the protocol is appropriate for deployment in production systems, but some changes to the protocol are possible before it becomes a Final Standard.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Experimental" and $thetype = "Historical"'>
<xsl:text>NOTICE: This Historical document attempts to provide canonical documentation of a protocol that is in use within the Jabber/XMPP community. Publication as an XMPP Extension Protocol does not imply approval of this proposal by the XMPP Standards Foundation. This document is not a standards-track specification within the XMPP Standards Foundation's standards process; however, it might be converted to standards-track in the future or might be obsoleted by a more modern protocol.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Experimental" and $thetype = "Informational"'>
<xsl:text>WARNING: This Informational document is Experimental. Publication as an XMPP Extension Protocol does not imply approval of this proposal by the XMPP Standards Foundation. Implementation of the best practice or protocol profile described herein is encouraged in exploratory implementations, although production systems are advised to carefully consider whether it is appropriate to deploy implementations of this protocol before it advances to a status of Draft.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Experimental" and $thetype = "Procedural"'>
<xsl:text>NOTICE: This Procedural document proposes that the process or activity defined herein shall be followed by the XMPP Standards Foundation (XSF). However, this process or activity has not yet been approved by the XMPP Council and/or the XSF Board of Directors and is therefore not currently in force.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Experimental" and $thetype = "Standards Track"'>
<xsl:text>WARNING: This Standards-Track document is Experimental. Publication as an XMPP Extension Protocol does not imply approval of this proposal by the XMPP Standards Foundation. Implementation of the protocol described herein is encouraged in exploratory implementations, but production systems are advised to carefully consider whether it is appropriate to deploy implementations of this protocol before it advances to a status of Draft.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Final"'>
<xsl:text>NOTICE: The protocol defined herein is a </xsl:text><strong>Final Standard</strong><xsl:text> of the XMPP Standards Foundation and can be considered a stable technology for implementation and deployment.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Obsolete"'>
<xsl:text>WARNING: This document has been obsoleted by the XMPP Standards Foundation. Implementation of the protocol described herein is not recommended. Developers desiring similar functionality are advised to implement the protocol that supersedes this on</xsl:text>
<xsl:variable name='supersededby.count' select='count(/xep/header/supersededby/spec)'/>
<xsl:choose>
<xsl:when test='$supersededby.count &gt; 0'>
<xsl:text>(</xsl:text>
<xsl:apply-templates select='/xep/header/supersededby/spec'>
<xsl:with-param name='speccount' select='$supersededby.count'/>
</xsl:apply-templates>
<xsl:text>).</xsl:text>
</xsl:when>
<xsl:otherwise>(if any).</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test='$thestatus = "Proposed"'>
<xsl:text>NOTICE: This document is currently within Last Call or under consideration by the XMPP Council for advancement to the next stage in the XSF standards process.</xsl:text>
<xsl:if test='/xep/header/lastcall'>The Last Call ends on <xsl:value-of select='/xep/header/lastcall'/>.
</xsl:if>
<xsl:text>Please send your feedback to the </xsl:text><a href='http://mail.jabber.org/mailman/listinfo/standards'>standards@xmpp.org</a><xsl:text> discussion list.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "ProtoXEP"'>
<xsl:text>WARNING: This document has not yet been accepted for consideration or approved in any official manner by the XMPP Standards Foundation, and this document is not yet an XMPP Extension Protocol (XEP). If this document is accepted as a XEP by the XMPP Council, it will be published at &lt;</xsl:text><a href="http://xmpp.org/extensions/">http://xmpp.org/extensions/</a><xsl:text>&gt; and announced on the &lt;standards@xmpp.org&gt; mailing list.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Rejected"'>
<xsl:text>WARNING: This document has been Rejected by the XMPP Council. Implementation of the protocol described herein is not recommended under any circumstances.</xsl:text>
</xsl:if>
<xsl:if test='$thestatus = "Retracted"'>
<xsl:text>WARNING: This document has been retracted by the author(s). Implementation of the protocol described herein is not recommended. Developers desiring similar functionality are advised to implement the protocol that supersedes this one </xsl:text>
<xsl:variable name='supersededby.count' select='count(/xep/header/supersededby/spec)'/>
<xsl:choose>
<xsl:when test='$supersededby.count &gt; 0'>
<xsl:text>(</xsl:text>
<xsl:apply-templates select='/xep/header/supersededby/spec'>
<xsl:with-param name='speccount' select='$supersededby.count'/>
</xsl:apply-templates>
<xsl:text>).</xsl:text>
</xsl:when>
<xsl:otherwise>(if any).</xsl:otherwise>
</xsl:choose>
</xsl:if>
</div>
</xsl:template>
<xsl:template match='/'> <xsl:template match='/'>
<html> <html>
<head> <head>
<title>XEP-<xsl:value-of select='/xep/header/number'/>:<xsl:text> </xsl:text><xsl:value-of select='/xep/header/title' /></title> <title>XEP-<xsl:value-of select='/xep/header/number'/>:<xsl:text> </xsl:text><xsl:value-of select='/xep/header/title' /></title>
<link rel='stylesheet' type='text/css' href='xmpp.css' /> <link rel='stylesheet' type='text/css' href='xmpp.v2.css' />
<link href="prettify.css" type="text/css" rel="stylesheet" /> <link href="prettify.css" type="text/css" rel="stylesheet" />
<link rel='shortcut icon' type='image/x-icon' href='/favicon.ico' /> <link rel='shortcut icon' type='image/x-icon' href='/favicon.ico' />
<script type="text/javascript" src="prettify.js"> <script type="text/javascript" src="prettify.js">
@ -100,261 +195,153 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<h1>XEP-<xsl:value-of select='/xep/header/number' />:<xsl:text> </xsl:text><xsl:value-of select='/xep/header/title' /></h1> <h1>XEP-<xsl:value-of select='/xep/header/number' />:<xsl:text> </xsl:text><xsl:value-of select='/xep/header/title' /></h1>
<!-- TOP TABLE --> <!-- TOP TABLE -->
<xsl:variable name='authors.count' select='count(/xep/header/author)'/> <xsl:variable name='authors.count' select='count(/xep/header/author)'/>
<table> <dl>
<tr valign='top'> <dt>Abstract</dt>
<td><strong>Abstract:</strong></td> <dd><xsl:value-of select='/xep/header/abstract'/></dd>
<td><xsl:value-of select='/xep/header/abstract'/></td>
</tr>
<xsl:if test='$authors.count=1'> <xsl:if test='$authors.count=1'>
<tr valign='top'> <dt>Author</dt>
<td><strong>Author:</strong></td> <dd><xsl:value-of select='/xep/header/author/firstname'/><xsl:text> </xsl:text><xsl:value-of select='/xep/header/author/surname'/></dd>
<td><xsl:value-of select='/xep/header/author/firstname'/><xsl:text> </xsl:text><xsl:value-of select='/xep/header/author/surname'/></td>
</tr>
</xsl:if> </xsl:if>
<xsl:if test='$authors.count&gt;1'> <xsl:if test='$authors.count&gt;1'>
<tr valign='top'> <dt>Authors</dt>
<td><strong>Authors:</strong></td> <dd><ul class='authors'>
<td>
<xsl:for-each select='/xep/header/author'> <xsl:for-each select='/xep/header/author'>
<xsl:value-of select='firstname'/> <li><xsl:value-of select='firstname'/><xsl:text> </xsl:text><xsl:value-of select='surname'/></li>
<xsl:text> </xsl:text>
<xsl:value-of select='surname'/>
<xsl:if test="position()!=last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each> </xsl:for-each>
</td> </ul></dd>
</tr>
</xsl:if> </xsl:if>
<tr valign='top'> <dt>Copyright</dt>
<td><strong>Copyright:</strong></td> <dd>&#169; 1999 &#x2013; 2018 XMPP Standards Foundation. <a href='#appendix-legal'>SEE LEGAL NOTICES</a>.</dd>
<td>&#169; 1999 &#x2013; 2018 XMPP Standards Foundation. <a href='#appendix-legal'>SEE LEGAL NOTICES</a>.</td> <dt>Status</dt>
</tr> <dd>
<tr valign='top'> <p><xsl:value-of select='/xep/header/status'/></p>
<td><strong>Status:</strong></td> <xsl:call-template name='status-notice'>
<td><xsl:value-of select='/xep/header/status'/></td> <xsl:with-param name='thestatus' select='/xep/header/status'/>
</tr> <xsl:with-param name='thetype' select='/xep/header/type'/>
<tr valign='top'> </xsl:call-template>
<td><strong>Type:</strong></td> </dd>
<td><xsl:value-of select='/xep/header/type'/></td> <dt>Type</dt>
</tr> <dd><xsl:value-of select='/xep/header/type'/></dd>
<tr valign='top'> <dt>Version</dt>
<td><strong>Version:</strong></td> <dd><xsl:value-of select='/xep/header/revision[position()=1]/version'/> (<xsl:value-of select='/xep/header/revision[position()=1]/date'/>)</dd>
<td><xsl:value-of select='/xep/header/revision[position()=1]/version'/></td> </dl>
</tr>
<tr valign='top'>
<td><strong>Last&#160;Updated:</strong></td>
<td><xsl:value-of select='/xep/header/revision[position()=1]/date'/></td>
</tr>
</table>
<!-- COUNCIL NOTE --> <!-- COUNCIL NOTE -->
<xsl:apply-templates select='/xep/header/councilnote'/> <xsl:apply-templates select='/xep/header/councilnote'/>
<!-- DEPLOYABILITY -->
<hr />
<xsl:variable name='thestatus' select='/xep/header/status'/>
<xsl:variable name='thetype' select='/xep/header/type'/>
<xsl:if test='$thestatus = "Active" and $thetype = "Historical"'>
<p style='color:green'>NOTICE: This Historical specification provides canonical documentation of a protocol that is in use within the Jabber/XMPP community. This document is not a standards-track specification within the XMPP Standards Foundation's standards process; however, it might be converted to standards-track in the future or might be obsoleted by a more modern protocol.</p>
</xsl:if>
<xsl:if test='$thestatus = "Active" and $thetype = "Humorous"'>
<p style='color:green'>NOTICE: This document is Humorous. It MAY provide amusement but SHOULD NOT be taken seriously.</p>
</xsl:if>
<xsl:if test='$thestatus = "Active" and $thetype = "Informational"'>
<p style='color:green'>NOTICE: This Informational specification defines a best practice or protocol profile that has been approved by the XMPP Council and/or the XSF Board of Directors. Implementations are encouraged and the best practice or protocol profile is appropriate for deployment in production systems.</p>
</xsl:if>
<xsl:if test='$thestatus = "Active" and $thetype = "Procedural"'>
<p style='color:green'>NOTICE: This Procedural document defines a process or activity of the XMPP Standards Foundation (XSF) that has been approved by the XMPP Council and/or the XSF Board of Directors. The XSF is currently following the process or activity defined herein and will do so until this document is deprecated or obsoleted.</p>
</xsl:if>
<xsl:if test='$thestatus = "Deferred"'>
<p style='color:red'>WARNING: This document has been automatically Deferred after 12 months of inactivity in its previous Experimental state. Implementation of the protocol described herein is not recommended for production systems. However, exploratory implementations are encouraged to resume the standards process.</p>
</xsl:if>
<xsl:if test='$thestatus = "Deprecated"'>
<p style='color:red'>WARNING: This document has been <strong>Deprecated</strong> by the XMPP Standards Foundation. Implementation of the protocol described herein is not recommended. Developers desiring similar functionality are advised to implement the protocol that supersedes this one
<xsl:variable name='supersededby.count' select='count(/xep/header/supersededby/spec)'/>
<xsl:choose>
<xsl:when test='$supersededby.count &gt; 0'>
<xsl:text>(</xsl:text>
<xsl:apply-templates select='/xep/header/supersededby/spec'>
<xsl:with-param name='speccount' select='$supersededby.count'/>
</xsl:apply-templates>
<xsl:text>).</xsl:text>
</xsl:when>
<xsl:otherwise>(if any).</xsl:otherwise>
</xsl:choose>
</p>
</xsl:if>
<xsl:if test='$thestatus = "Draft"'>
<p style='color:green'>NOTICE: The protocol defined herein is a <strong>Draft Standard</strong> of the XMPP Standards Foundation. Implementations are encouraged and the protocol is appropriate for deployment in production systems, but some changes to the protocol are possible before it becomes a Final Standard.</p>
</xsl:if>
<xsl:if test='$thestatus = "Experimental" and $thetype = "Historical"'>
<p style='color:red'>NOTICE: This Historical document attempts to provide canonical documentation of a protocol that is in use within the Jabber/XMPP community. Publication as an XMPP Extension Protocol does not imply approval of this proposal by the XMPP Standards Foundation. This document is not a standards-track specification within the XMPP Standards Foundation's standards process; however, it might be converted to standards-track in the future or might be obsoleted by a more modern protocol.</p>
</xsl:if>
<xsl:if test='$thestatus = "Experimental" and $thetype = "Informational"'>
<p style='color:red'>WARNING: This Informational document is Experimental. Publication as an XMPP Extension Protocol does not imply approval of this proposal by the XMPP Standards Foundation. Implementation of the best practice or protocol profile described herein is encouraged in exploratory implementations, although production systems are advised to carefully consider whether it is appropriate to deploy implementations of this protocol before it advances to a status of Draft.</p>
</xsl:if>
<xsl:if test='$thestatus = "Experimental" and $thetype = "Procedural"'>
<p style='color:red'>NOTICE: This Procedural document proposes that the process or activity defined herein shall be followed by the XMPP Standards Foundation (XSF). However, this process or activity has not yet been approved by the XMPP Council and/or the XSF Board of Directors and is therefore not currently in force.</p>
</xsl:if>
<xsl:if test='$thestatus = "Experimental" and $thetype = "Standards Track"'>
<p style='color:red'>WARNING: This Standards-Track document is Experimental. Publication as an XMPP Extension Protocol does not imply approval of this proposal by the XMPP Standards Foundation. Implementation of the protocol described herein is encouraged in exploratory implementations, but production systems are advised to carefully consider whether it is appropriate to deploy implementations of this protocol before it advances to a status of Draft.</p>
</xsl:if>
<xsl:if test='$thestatus = "Final"'>
<p style='color:green'>NOTICE: The protocol defined herein is a <strong>Final Standard</strong> of the XMPP Standards Foundation and can be considered a stable technology for implementation and deployment.</p>
</xsl:if>
<xsl:if test='$thestatus = "Obsolete"'>
<p style='color:red'>WARNING: This document has been obsoleted by the XMPP Standards Foundation. Implementation of the protocol described herein is not recommended. Developers desiring similar functionality are advised to implement the protocol that supersedes this on
<xsl:variable name='supersededby.count' select='count(/xep/header/supersededby/spec)'/>
<xsl:choose>
<xsl:when test='$supersededby.count &gt; 0'>
<xsl:text>(</xsl:text>
<xsl:apply-templates select='/xep/header/supersededby/spec'>
<xsl:with-param name='speccount' select='$supersededby.count'/>
</xsl:apply-templates>
<xsl:text>).</xsl:text>
</xsl:when>
<xsl:otherwise>(if any).</xsl:otherwise>
</xsl:choose>
</p>
</xsl:if>
<xsl:if test='$thestatus = "Proposed"'>
<p style='color:red'>NOTICE: This document is currently within Last Call or under consideration by the XMPP Council for advancement to the next stage in the XSF standards process.
<xsl:if test='/xep/header/lastcall'>The Last Call ends on <xsl:value-of select='/xep/header/lastcall'/>.
</xsl:if>
Please send your feedback to the <a href='http://mail.jabber.org/mailman/listinfo/standards'>standards@xmpp.org</a> discussion list.</p>
</xsl:if>
<xsl:if test='$thestatus = "ProtoXEP"'>
<p style='color:red'>WARNING: This document has not yet been accepted for consideration or approved in any official manner by the XMPP Standards Foundation, and this document is not yet an XMPP Extension Protocol (XEP). If this document is accepted as a XEP by the XMPP Council, it will be published at &lt;<a href="http://xmpp.org/extensions/">http://xmpp.org/extensions/</a>&gt; and announced on the &lt;standards@xmpp.org&gt; mailing list.</p>
</xsl:if>
<xsl:if test='$thestatus = "Rejected"'>
<p style='color:red'>WARNING: This document has been Rejected by the XMPP Council. Implementation of the protocol described herein is not recommended under any circumstances.</p>
</xsl:if>
<xsl:if test='$thestatus = "Retracted"'>
<p style='color:red'>WARNING: This document has been retracted by the author(s). Implementation of the protocol described herein is not recommended. Developers desiring similar functionality are advised to implement the protocol that supersedes this one
<xsl:variable name='supersededby.count' select='count(/xep/header/supersededby/spec)'/>
<xsl:choose>
<xsl:when test='$supersededby.count &gt; 0'>
<xsl:text>(</xsl:text>
<xsl:apply-templates select='/xep/header/supersededby/spec'>
<xsl:with-param name='speccount' select='$supersededby.count'/>
</xsl:apply-templates>
<xsl:text>).</xsl:text>
</xsl:when>
<xsl:otherwise>(if any).</xsl:otherwise>
</xsl:choose>
</p>
</xsl:if>
<!-- TABLE OF CONTENTS --> <!-- TABLE OF CONTENTS -->
<hr />
<xsl:call-template name='processTOC' /> <xsl:call-template name='processTOC' />
<!-- END FRONT MATTER --> <!-- END FRONT MATTER -->
<!-- BEGIN XEP CONTENTS --> <!-- BEGIN XEP CONTENTS -->
<hr />
<xsl:apply-templates select='/xep/section1'/> <xsl:apply-templates select='/xep/section1'/>
<!-- END XEP CONTENTS --> <!-- END XEP CONTENTS -->
<!-- BEGIN APPENDICES --> <!-- BEGIN APPENDICES -->
<hr /> <hr />
<a name='appendices'></a> <a name='appendices'></a>
<h2>Appendices</h2> <h2>Appendices</h2>
<hr />
<!-- XEP INFO --> <!-- XEP INFO -->
<a name='appendix-docinfo'></a> <h3 id='appendix-docinfo'>Appendix A: Document Information<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='"appendix-docinfo"'/></xsl:call-template></h3>
<h3>Appendix A: Document Information</h3> <dl class='compact'>
<p class='indent'> <dt>Series</dt>
Series: <a href='http://xmpp.org/extensions/'>XEP</a><br /> <dd><a href='http://xmpp.org/extensions/'>XEP</a></dd>
Number: <xsl:value-of select='/xep/header/number'/><br /> <dt>Number</dt>
Publisher: <a href='/xsf/'>XMPP Standards Foundation</a><br /> <dd><xsl:value-of select='/xep/header/number'/></dd>
Status: <dt>Publisher</dt>
<a> <dd><a href='/xsf/'>XMPP Standards Foundation</a></dd>
<dt>Status</dt>
<dd><a>
<xsl:attribute name='href'><xsl:text>http://xmpp.org/extensions/xep-0001.html#states-</xsl:text><xsl:value-of select='/xep/header/status'/></xsl:attribute> <xsl:attribute name='href'><xsl:text>http://xmpp.org/extensions/xep-0001.html#states-</xsl:text><xsl:value-of select='/xep/header/status'/></xsl:attribute>
<xsl:value-of select='/xep/header/status'/> <xsl:value-of select='/xep/header/status'/>
</a> </a></dd>
<br /> <dt>Type</dt>
Type: <dd><a>
<a>
<xsl:attribute name='href'><xsl:text>http://xmpp.org/extensions/xep-0001.html#types-</xsl:text><xsl:value-of select='/xep/header/type'/></xsl:attribute> <xsl:attribute name='href'><xsl:text>http://xmpp.org/extensions/xep-0001.html#types-</xsl:text><xsl:value-of select='/xep/header/type'/></xsl:attribute>
<xsl:value-of select='/xep/header/type'/> <xsl:value-of select='/xep/header/type'/>
</a> </a></dd>
<br /> <dt>Version</dt>
Version: <xsl:value-of select='/xep/header/revision[position()=1]/version'/><br /> <dd><xsl:value-of select='/xep/header/revision[position()=1]/version'/></dd>
Last Updated: <xsl:value-of select='/xep/header/revision[position()=1]/date'/><br /> <dt>Last Updated</dt>
<dd><xsl:value-of select='/xep/header/revision[position()=1]/date'/></dd>
<xsl:variable name='expires.count' select='count(/xep/header/expires)'/> <xsl:variable name='expires.count' select='count(/xep/header/expires)'/>
<xsl:if test='$expires.count=1'> <xsl:if test='$expires.count=1'>
Expires: <xsl:value-of select='/xep/header/expires'/><br /> <dt>Expires</dt><dd><xsl:value-of select='/xep/header/expires'/></dd>
</xsl:if> </xsl:if>
<xsl:variable name='ApprovingBody' select='/xep/header/approver'/> <xsl:variable name='ApprovingBody' select='/xep/header/approver'/>
<dt>Approving Body</dt>
<xsl:choose> <xsl:choose>
<xsl:when test='$ApprovingBody = "Board"'> <xsl:when test='$ApprovingBody = "Board"'>
Approving Body: <a href='http://xmpp.org/xsf/board/'>XSF Board of Directors</a><br /> <dd><a href='http://xmpp.org/xsf/board/'>XSF Board of Directors</a></dd>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
Approving Body: <a href='http://xmpp.org/council/'>XMPP Council</a><br /> <dd><a href='http://xmpp.org/council/'>XMPP Council</a></dd>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<xsl:variable name='dependencies.count' select='count(/xep/header/dependencies/spec)'/> <xsl:variable name='dependencies.count' select='count(/xep/header/dependencies/spec)'/>
<dt>Dependencies</dt>
<dd>
<xsl:choose> <xsl:choose>
<xsl:when test='$dependencies.count &gt; 0'> <xsl:when test='$dependencies.count &gt; 0'>
<xsl:text>Dependencies: </xsl:text>
<xsl:apply-templates select='/xep/header/dependencies/spec'> <xsl:apply-templates select='/xep/header/dependencies/spec'>
<xsl:with-param name='speccount' select='$dependencies.count'/> <xsl:with-param name='speccount' select='$dependencies.count'/>
</xsl:apply-templates> </xsl:apply-templates>
<br />
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
Dependencies: None<br /> None
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</dd>
<dt>Supersedes</dt>
<dd>
<xsl:variable name='supersedes.count' select='count(/xep/header/supersedes/spec)'/> <xsl:variable name='supersedes.count' select='count(/xep/header/supersedes/spec)'/>
<xsl:choose> <xsl:choose>
<xsl:when test='$supersedes.count &gt; 0'> <xsl:when test='$supersedes.count &gt; 0'>
<xsl:text>Supersedes: </xsl:text>
<xsl:apply-templates select='/xep/header/supersedes/spec'> <xsl:apply-templates select='/xep/header/supersedes/spec'>
<xsl:with-param name='speccount' select='$supersedes.count'/> <xsl:with-param name='speccount' select='$supersedes.count'/>
</xsl:apply-templates> </xsl:apply-templates>
<br />
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>None</xsl:otherwise>
Supersedes: None<br />
</xsl:otherwise>
</xsl:choose> </xsl:choose>
</dd>
<dt>Superseded By</dt>
<dd>
<xsl:variable name='supersededby.count' select='count(/xep/header/supersededby/spec)'/> <xsl:variable name='supersededby.count' select='count(/xep/header/supersededby/spec)'/>
<xsl:choose> <xsl:choose>
<xsl:when test='$supersededby.count &gt; 0'> <xsl:when test='$supersededby.count &gt; 0'>
<xsl:text>Superseded By: </xsl:text>
<xsl:apply-templates select='/xep/header/supersededby/spec'> <xsl:apply-templates select='/xep/header/supersededby/spec'>
<xsl:with-param name='speccount' select='$supersededby.count'/> <xsl:with-param name='speccount' select='$supersededby.count'/>
</xsl:apply-templates> </xsl:apply-templates>
<br />
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>None</xsl:otherwise>
Superseded By: None<br />
</xsl:otherwise>
</xsl:choose> </xsl:choose>
Short Name: <xsl:value-of select='/xep/header/shortname'/><br /> </dd>
<dt>Short Name</dt>
<dd><xsl:value-of select='/xep/header/shortname'/></dd>
<xsl:variable name='schema.count' select='count(/xep/header/schemaloc)'/> <xsl:variable name='schema.count' select='count(/xep/header/schemaloc)'/>
<xsl:if test='$schema.count &gt; 0'> <xsl:if test='$schema.count &gt; 0'>
<dt>Schema</dt>
<xsl:apply-templates select='/xep/header/schemaloc'/> <xsl:apply-templates select='/xep/header/schemaloc'/>
</xsl:if> </xsl:if>
<xsl:variable name='reg.count' select='count(/xep/header/registry)'/> <xsl:variable name='reg.count' select='count(/xep/header/registry)'/>
<xsl:if test='$reg.count=1'> <xsl:if test='$reg.count=1'>
Registry: <dt>Registry</dt>
<dd>
<xsl:variable name='registryURL'> <xsl:variable name='registryURL'>
<xsl:text>http://xmpp.org/registrar/</xsl:text> <xsl:text>http://xmpp.org/registrar/</xsl:text>
<xsl:value-of select='/xep/header/shortname'/> <xsl:value-of select='/xep/header/shortname'/>
<xsl:text>.html</xsl:text> <xsl:text>.html</xsl:text>
</xsl:variable> </xsl:variable>
&lt;<a href='{$registryURL}'><xsl:value-of select='$registryURL'/></a>&gt; &lt;<a href='{$registryURL}'><xsl:value-of select='$registryURL'/></a>&gt;
<br /> </dd>
</xsl:if> </xsl:if>
<xsl:variable name='sourceHTML'> <xsl:variable name='sourceHTML'>
<xsl:text>https://github.com/xsf/xeps/blob/master/xep-</xsl:text> <xsl:text>https://github.com/xsf/xeps/blob/master/xep-</xsl:text>
<xsl:value-of select='/xep/header/number'/> <xsl:value-of select='/xep/header/number'/>
<xsl:text>.xml</xsl:text> <xsl:text>.xml</xsl:text>
</xsl:variable> </xsl:variable>
<xsl:if test='$thestatus != "ProtoXEP"'> <xsl:if test='/xep/header/status != "ProtoXEP"'>
Source Control: <dt>Source Control</dt>
<a class='standardsButton' href='{$sourceHTML}'>HTML</a> <dd><a class='standardsButton' href='{$sourceHTML}'>HTML</a></dd>
<br />
</xsl:if> </xsl:if>
</dl>
<p>
<xsl:variable name='formatXML'> <xsl:variable name='formatXML'>
<xsl:text>http://xmpp.org/extensions/xep-</xsl:text> <xsl:text>http://xmpp.org/extensions/xep-</xsl:text>
<xsl:value-of select='/xep/header/number'/> <xsl:value-of select='/xep/header/number'/>
@ -369,27 +356,17 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<a class='standardsButton' href='{$formatXML}'>XML</a>&#160; <a class='standardsButton' href='{$formatXML}'>XML</a>&#160;
<a class='standardsButton' href='{$formatPDF}'>PDF</a> <a class='standardsButton' href='{$formatPDF}'>PDF</a>
</p> </p>
<hr />
<!-- AUTHOR INFO --> <!-- AUTHOR INFO -->
<a name='appendix-authorinfo'></a> <h3 id='appendix-authorinfo'>Appendix B: Author Information<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='"appendix-authorinfo"'/></xsl:call-template></h3>
<h3>Appendix B: Author Information</h3>
<div class='indent'>
<xsl:apply-templates select='/xep/header/author'/> <xsl:apply-templates select='/xep/header/author'/>
</div>
<hr />
<!-- LEGAL NOTICES --> <!-- LEGAL NOTICES -->
<a name='appendix-legal'></a> <h3 id='appendix-legal'>Appendix C: Legal Notices<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='"appendix-legal"'/></xsl:call-template></h3>
<h3>Appendix C: Legal Notices</h3>
<xsl:apply-templates select='/xep/header/legal'/> <xsl:apply-templates select='/xep/header/legal'/>
<hr />
<!-- XMPP NOTICE --> <!-- XMPP NOTICE -->
<a name='appendix-xmpp'></a> <h3 id='appendix-xmpp'>Appendix D: Relation to XMPP<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='"appendix-xmpp"'/></xsl:call-template></h3>
<h3>Appendix D: Relation to XMPP</h3>
<p class='indent'>The Extensible Messaging and Presence Protocol (XMPP) is defined in the XMPP Core (RFC 6120) and XMPP IM (RFC 6121) specifications contributed by the XMPP Standards Foundation to the Internet Standards Process, which is managed by the Internet Engineering Task Force in accordance with RFC 2026. Any protocol defined in this document has been developed outside the Internet Standards Process and is to be understood as an extension to XMPP rather than as an evolution, development, or modification of XMPP itself.</p> <p class='indent'>The Extensible Messaging and Presence Protocol (XMPP) is defined in the XMPP Core (RFC 6120) and XMPP IM (RFC 6121) specifications contributed by the XMPP Standards Foundation to the Internet Standards Process, which is managed by the Internet Engineering Task Force in accordance with RFC 2026. Any protocol defined in this document has been developed outside the Internet Standards Process and is to be understood as an extension to XMPP rather than as an evolution, development, or modification of XMPP itself.</p>
<hr />
<!-- DISCUSSION VENUE --> <!-- DISCUSSION VENUE -->
<a name='appendix-discuss'></a> <h3 id='appendix-discuss'>Appendix E: Discussion Venue<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='"appendix-discuss"'/></xsl:call-template></h3>
<h3>Appendix E: Discussion Venue</h3>
<xsl:variable name='discuss.count' select='count(/xep/header/discuss)'/> <xsl:variable name='discuss.count' select='count(/xep/header/discuss)'/>
<xsl:variable name='discuss.venue' select='count(/xep/header/discuss)'/> <xsl:variable name='discuss.venue' select='count(/xep/header/discuss)'/>
<xsl:if test='$discuss.count=1'> <xsl:if test='$discuss.count=1'>
@ -418,15 +395,11 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<p class='indent'>Errata can be sent to &lt;<a href='mailto:editor@xmpp.org'>editor@xmpp.org</a>&gt;.</p> <p class='indent'>Errata can be sent to &lt;<a href='mailto:editor@xmpp.org'>editor@xmpp.org</a>&gt;.</p>
<hr />
<!-- CONFORMANCE TERMS--> <!-- CONFORMANCE TERMS-->
<a name='appendix-conformance'></a> <h3 id='appendix-conformance'>Appendix F: Requirements Conformance<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='"appendix-conformance"'/></xsl:call-template></h3>
<h3>Appendix F: Requirements Conformance</h3>
<p class='indent'>The following requirements keywords as used in this document are to be interpreted as described in <a href='http://www.ietf.org/rfc/rfc2119.txt'>RFC 2119</a>: "MUST", "SHALL", "REQUIRED"; "MUST NOT", "SHALL NOT"; "SHOULD", "RECOMMENDED"; "SHOULD NOT", "NOT RECOMMENDED"; "MAY", "OPTIONAL".</p> <p class='indent'>The following requirements keywords as used in this document are to be interpreted as described in <a href='http://www.ietf.org/rfc/rfc2119.txt'>RFC 2119</a>: "MUST", "SHALL", "REQUIRED"; "MUST NOT", "SHALL NOT"; "SHOULD", "RECOMMENDED"; "SHOULD NOT", "NOT RECOMMENDED"; "MAY", "OPTIONAL".</p>
<hr />
<!-- NOTES --> <!-- NOTES -->
<a name="appendix-notes"></a> <h3 id='appendix-notes'>Appendix G: Notes<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='"appendix-notes"'/></xsl:call-template></h3>
<h3>Appendix G: Notes</h3>
<div class='indent'> <div class='indent'>
<xsl:for-each select="//note"> <xsl:for-each select="//note">
<xsl:variable name='me' select='.' /> <xsl:variable name='me' select='.' />
@ -443,9 +416,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:for-each> </xsl:for-each>
</div> </div>
<!-- REVISION HISTORY --> <!-- REVISION HISTORY -->
<hr /> <h3 id='appendix-revs'>Appendix H: Revision History<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='"appendix-revs"'/></xsl:call-template></h3>
<a name="appendix-revs"></a>
<h3>Appendix H: Revision History</h3>
<p>Note: Older versions of this specification might be available at <a href='http://xmpp.org/extensions/attic/'>http://xmpp.org/extensions/attic/</a></p> <p>Note: Older versions of this specification might be available at <a href='http://xmpp.org/extensions/attic/'>http://xmpp.org/extensions/attic/</a></p>
<div class='indent'> <div class='indent'>
<xsl:apply-templates select='/xep/header/revision'/> <xsl:apply-templates select='/xep/header/revision'/>
@ -471,19 +442,20 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:template name='processTOC'> <xsl:template name='processTOC'>
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div class='indent'> <ol class='toc'>
<p><xsl:apply-templates select='//section1' mode='toc'/></p> <xsl:apply-templates select='//section1' mode='toc'/>
<p><a href='#appendices'>Appendices</a> </ol>
<br />&#160;&#160;&#160;&#160;<a href="#appendix-docinfo">A: Document Information</a> <h6><a href='#appendices'>Appendices</a></h6>
<br />&#160;&#160;&#160;&#160;<a href="#appendix-authorinfo">B: Author Information</a> <ol class='toc-appendices'>
<br />&#160;&#160;&#160;&#160;<a href="#appendix-legal">C: Legal Notices</a> <li><a href="#appendix-docinfo">Document Information</a></li>
<br />&#160;&#160;&#160;&#160;<a href="#appendix-xmpp">D: Relation to XMPP</a> <li><a href="#appendix-authorinfo">Author Information</a></li>
<br />&#160;&#160;&#160;&#160;<a href="#appendix-discuss">E: Discussion Venue</a> <li><a href="#appendix-legal">Legal Notices</a></li>
<br />&#160;&#160;&#160;&#160;<a href="#appendix-conformance">F: Requirements Conformance</a> <li><a href="#appendix-xmpp">Relation to XMPP</a></li>
<br />&#160;&#160;&#160;&#160;<a href="#appendix-notes">G: Notes</a> <li><a href="#appendix-discuss">Discussion Venue</a></li>
<br />&#160;&#160;&#160;&#160;<a href="#appendix-revs">H: Revision History</a> <li><a href="#appendix-conformance">Requirements Conformance</a></li>
</p> <li><a href="#appendix-notes">Notes</a></li>
</div> <li><a href="#appendix-revs">Revision History</a></li>
</ol>
</xsl:template> </xsl:template>
<xsl:template match='councilnote'> <xsl:template match='councilnote'>
@ -502,8 +474,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:template> </xsl:template>
<xsl:template match='author'> <xsl:template match='author'>
<h3><xsl:value-of select='firstname'/><xsl:text> </xsl:text><xsl:value-of select='surname'/></h3> <h5><xsl:value-of select='firstname'/><xsl:text> </xsl:text><xsl:value-of select='surname'/></h5>
<p class='indent'>
<xsl:variable name='org.count' select='count(org)'/> <xsl:variable name='org.count' select='count(org)'/>
<xsl:variable name='email.count' select='count(email)'/> <xsl:variable name='email.count' select='count(email)'/>
<xsl:variable name='jid.count' select='count(jid)'/> <xsl:variable name='jid.count' select='count(jid)'/>
@ -512,11 +483,14 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:if test='$authornote.count &gt; 0'> <xsl:if test='$authornote.count &gt; 0'>
See <a href='#authornote'>Author Note</a><br /> See <a href='#authornote'>Author Note</a><br />
</xsl:if> </xsl:if>
<dl class='compact'>
<xsl:if test='$org.count=1'> <xsl:if test='$org.count=1'>
Organization: <xsl:value-of select='org'/><br /> <dt>Organization</dt>
<dd><xsl:value-of select='org'/></dd>
</xsl:if> </xsl:if>
<xsl:if test='$email.count=1'> <xsl:if test='$email.count=1'>
Email: <dt>Email</dt>
<dd>
<a> <a>
<xsl:attribute name='href'> <xsl:attribute name='href'>
<xsl:text>mailto:</xsl:text> <xsl:text>mailto:</xsl:text>
@ -524,10 +498,11 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:attribute> </xsl:attribute>
<xsl:value-of select='email' /> <xsl:value-of select='email' />
</a> </a>
<br /> </dd>
</xsl:if> </xsl:if>
<xsl:if test='$jid.count=1'> <xsl:if test='$jid.count=1'>
JabberID: <dt>JabberID</dt>
<dd>
<a> <a>
<xsl:attribute name='href'> <xsl:attribute name='href'>
<xsl:text>xmpp:</xsl:text> <xsl:text>xmpp:</xsl:text>
@ -535,35 +510,36 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:attribute> </xsl:attribute>
<xsl:value-of select='jid' /> <xsl:value-of select='jid' />
</a> </a>
<br /> </dd>
</xsl:if> </xsl:if>
<xsl:if test='$uri.count=1'> <xsl:if test='$uri.count=1'>
URI: <dt>URI</dt>
<dd>
<a> <a>
<xsl:attribute name='href'> <xsl:attribute name='href'>
<xsl:value-of select='uri' /> <xsl:value-of select='uri' />
</xsl:attribute> </xsl:attribute>
<xsl:value-of select='uri' /> <xsl:value-of select='uri' />
</a> </a>
<br /> </dd>
</xsl:if> </xsl:if>
</p> </dl>
</xsl:template> </xsl:template>
<xsl:template match='legal'> <xsl:template match='legal'>
<div class='indent'> <div class='indent'>
<h4>Copyright</h4> <h4>Copyright</h4>
<xsl:apply-templates select='/xep/header/legal/copyright'/> <p><xsl:apply-templates select='/xep/header/legal/copyright'/></p>
<h4>Permissions</h4> <h4>Permissions</h4>
<xsl:apply-templates select='/xep/header/legal/permissions'/> <p><xsl:apply-templates select='/xep/header/legal/permissions'/></p>
<h4>Disclaimer of Warranty</h4> <h4>Disclaimer of Warranty</h4>
<span style='font-weight: bold'> <p class="box info">
<xsl:apply-templates select='/xep/header/legal/warranty'/> <xsl:apply-templates select='/xep/header/legal/warranty'/>
</span> </p>
<h4>Limitation of Liability</h4> <h4>Limitation of Liability</h4>
<xsl:apply-templates select='/xep/header/legal/liability'/> <p><xsl:apply-templates select='/xep/header/legal/liability'/></p>
<h4>IPR Conformance</h4> <h4>IPR Conformance</h4>
<xsl:apply-templates select='/xep/header/legal/conformance'/> <p><xsl:apply-templates select='/xep/header/legal/conformance'/></p>
</div> </div>
</xsl:template> </xsl:template>
@ -579,22 +555,22 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:template match='schemaloc'> <xsl:template match='schemaloc'>
<xsl:variable name='this.url' select='url'/> <xsl:variable name='this.url' select='url'/>
<xsl:variable name='ns.count' select='count(ns)'/> <xsl:variable name='ns.count' select='count(ns)'/>
<dd>
<xsl:choose> <xsl:choose>
<xsl:when test="$ns.count=1"> <xsl:when test="$ns.count=1">
XML Schema for the '<xsl:value-of select='ns'/>' namespace: &lt;<a href='{$this.url}'><xsl:value-of select='url'/></a>&gt;<br /> XML Schema for the '<xsl:value-of select='ns'/>' namespace: &lt;<a href='{$this.url}'><xsl:value-of select='url'/></a>&gt;<br />
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
Schema: &lt;<a href='{$this.url}'><xsl:value-of select='url'/></a>&gt;<br /> &lt;<a href='{$this.url}'><xsl:value-of select='url'/></a>&gt;<br />
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</dd>
</xsl:template> </xsl:template>
<xsl:template match='revision'> <xsl:template match='revision'>
<h4>Version <xsl:value-of select='version'/><xsl:text> </xsl:text>(<xsl:value-of select='date'/>)</h4> <h5>Version <xsl:value-of select='version'/><xsl:text> </xsl:text>(<xsl:value-of select='date'/>)</h5>
<div class='indent'>
<xsl:apply-templates select='remark'/> <xsl:apply-templates select='remark'/>
<xsl:text> </xsl:text>(<xsl:value-of select='initials'/>) <xsl:text> </xsl:text>(<xsl:value-of select='initials'/>)
</div>
</xsl:template> </xsl:template>
<xsl:template match='section1' mode='toc'> <xsl:template match='section1' mode='toc'>
@ -608,8 +584,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:number level='multiple' count='section1'/><xsl:text>.</xsl:text> <xsl:number level='multiple' count='section1'/><xsl:text>.</xsl:text>
</xsl:variable> </xsl:variable>
<xsl:variable name='sect2.count' select='count(section2)'/> <xsl:variable name='sect2.count' select='count(section2)'/>
<br /> <li>
<xsl:value-of select='$num'/> <xsl:text> </xsl:text>
<a> <a>
<xsl:attribute name='href'> <xsl:attribute name='href'>
<xsl:text>#</xsl:text> <xsl:text>#</xsl:text>
@ -626,10 +601,13 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:value-of select='@topic' /> <xsl:value-of select='@topic' />
</a> </a>
<xsl:if test='$sect2.count &gt; 0'> <xsl:if test='$sect2.count &gt; 0'>
<ol>
<xsl:apply-templates select='section2' mode='toc'> <xsl:apply-templates select='section2' mode='toc'>
<xsl:with-param name='prevnum' select='$num'/> <xsl:with-param name='prevnum' select='$num'/>
</xsl:apply-templates> </xsl:apply-templates>
</ol>
</xsl:if> </xsl:if>
</li>
</xsl:template> </xsl:template>
<xsl:template match='section1'> <xsl:template match='section1'>
@ -640,10 +618,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:value-of select='@anchor'/> <xsl:value-of select='@anchor'/>
</xsl:variable> </xsl:variable>
<h2> <h2>
<xsl:number level='single' count='section1'/>. <xsl:variable name='anchor'>
<xsl:text> </xsl:text>
<a>
<xsl:attribute name='name'>
<xsl:choose> <xsl:choose>
<xsl:when test='$anch != ""'> <xsl:when test='$anch != ""'>
<xsl:value-of select='@anchor'/> <xsl:value-of select='@anchor'/>
@ -652,9 +627,12 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:text>sect-</xsl:text><xsl:value-of select='$oid'/> <xsl:text>sect-</xsl:text><xsl:value-of select='$oid'/>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:attribute> </xsl:variable>
<xsl:attribute name='id'><xsl:value-of select='$anchor'/></xsl:attribute>
<xsl:number level='single' count='section1'/>.
<xsl:text> </xsl:text>
<xsl:value-of select='@topic' /> <xsl:value-of select='@topic' />
</a> <xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='$anchor'/></xsl:call-template>
</h2> </h2>
<xsl:apply-templates/> <xsl:apply-templates/>
</xsl:template> </xsl:template>
@ -671,8 +649,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:value-of select='$prevnum'/><xsl:number level='multiple' count='section2'/><xsl:text>.</xsl:text> <xsl:value-of select='$prevnum'/><xsl:number level='multiple' count='section2'/><xsl:text>.</xsl:text>
</xsl:variable> </xsl:variable>
<xsl:variable name='sect3.count' select='count(section3)'/> <xsl:variable name='sect3.count' select='count(section3)'/>
<br />&#160;&#160;&#160; <li>
<xsl:value-of select='$num'/> <xsl:text> </xsl:text>
<a> <a>
<xsl:attribute name='href'> <xsl:attribute name='href'>
<xsl:text>#</xsl:text> <xsl:text>#</xsl:text>
@ -688,10 +665,13 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:value-of select='@topic' /> <xsl:value-of select='@topic' />
</a> </a>
<xsl:if test='$sect3.count &gt; 0'> <xsl:if test='$sect3.count &gt; 0'>
<ol>
<xsl:apply-templates select='section3' mode='toc'> <xsl:apply-templates select='section3' mode='toc'>
<xsl:with-param name='prevnum' select='$num'/> <xsl:with-param name='prevnum' select='$num'/>
</xsl:apply-templates> </xsl:apply-templates>
</ol>
</xsl:if> </xsl:if>
</li>
</xsl:template> </xsl:template>
<xsl:template match='section2'> <xsl:template match='section2'>
@ -703,10 +683,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:variable> </xsl:variable>
<div class='indent'> <div class='indent'>
<h3> <h3>
<xsl:number level='single' count='section1'/>.<xsl:number level='single' count='section2'/> <xsl:variable name='anchor'>
<xsl:text> </xsl:text>
<a>
<xsl:attribute name='name'>
<xsl:choose> <xsl:choose>
<xsl:when test='$anch != ""'> <xsl:when test='$anch != ""'>
<xsl:value-of select='@anchor'/> <xsl:value-of select='@anchor'/>
@ -715,9 +692,12 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:text>sect-</xsl:text><xsl:value-of select='$oid'/> <xsl:text>sect-</xsl:text><xsl:value-of select='$oid'/>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:attribute> </xsl:variable>
<xsl:attribute name='id'><xsl:value-of select='$anchor'/></xsl:attribute>
<xsl:number level='single' count='section1'/>.<xsl:number level='single' count='section2'/>
<xsl:text> </xsl:text>
<xsl:value-of select='@topic' /> <xsl:value-of select='@topic' />
</a> <xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='$anchor'/></xsl:call-template>
</h3> </h3>
<xsl:apply-templates/> <xsl:apply-templates/>
</div> </div>
@ -735,8 +715,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:value-of select='$prevnum'/><xsl:number level='multiple' count='section3'/><xsl:text>.</xsl:text> <xsl:value-of select='$prevnum'/><xsl:number level='multiple' count='section3'/><xsl:text>.</xsl:text>
</xsl:variable> </xsl:variable>
<xsl:variable name='sect4.count' select='count(section4)'/> <xsl:variable name='sect4.count' select='count(section4)'/>
<br />&#160;&#160;&#160;&#160;&#160;&#160; <li>
<xsl:value-of select='$num'/> <xsl:text> </xsl:text>
<a> <a>
<xsl:attribute name='href'> <xsl:attribute name='href'>
<xsl:text>#</xsl:text> <xsl:text>#</xsl:text>
@ -752,10 +731,13 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:value-of select='@topic' /> <xsl:value-of select='@topic' />
</a> </a>
<xsl:if test='$sect4.count &gt; 0'> <xsl:if test='$sect4.count &gt; 0'>
<ol>
<xsl:apply-templates select='section4' mode='toc'> <xsl:apply-templates select='section4' mode='toc'>
<xsl:with-param name='prevnum' select='$num'/> <xsl:with-param name='prevnum' select='$num'/>
</xsl:apply-templates> </xsl:apply-templates>
</ol>
</xsl:if> </xsl:if>
</li>
</xsl:template> </xsl:template>
<xsl:template match='section3'> <xsl:template match='section3'>
@ -766,11 +748,8 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:value-of select='@anchor'/> <xsl:value-of select='@anchor'/>
</xsl:variable> </xsl:variable>
<div class='indent'> <div class='indent'>
<h3> <h4>
<xsl:number level='single' count='section1'/>.<xsl:number level='single' count='section2'/>.<xsl:number level='single' count='section3'/> <xsl:variable name='anchor'>
<xsl:text> </xsl:text>
<a>
<xsl:attribute name='name'>
<xsl:choose> <xsl:choose>
<xsl:when test='$anch != ""'> <xsl:when test='$anch != ""'>
<xsl:value-of select='@anchor'/> <xsl:value-of select='@anchor'/>
@ -779,10 +758,13 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:text>sect-</xsl:text><xsl:value-of select='$oid'/> <xsl:text>sect-</xsl:text><xsl:value-of select='$oid'/>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:attribute> </xsl:variable>
<xsl:attribute name='id'><xsl:value-of select='$anchor'/></xsl:attribute>
<xsl:number level='single' count='section1'/>.<xsl:number level='single' count='section2'/>.<xsl:number level='single' count='section3'/>
<xsl:text> </xsl:text>
<xsl:value-of select='@topic' /> <xsl:value-of select='@topic' />
</a> <xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='$anchor'/></xsl:call-template>
</h3> </h4>
<xsl:apply-templates/> <xsl:apply-templates/>
</div> </div>
</xsl:template> </xsl:template>
@ -798,8 +780,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:variable name='num'> <xsl:variable name='num'>
<xsl:value-of select='$prevnum'/><xsl:number level='multiple' count='section4'/><xsl:text>.</xsl:text> <xsl:value-of select='$prevnum'/><xsl:number level='multiple' count='section4'/><xsl:text>.</xsl:text>
</xsl:variable> </xsl:variable>
<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <li>
<xsl:value-of select='$num'/> <xsl:text> </xsl:text>
<a> <a>
<xsl:attribute name='href'> <xsl:attribute name='href'>
<xsl:text>#</xsl:text> <xsl:text>#</xsl:text>
@ -814,6 +795,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:attribute> </xsl:attribute>
<xsl:value-of select='@topic' /> <xsl:value-of select='@topic' />
</a> </a>
</li>
</xsl:template> </xsl:template>
<xsl:template match='section4'> <xsl:template match='section4'>
@ -824,11 +806,8 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:value-of select='@anchor'/> <xsl:value-of select='@anchor'/>
</xsl:variable> </xsl:variable>
<div class='indent'> <div class='indent'>
<h3> <h5>
<xsl:number level='single' count='section1'/>.<xsl:number level='single' count='section2'/>.<xsl:number level='single' count='section3'/>.<xsl:number level='single' count='section4'/> <xsl:attribute name='id'>
<xsl:text> </xsl:text>
<a>
<xsl:attribute name='name'>
<xsl:choose> <xsl:choose>
<xsl:when test='$anch != ""'> <xsl:when test='$anch != ""'>
<xsl:value-of select='@anchor'/> <xsl:value-of select='@anchor'/>
@ -838,9 +817,10 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:attribute> </xsl:attribute>
<xsl:number level='single' count='section1'/>.<xsl:number level='single' count='section2'/>.<xsl:number level='single' count='section3'/>.<xsl:number level='single' count='section4'/>
<xsl:text> </xsl:text>
<xsl:value-of select='@topic' /> <xsl:value-of select='@topic' />
</a> </h5>
</h3>
<xsl:apply-templates/> <xsl:apply-templates/>
</div> </div>
</xsl:template> </xsl:template>
@ -920,18 +900,28 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</a> </a>
</xsl:template> </xsl:template>
<xsl:template name='anchor-link'>
<xsl:param name='anchor'/>
<a class='anchor-link'>
<xsl:attribute name='href'>#<xsl:value-of select='$anchor'/></xsl:attribute>
<abbr title="Link to this point in the document"></abbr>
</a>
</xsl:template>
<xsl:template match='example'> <xsl:template match='example'>
<p class='caption'><a><xsl:attribute name='name'><xsl:text>example-</xsl:text><xsl:number level='any' count='example'/></xsl:attribute></a>Example <xsl:number level='any' count='example'/>.<xsl:text> </xsl:text><xsl:value-of select='@caption'/></p> <figure class='code-example'>
<div class='indent'> <xsl:variable name='anchor'><xsl:text>example-</xsl:text><xsl:number level='any' count='example'/></xsl:variable>
<xsl:attribute name='id'><xsl:value-of select='$anchor'/></xsl:attribute>
<figcaption><strong>Example <xsl:number level='any' count='example'/>.</strong><xsl:text> </xsl:text><xsl:value-of select='@caption'/><xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='$anchor'/></xsl:call-template></figcaption>
<pre class='prettyprint'><xsl:apply-templates/></pre> <pre class='prettyprint'><xsl:apply-templates/></pre>
</div> </figure>
</xsl:template> </xsl:template>
<xsl:template match='code'> <xsl:template match='code'>
<p class='caption'><xsl:value-of select='@caption'/></p> <figure class='code'>
<div class='indent'> <figcaption><xsl:value-of select='@caption'/></figcaption>
<pre class='prettyprint'><xsl:apply-templates/></pre> <pre class='prettyprint'><xsl:apply-templates/></pre>
</div> </figure>
</xsl:template> </xsl:template>
<xsl:template match='img'> <xsl:template match='img'>
@ -944,12 +934,17 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:template> </xsl:template>
<xsl:template match='table'> <xsl:template match='table'>
<div class='indent'> <figure class='table'>
<p class='caption'><a><xsl:attribute name='name'><xsl:text>table-</xsl:text><xsl:number level='any' count='table'/></xsl:attribute></a>Table <xsl:number level='any' count='table'/>:<xsl:text> </xsl:text><xsl:value-of select='@caption'/></p> <figcaption>
<table border='1' cellpadding='3' cellspacing='0'> <xsl:variable name='anchor'><xsl:text>table-</xsl:text><xsl:number level='any' count='table'/></xsl:variable>
<xsl:attribute name='id'><xsl:value-of select='$anchor'/></xsl:attribute>
<strong>Table <xsl:number level='any' count='table'/>:</strong><xsl:text> </xsl:text><xsl:value-of select='@caption'/>
<xsl:call-template name='anchor-link'><xsl:with-param name='anchor' select='$anchor'/></xsl:call-template>
</figcaption>
<table>
<xsl:apply-templates/> <xsl:apply-templates/>
</table> </table>
</div> </figure>
</xsl:template> </xsl:template>
<xsl:template match='tr'> <xsl:template match='tr'>
@ -1062,9 +1057,9 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:template> </xsl:template>
<xsl:template match='em'> <xsl:template match='em'>
<span class='em'> <em>
<xsl:apply-templates/> <xsl:apply-templates/>
</span> </em>
</xsl:template> </xsl:template>
<xsl:template match='sub'> <xsl:template match='sub'>
@ -1090,15 +1085,15 @@ OR OTHER DEALINGS IN THE SOFTWARE.
</xsl:template> </xsl:template>
<xsl:template match='strong'> <xsl:template match='strong'>
<span class='strong'> <strong>
<xsl:apply-templates/> <xsl:apply-templates/>
</span> </strong>
</xsl:template> </xsl:template>
<xsl:template match='tt'> <xsl:template match='tt'>
<tt> <code>
<xsl:apply-templates/> <xsl:apply-templates/>
</tt> </code>
</xsl:template> </xsl:template>
<!-- END OF PRESENTATIONAL ELEMENTS --> <!-- END OF PRESENTATIONAL ELEMENTS -->

663
xmpp.v2.css Normal file
View File

@ -0,0 +1,663 @@
/**
* "Yet Another Multicolumn Layout" - YAML CSS Framework
*
* (en) Uniform design of standard content elements
* (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente
*
* @copyright © 2005-2013, Dirk Jesse
* @license CC-BY 2.0 (http://creativecommons.org/licenses/by/2.0/),
* YAML-CDL (http://www.yaml.de/license.html)
* @link http://www.yaml.de
* @package yaml
* @version 4.1.2
*/
@media all {
/*
* @section global typography settings
*
* vertical rhythm settings (based on em-unit)
* -------------------------------------------
* basefont-size: 14px (87.5%)
* line-height : 21px (factor: 1.5) */
/* (en) reset font size for all elements to standard (16 Pixel) */
/* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */
html * {
font-size: 100%;
}
/**
* (en) reset monospaced elements to font size 16px in all browsers
* (de) Schriftgröße von monospaced Elemente in allen Browsern auf 16 Pixel setzen
*
* @see: http://webkit.org/blog/67/strange-medium/
*/
textarea,
pre,
code,
kbd,
samp,
var,
tt {
font-family: Consolas, "Lucida Console", "Andale Mono", "Bitstream Vera Sans Mono", "Courier New", Courier;
}
/* font-size: 14px; */
body {
font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
font-size: 87.5%;
color: #444444;
}
/*--- Headings | Überschriften ------------------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "Droid Sans", Arial, Helvetica, sans-serif;
font-weight: 400;
color: #161e21;
margin: 0;
}
h1 {
/* font-size: 48px; */
font-size: 342.85714%;
line-height: 0.875;
margin: 0 0 0.4375em 0;
}
h2 {
/* font-size: 32px; */
font-size: 228.57143%;
line-height: 1.3125;
margin: 0 0 0.65625em 0;
}
h3 {
/* font-size: 24px; */
font-size: 171.42857%;
line-height: 0.875;
margin: 0 0 0.875em 0;
}
h4 {
/* font-size: 21px; */
font-size: 150%;
line-height: 1;
margin: 0 0 1em 0;
}
h5 {
/* font-size: 18px; */
font-size: 128.57143%;
line-height: 1.16667;
margin: 0 0 1.16667em 0;
}
h6 {
/* font-size: 14px; */
font-size: 100%;
font-weight: bold;
line-height: 1.5;
margin: 0 0 1.5em 0;
}
/* --- Lists | Listen -------------------------------------------------------------------------------- */
ul,
ol,
dl {
font-size: 100%;
line-height: 1.5;
margin: 0 0 1.5em 0;
}
ul {
list-style-type: disc;
}
ol {
list-style-type: decimal;
}
ul ul {
list-style-type: circle;
margin-top: 0;
}
ol ol {
list-style-type: lower-latin;
margin-top: 0;
}
ol ul {
list-style-type: circle;
margin-top: 0;
}
li {
font-size: 100%;
line-height: 1.5;
margin-left: 1.2em;
}
dt {
font-weight: bold;
}
dd {
margin: 0 0 1.5em 0.8em;
}
/* --- general text formatting | Allgemeine Textauszeichnung ------------------------------------------ */
p {
font-size: 100%;
line-height: 1.5;
margin: 0 0 1.5em 0;
}
blockquote,
cite,
q {
font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
font-style: italic;
}
blockquote {
background: transparent;
color: #666666;
margin: 1.5em 0 0 1.5em;
}
strong,
b {
font-weight: bold;
}
em,
i {
font-style: italic;
}
big {
/* font-size: 16px; */
font-size: 114.28571%;
line-height: 1.3125;
}
small {
/* font-size: 12px; */
font-size: 85.71429%;
line-height: 1.75;
}
pre,
code,
kbd,
tt,
samp,
var {
font-size: 100%;
}
pre {
font-size: 100%;
line-height: 1.5;
margin: 0 0 1.5em 0;
white-space: pre;
white-space: pre-wrap;
word-wrap: break-word;
}
pre,
code {
color: #880000;
}
kbd,
samp,
var,
tt {
color: #666666;
font-weight: bold;
}
var,
dfn {
font-style: italic;
}
acronym,
abbr {
border-bottom: 1px #aaa dotted;
font-variant: small-caps;
letter-spacing: .07em;
cursor: help;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
mark {
background: yellow;
color: black;
}
hr {
color: #fff;
background: transparent;
margin: 0 0 0.75em 0;
padding: 0 0 0.67857em 0;
border: 0;
border-bottom: 1px #eeeeee solid;
}
/*--- Links ----------------------------------------------------------------------------------------- */
a {
color: #4d87c7;
background: transparent;
text-decoration: none;
}
a:active {
outline: none;
}
/* (en) maximum constrast for tab focus - change with great care */
/* (en) Maximaler Kontrast für Tab Focus - Ändern Sie diese Regel mit Bedacht */
a:hover,
a:focus {
background-color: #4d87c7;
color: white;
text-decoration: none;
}
/* --- images ------------------ */
img,
figure {
margin: 0;
}
.flexible {
margin-bottom: 1.5em;
max-width: 100%;
height: auto;
}
/* IE6 workaround - 2% space for possible borders */
* html .flexible {
width: 98%;
}
.bordered {
margin-bottom: 1.5em;
border: 2px #eee solid;
border: 2px white solid;
-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
}
/**
* ----------------------------------------------------------------------- #
*
* Generic Content Classes
*
* (en) standard classes for positioning and highlighting
* (de) Standardklassen zur Positionierung und Hervorhebung
*
* @section content-generic-classes
*/
.highlight {
color: #cc3300;
}
.dimmed {
color: #888888;
}
.box {
border-radius: 0.3em;
border-width: 1px;
border-style: solid;
border-color: #888;
border-color: rgba(0, 0, 0, 0.3);
-webkit-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.2);
box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.2);
color: #444;
color: rgba(0, 0, 0, 0.8);
padding: 1.42857em;
margin: 0 0 1.5em 0;
}
.box > *:last-child {
margin-bottom: 0;
}
.label {
font-family: Verdana, Geneva, sans-serif;
padding: 1px 6px 2px;
display: inline-block;
vertical-align: middle;
letter-spacing: normal;
white-space: nowrap;
border-radius: 3px;
background: #06C;
color: #fff;
font-size: 10px;
line-height: 12px;
}
.info {
background: #f4f4f4;
}
.success {
background: #88cc88;
}
.warning {
background: #cccc88;
}
.error {
background: #cc8888;
}
.float-left {
float: left;
display: inline;
margin: 0 1em 1.5em 0;
}
.float-right {
float: right;
display: inline;
margin: 0 0 1.5em 1em;
}
.center {
display: block;
text-align: center;
margin: 0 auto 1.5em auto;
}
/**
* ------------------------------------------------------------------------------------------------- #
*
* Tables | Tabellen
*
* (en) Generic classes for table-width and design definition
* (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
*
* @section content-tables
*/
table {
width: 100%;
border-collapse: collapse;
color: #444444;
border-top: 1px #ccc solid;
border-bottom: 1px #ccc solid;
margin: 0 0 1.35714em 0;
}
table.narrow {
margin: 0 0 1.42857em 0;
}
table.narrow th,
table.narrow td {
padding: 0 0.5em;
line-height: 1.42857;
}
table.fixed {
table-layout: fixed;
}
table.bordertable {
border: 1px #ccc solid;
}
table.bordertable thead th {
background: #e0e0e0;
border-right: 1px #ccc solid;
border-bottom: 1px #ccc solid;
}
table.bordertable tbody th[scope="row"] {
background: #f0f0f0;
}
table.bordertable tbody th {
border-right: 1px solid #ccc;
}
table.bordertable tbody td {
border-right: 1px solid #ccc;
}
caption {
font-variant: small-caps;
}
th,
td {
line-height: 1.5em;
vertical-align: top;
padding: 0.71429em 0.5em;
}
th *:first-child,
td *:first-child {
margin-top: 0;
}
th.nowrap,
td.nowrap {
white-space: nowrap;
}
thead th {
text-align: left;
color: #000;
border-bottom: 2px #000 solid;
}
tbody {
/* highlight row on mouse over */
}
tbody th {
text-align: left;
border-top: 1px solid #ccc;
}
tbody td {
text-align: left;
border-top: 1px solid #ccc;
}
tbody tr:hover th,
tbody tr:hover td {
background: #f8f8f8;
}
}
@media screen {
body {
max-width: 60em;
margin-left: auto;
margin-right: auto;
font-family: "Droid Sans", Arial, Helvetica, sans-serif;
font-size: 12pt;
}
a.standardsButton {
padding: 0.1em;
padding-left: 0.5em;
padding-right: 0.5em;
border: 1px solid rgba(19, 181, 234, 1.0);
background-color: rgba(19, 181, 234, 0.2);
color: black;
border-radius: 2px;
}
a.standardsButton:hover,
a.standardsButton:focus {
border: 1px solid rgba(19, 181, 234, 1.0);
background-color: rgba(19, 181, 234, 0.7);
color: black;
}
ul, ol {
padding-left: 1.5em;
}
dl.compact {
display: grid;
grid-template-columns: auto 1fr;
margin-bottom: 1.5em;
}
dl.compact > dt {
grid-column: 1;
margin-bottom: 0;
}
dl.compact > dd {
grid-column: 2;
margin-bottom: 0;
}
div#status-notice {
/* margin: 1.5em;
padding: 1.5em; */
}
div#status-notice.active,
div#status-notice.final,
div#status-notice.draft {
color: green;
}
div#status-notice.deferred,
div#status-notice.deprecated,
div#status-notice.experimental,
div#status-notice.obsolete,
div#status-notice.proposed,
div#status-notice.protoxep,
div#status-notice.rejected,
div#status-notice.retracted {
color: red;
}
ol.toc-appendices {
padding: 0;
list-style-type: upper-alpha;
list-style-position: inside;
}
a {
color: #c4410a;
background: transparent;
}
a:hover,
a:focus {
background-color: #c4410a;
color: white;
}
figure {
margin-top: 1.5em;
margin-bottom: 1.5em;
}
figure.code,
figure.code-example {
/* margin: 1.5em; */
padding: 1.5em;
border: 1px solid rgba(19, 181, 234, 1.0);
}
figure > figcaption {
margin-bottom: 0.5em;
}
figure > *:last-child {
margin-bottom: 0;
}
a.anchor-link {
opacity: 0.3;
margin-left: 0.5em;
margin-right: 0.5em;
}
a.anchor-link > abbr {
text-decoration: none;
border: none;
}
h1 > a.anchor-link,
h2 > a.anchor-link,
h3 > a.anchor-link,
h4 > a.anchor-link,
h5 > a.anchor-link,
h6 > a.anchor-link {
visibility: hidden;
}
h1:hover > a.anchor-link,
h2:hover > a.anchor-link,
h3:hover > a.anchor-link,
h4:hover > a.anchor-link,
h5:hover > a.anchor-link,
h6:hover > a.anchor-link {
visibility: visible;
}
pre.prettyprint {
white-space: pre;
overflow-x: auto;
}
ul.authors {
display: inline-block;
list-style-type: none;
margin-bottom: 0;
margin-left: 0;
padding-left: 0;
}
ul.authors > li {
margin: 0;
padding: 0;
display: inline;
}
ul.authors > li:before {
content: ', ';
}
ul.authors > li:first-child:before {
content: '';
}
ol.toc,
ol.toc ol {
counter-reset: item;
list-style-type: none;
padding-left: 0.5em;
}
ol.toc {
padding-left: 0;
}
ol.toc li:before {
content: counters(item, ".") ". ";
counter-increment: item;
}
}