- From: Michael Smith via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 28 Jul 2010 16:07:36 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/markup/tools
In directory hutz:/tmp/cvs-serv3098/tools
Modified Files:
chunker.xsl generate-spec-source.xsl toc.xsl
Log Message:
added index of elements by function http://dev.w3.org/html5/markup/elements-by-function.html
Index: generate-spec-source.xsl
===================================================================
RCS file: /sources/public/html5/markup/tools/generate-spec-source.xsl,v
retrieving revision 1.275
retrieving revision 1.276
diff -u -d -r1.275 -r1.276
--- generate-spec-source.xsl 27 Jul 2010 13:20:20 -0000 1.275
+++ generate-spec-source.xsl 28 Jul 2010 16:07:34 -0000 1.276
@@ -79,6 +79,11 @@
<xsl:text> </xsl:text>
<xsl:copy-of select="document('../src/syntax.html')"/>
<xsl:text> </xsl:text>
+ <section id="elements-by-function">
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="make.elements.by.function"/>
+ <xsl:text> </xsl:text>
+ </section>
<section id="elements">
<xsl:text> </xsl:text>
<h2>HTML elements</h2>
@@ -945,6 +950,68 @@
</xsl:template>
<!-- * ***************************************************************** -->
+ <!-- * * MAKE ELEMENTS-BY-FUNCTION SECTION -->
+ <!-- * ***************************************************************** -->
+ <xsl:template name="make.elements.by.function">
+ <xsl:apply-templates select="document('../src/elements-by-function.html')/node()"/>
+ </xsl:template>
+
+ <xsl:template match="h:section[@id='elements-by-function']/*[not(h:section)]">
+ <xsl:copy-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="h:section[@id='elements-by-function']/h:section">
+ <section class="no-toc" id="{@id}">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates/>
+ </section>
+ </xsl:template>
+
+ <xsl:template match="h:section[@id='elements-by-function']/h:section/*[not(h:ul)]">
+ <xsl:copy-of select="."/>
+ </xsl:template>
+
+ <xsl:template match="h:section[@id='elements-by-function']/h:section/h:ul">
+ <ul>
+ <xsl:text> </xsl:text>
+ <xsl:for-each select="h:li">
+ <xsl:variable name="element-name" select="normalize-space(.)"/>
+ <xsl:variable name="target">
+ <xsl:call-template name="get-spec-target">
+ <xsl:with-param name="name" select="$element-name"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="filename">
+ <xsl:call-template name="get-spec-filename">
+ <xsl:with-param name="ref" select="$target"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <li>
+ <xsl:call-template name="make-element-spec-link">
+ <xsl:with-param name="element-name" select="$element-name"/>
+ <xsl:with-param name="filename" select="$filename"/>
+ <xsl:with-param name="target" select="$target"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <a href="#{$element-name}">
+ <span class="element">
+ <xsl:value-of select="$element-name"/>
+ </span>
+ <xsl:text> – </xsl:text>
+ <xsl:call-template name="get-shortdesc">
+ <xsl:with-param name="element-name" select="$element-name"/>
+ </xsl:call-template>
+ </a>
+ <xsl:call-template name="make-markup-feature-flags">
+ <xsl:with-param name="element-name" select="$element-name"/>
+ </xsl:call-template>
+ </li>
+ </xsl:for-each>
+ <xsl:text> </xsl:text>
+ </ul>
+ </xsl:template>
+
+ <!-- * ***************************************************************** -->
<!-- * * MAKE ELEMENT SECTION -->
<!-- * ***************************************************************** -->
<xsl:template match="*[local-name() = 'element'][@name]">
@@ -971,32 +1038,37 @@
[not(@name='meta')]
)"
>
- <xsl:variable name="obsoleted">
- <xsl:if test="document(concat('../elements/',$name,'.html'))//*[@id='shortdesc'][@class[contains(.,'obsoleted')]]"> obsoleted</xsl:if>
- </xsl:variable>
- <xsl:variable name="changed">
- <xsl:if test="document(concat('../elements/',$name,'.html'))//*[@id='shortdesc'][@class[contains(.,'changed')]]"> changed</xsl:if>
+ <xsl:variable name="target">
+ <xsl:call-template name="get-spec-target">
+ <xsl:with-param name="name" select="$name"/>
+ </xsl:call-template>
</xsl:variable>
- <xsl:variable name="new">
- <xsl:if test="document(concat('../elements/',$name,'.html'))//*[@id='shortdesc'][@class[contains(.,'new')]]"> new</xsl:if>
+ <xsl:variable name="filename">
+ <xsl:call-template name="get-spec-filename">
+ <xsl:with-param name="ref" select="$target"/>
+ </xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$name='button.submit'">
- <xsl:variable name="filename">
- <xsl:call-template name="get-spec-filename">
- <xsl:with-param name="ref">#the-button-element</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
<xsl:text> </xsl:text>
<section id="button" class="no-number">
<xsl:text> </xsl:text>
<h2 class="element-head">
- <span class="spec-link">
- <a title="Read about the button element in the HTML5 spec"
- href="{$filename}.html#the-button-element">ⓘ</a>
- </span>
+ <xsl:call-template name="make-element-spec-link">
+ <xsl:with-param name="element-name">button</xsl:with-param>
+ <xsl:with-param name="filename">
+ <xsl:call-template name="get-spec-filename">
+ <xsl:with-param name="ref">#the-button-element</xsl:with-param>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="target">#the-button-element</xsl:with-param>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<span class="element">button</span>
+ <xsl:text> – </xsl:text>
+ <xsl:call-template name="get-shortdesc">
+ <xsl:with-param name="element-name">button</xsl:with-param>
+ </xsl:call-template>
</h2>
<xsl:text> </xsl:text>
<div>
@@ -1019,23 +1091,29 @@
</section>
</xsl:when>
<xsl:when test="$name='command.command'">
- <xsl:variable name="filename">
- <xsl:call-template name="get-spec-filename">
- <xsl:with-param name="ref">#the-command</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
<xsl:text> </xsl:text>
<section id="command" class="no-number">
<xsl:text> </xsl:text>
<h2 class="element-head">
- <span class="spec-link">
- <a title="Read about the command element in the HTML5 spec"
- href="{$filename}.html#the-command">ⓘ</a>
- </span>
+ <xsl:call-template name="make-element-spec-link">
+ <xsl:with-param name="element-name">command</xsl:with-param>
+ <xsl:with-param name="filename">
+ <xsl:call-template name="get-spec-filename">
+ <xsl:with-param name="ref">#the-command</xsl:with-param>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="target">#the-command</xsl:with-param>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<span class="element">command</span>
+ <xsl:text> – </xsl:text>
+ <xsl:call-template name="get-shortdesc">
+ <xsl:with-param name="element-name">command</xsl:with-param>
+ </xsl:call-template>
<xsl:text> </xsl:text>
- <span class="new-feature" title="This markup feature is newly added in HTML5.">NEW</span>
+ <xsl:call-template name="make-markup-feature-flags">
+ <xsl:with-param name="element-name">command</xsl:with-param>
+ </xsl:call-template>
</h2>
<xsl:text> </xsl:text>
<div>
@@ -1056,21 +1134,29 @@
</section>
</xsl:when>
<xsl:when test="$name='input.text'">
- <xsl:variable name="filename">
- <xsl:call-template name="get-spec-filename">
- <xsl:with-param name="ref">#the-input-element</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
<xsl:text> </xsl:text>
<section id="input" class="no-number">
<xsl:text> </xsl:text>
<h2 class="element-head">
- <span class="spec-link">
- <a title="Read about the input element in the HTML5 spec"
- href="{$filename}.html#the-input-element">ⓘ</a>
- </span>
+ <xsl:call-template name="make-element-spec-link">
+ <xsl:with-param name="element-name">input</xsl:with-param>
+ <xsl:with-param name="filename">
+ <xsl:call-template name="get-spec-filename">
+ <xsl:with-param name="ref">#the-input-element</xsl:with-param>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="target">#the-input-element</xsl:with-param>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<span class="element">input</span>
+ <xsl:text> – </xsl:text>
+ <xsl:call-template name="get-shortdesc">
+ <xsl:with-param name="element-name">input</xsl:with-param>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="make-markup-feature-flags">
+ <xsl:with-param name="element-name">input</xsl:with-param>
+ </xsl:call-template>
</h2>
<xsl:text> </xsl:text>
<div>
@@ -1091,21 +1177,29 @@
</section>
</xsl:when>
<xsl:when test="$name='meta.name'">
- <xsl:variable name="filename">
- <xsl:call-template name="get-spec-filename">
- <xsl:with-param name="ref">#meta</xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
<xsl:text> </xsl:text>
<section id="meta" class="no-number">
<xsl:text> </xsl:text>
<h2 class="element-head">
- <span class="spec-link">
- <a title="Read about the meta element in the HTML5 spec"
- href="{$filename}.html#meta">ⓘ</a>
- </span>
+ <xsl:call-template name="make-element-spec-link">
+ <xsl:with-param name="element-name">meta</xsl:with-param>
+ <xsl:with-param name="filename">
+ <xsl:call-template name="get-spec-filename">
+ <xsl:with-param name="ref">#meta</xsl:with-param>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="target">#meta</xsl:with-param>
+ </xsl:call-template>
<xsl:text> </xsl:text>
<span class="element">meta</span>
+ <xsl:text> – </xsl:text>
+ <xsl:call-template name="get-shortdesc">
+ <xsl:with-param name="element-name">meta</xsl:with-param>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="make-markup-feature-flags">
+ <xsl:with-param name="element-name">meta</xsl:with-param>
+ </xsl:call-template>
</h2>
<xsl:text> </xsl:text>
<p>The <span class="element">meta</span> element is
@@ -1135,69 +1229,14 @@
<xsl:attribute name="id">
<xsl:value-of select="$name"/>
</xsl:attribute>
- <xsl:attribute name="class">
- <xsl:value-of select="concat('no-number',$obsoleted,$changed,$new)"/>
- </xsl:attribute>
+ <xsl:attribute name="class">no-number</xsl:attribute>
<xsl:text> </xsl:text>
<h2 class="element-head">
- <xsl:variable name="target">
- <xsl:choose>
- <xsl:when test="$name = 'input.text'">#text-state-and-search-state</xsl:when>
- <xsl:when test="$name = 'input.search'">#text-state-and-search-state</xsl:when>
- <xsl:when test="$name = 'input.radio'">#radio-button-state</xsl:when>
- <xsl:when test="$name = 'input.submit'">#submit-button-state</xsl:when>
- <xsl:when test="$name = 'input.reset'">#reset-button-state</xsl:when>
- <xsl:when test="$name = 'input.tel'">#telephone-state</xsl:when>
- <xsl:when test="$name = 'input.datetime'">#date-and-time-state</xsl:when>
- <xsl:when test="$name = 'input.datetime-local'">#local-date-and-time-state</xsl:when>
- <xsl:when test="$name = 'input.file'">#file-upload-state</xsl:when>
- <xsl:when test="$name = 'input.image'">#image-button-state</xsl:when>
- <xsl:when test="$name = 'input.email'">#e-mail-state</xsl:when>
- <xsl:when test="starts-with($name,'input.')">
- <xsl:value-of select="concat('#',substring-after($name,'input.'),'-state')"/>
- </xsl:when>
- <xsl:when test="starts-with($name,'button')">#the-button-element</xsl:when>
- <xsl:when test="starts-with($name,'command')">#the-command</xsl:when>
- <xsl:when test="$name = 'meta.http-equiv.content-language'">#attr-meta-http-equiv-content-language</xsl:when>
- <xsl:when test="$name = 'meta.http-equiv.content-type'">#attr-meta-http-equiv-content-type</xsl:when>
- <xsl:when test="$name = 'meta.http-equiv.default-style'">#attr-meta-http-equiv-default-style</xsl:when>
- <xsl:when test="$name = 'meta.http-equiv.refresh'">#attr-meta-http-equiv-refresh</xsl:when>
- <xsl:when test="$name = 'meta.charset'">#attr-meta-charset</xsl:when>
- <xsl:when test="$name = 'meta.name'">#attr-meta-name</xsl:when>
- <xsl:when test="$name = 'meta'">#meta</xsl:when>
- <xsl:when test="$name = 'audio'">#audio</xsl:when>
- <xsl:when test="$name = 'body'">#the-body-element-0</xsl:when>
- <xsl:when test="$name = 'command'">#the-command</xsl:when>
- <xsl:when test="$name = 'h1'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
- <xsl:when test="$name = 'h2'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
- <xsl:when test="$name = 'h3'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
- <xsl:when test="$name = 'h4'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
- <xsl:when test="$name = 'h5'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
- <xsl:when test="$name = 'h6'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
- <xsl:when test="$name = 'head'">#the-head-element-0</xsl:when>
- <xsl:when test="$name = 'html'">#the-html-element-0</xsl:when>
- <xsl:when test="$name = 'menu'">#menus</xsl:when>
- <xsl:when test="$name = 'script'">#script</xsl:when>
- <xsl:when test="$name = 'sub'">#the-sub-and-sup-elements</xsl:when>
- <xsl:when test="$name = 'sup'">#the-sub-and-sup-elements</xsl:when>
- <xsl:when test="$name = 'title'">#the-title-element-0</xsl:when>
- <xsl:when test="$name = 'video'">#video</xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat('#the-',$name,'-element')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:text> </xsl:text>
- <xsl:variable name="filename">
- <xsl:call-template name="get-spec-filename">
- <xsl:with-param name="ref" select="$target"/>
- </xsl:call-template>
- </xsl:variable>
- <span class="spec-link">
- <xsl:text> </xsl:text>
- <a title="Read about the {$short-name} element in the HTML5 spec"
- href="{$filename}.html{$target}">ⓘ</a>
- </span>
+ <xsl:call-template name="make-element-spec-link">
+ <xsl:with-param name="element-name" select="$short-name"/>
+ <xsl:with-param name="filename" select="$filename"/>
+ <xsl:with-param name="target" select="$target"/>
+ </xsl:call-template>
<xsl:choose>
<xsl:when test="contains($name,'.notype')">
<span class="element"><xsl:value-of select="substring-before($name,'.')"/></span>
@@ -1257,71 +1296,12 @@
</xsl:otherwise>
</xsl:choose>
<xsl:text> – </xsl:text>
- <span class="shortdesc">
- <xsl:choose>
- <xsl:when test="document(concat('../elements/',$name,'.html'))//h:div[@id='shortdesc']/node()">
- <xsl:copy-of select="document(concat('../elements/',$name,'.html'))//h:div[@id='shortdesc']/node()"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="element.shortdesc">
- <xsl:choose>
- <xsl:when test="$name = 'li'">
- <xsl:text>list item</xsl:text>
- </xsl:when>
- <xsl:when
- test="preceding-sibling::*[local-name() = 'documentation']
- and not(preceding-sibling::*[local-name() = 'documentation'][1] = '')">
- <xsl:value-of
- select="preceding-sibling::*[local-name() = 'documentation'][1]"/>
- </xsl:when>
- <xsl:when
- test="ancestor::*[local-name() = 'define']/*[local-name() = 'documentation']
- and not(ancestor::*[local-name() = 'define']/*[local-name() = 'documentation'] = '')">
- <xsl:value-of
- select="ancestor::*[local-name() = 'define']/*[local-name() = 'documentation'][1]"/>
- </xsl:when>
- <xsl:when test="$name = 'code'">
- <xsl:text>code fragment</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>@@ FIXME @@</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="contains($element.shortdesc,':')">
- <xsl:value-of
- select="translate(substring-before($element.shortdesc,':'),
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of
- select="translate($element.shortdesc,
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </span>
- <xsl:text> </xsl:text>
- <xsl:if test='not($obsoleted="")'>
- <xsl:text> </xsl:text>
- <span class="obsoleted-feature"
- title="This markup feature has been obsoleted in HTML5."
- >OBSOLETE</span>
- </xsl:if>
- <xsl:if test='not($changed="")'>
- <xsl:text> </xsl:text>
- <span class="changed-feature"
- title="The meaning, structure, or purpose of this markup feature has changed in HTML5."
- >CHANGED</span>
- </xsl:if>
- <xsl:if test='not($new="")'>
- <xsl:text> </xsl:text>
- <span class="new-feature"
- title="This markup feature is newly added in HTML5."
- >NEW</span>
- </xsl:if>
+ <xsl:call-template name="get-shortdesc">
+ <xsl:with-param name="element-name" select="$name"/>
+ </xsl:call-template>
+ <xsl:call-template name="make-markup-feature-flags">
+ <xsl:with-param name="element-name" select="$name"/>
+ </xsl:call-template>
</h2>
<xsl:text> </xsl:text>
<xsl:variable name="space-name">
@@ -3068,6 +3048,200 @@
</xsl:choose>
</xsl:template>
+ <!-- * ***************************************************************** -->
+ <!-- * * GET ELEMENT SHORTDESC -->
+ <!-- * ***************************************************************** -->
+ <xsl:template name="get-shortdesc">
+ <xsl:param name="element-name"/>
+ <span class="shortdesc">
+ <xsl:choose>
+ <xsl:when test="$element-name = 'meta'">
+ <xsl:text>document metadata</xsl:text>
+ </xsl:when>
+ <xsl:when test="$element-name = 'input'">
+ <xsl:text>input control</xsl:text>
+ </xsl:when>
+ <xsl:when test="$element-name = 'button'">
+ <xsl:text>button</xsl:text>
+ </xsl:when>
+ <xsl:when test="$element-name = 'command'">
+ <xsl:text>command</xsl:text>
+ </xsl:when>
+ <xsl:when test="document(concat('../elements/',$element-name,'.html'))//h:div[@id='shortdesc']/node()">
+ <xsl:copy-of select="document(concat('../elements/',$element-name,'.html'))//h:div[@id='shortdesc']/node()"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="element.shortdesc">
+ <xsl:choose>
+ <xsl:when test="$element-name = 'li'">
+ <xsl:text>list item</xsl:text>
+ </xsl:when>
+ <xsl:when
+ test="preceding-sibling::*[local-name() = 'documentation']
+ and not(preceding-sibling::*[local-name() = 'documentation'][1] = '')">
+ <xsl:value-of
+ select="preceding-sibling::*[local-name() = 'documentation'][1]"/>
+ </xsl:when>
+ <xsl:when
+ test="ancestor::*[local-name() = 'define']/*[local-name() = 'documentation']
+ and not(ancestor::*[local-name() = 'define']/*[local-name() = 'documentation'] = '')">
+ <xsl:value-of
+ select="ancestor::*[local-name() = 'define']/*[local-name() = 'documentation'][1]"/>
+ </xsl:when>
+ <xsl:when test="$element-name = 'code'">
+ <xsl:text>code fragment</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>@@ FIXME @@</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="contains($element.shortdesc,':')">
+ <xsl:value-of
+ select="translate(substring-before($element.shortdesc,':'),
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of
+ select="translate($element.shortdesc,
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </span>
+ </xsl:template>
+ <!-- * ***************************************************************** -->
+ <!-- * * MAKE OBSOLETE/CHANGED/NEW FLAGS -->
+ <!-- * ***************************************************************** -->
+ <xsl:template name="make-markup-feature-flags">
+ <xsl:param name="element-name"/>
+ <xsl:choose>
+ <xsl:when test="$element-name='button'"/>
+ <xsl:when test="$element-name='input' or $element-name='meta'">
+ <xsl:text> </xsl:text>
+ <span class="changed-feature"
+ title="The meaning, structure, or purpose of this markup feature has changed in HTML5."
+ >CHANGED</span>
+ </xsl:when>
+ <xsl:when test="$element-name='command'">
+ <xsl:text> </xsl:text>
+ <span class="new-feature" title="This markup feature is newly added in HTML5.">NEW</span>
+ </xsl:when>
+ <xsl:when test="document(concat('../elements/',$element-name,'.html'))//*[@id='shortdesc'][@class[contains(.,'obsoleted')]]">
+ <xsl:text> </xsl:text>
+ <span class="obsoleted-feature"
+ title="This markup feature has been obsoleted in HTML5."
+ >OBSOLETE</span>
+ </xsl:when>
+ <xsl:when test="document(concat('../elements/',$element-name,'.html'))//*[@id='shortdesc'][@class[contains(.,'changed')]]">
+ <xsl:text> </xsl:text>
+ <span class="changed-feature"
+ title="The meaning, structure, or purpose of this markup feature has changed in HTML5."
+ >CHANGED</span>
+ </xsl:when>
+ <xsl:when test="document(concat('../elements/',$element-name,'.html'))//*[@id='shortdesc'][@class[contains(.,'new')]]">
+ <xsl:text> </xsl:text>
+ <span class="new-feature"
+ title="This markup feature is newly added in HTML5."
+ >NEW</span>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+ <!-- * ***************************************************************** -->
+ <!-- * * MAKE ELEMENT LINK TO HTML5 SPEC -->
+ <!-- * ***************************************************************** -->
+ <xsl:template name="make-element-spec-link">
+ <xsl:param name="element-name"/>
+ <xsl:param name="filename"/>
+ <xsl:param name="target"/>
+ <span class="spec-link">
+ <a title="Read about the {$element-name} element in the HTML5 spec"
+ href="{$filename}.html{$target}">ⓘ</a>
+ </span>
+ <xsl:text> </xsl:text>
+ </xsl:template>
+ <xsl:template name="get-spec-target">
+ <xsl:param name="name"/>
+ <xsl:choose>
+ <xsl:when test="$name = 'input'">#the-input-element</xsl:when>
+ <xsl:when test="$name = 'input.text'">#text-state-and-search-state</xsl:when>
+ <xsl:when test="$name = 'input.search'">#text-state-and-search-state</xsl:when>
+ <xsl:when test="$name = 'input.radio'">#radio-button-state</xsl:when>
+ <xsl:when test="$name = 'input.submit'">#submit-button-state</xsl:when>
+ <xsl:when test="$name = 'input.reset'">#reset-button-state</xsl:when>
+ <xsl:when test="$name = 'input.tel'">#telephone-state</xsl:when>
+ <xsl:when test="$name = 'input.datetime'">#date-and-time-state</xsl:when>
+ <xsl:when test="$name = 'input.datetime-local'">#local-date-and-time-state</xsl:when>
+ <xsl:when test="$name = 'input.file'">#file-upload-state</xsl:when>
+ <xsl:when test="$name = 'input.image'">#image-button-state</xsl:when>
+ <xsl:when test="$name = 'input.email'">#e-mail-state</xsl:when>
+ <xsl:when test="starts-with($name,'input.')">
+ <xsl:value-of select="concat('#',substring-after($name,'input.'),'-state')"/>
+ </xsl:when>
+ <xsl:when test="starts-with($name,'button')">#the-button-element</xsl:when>
+ <xsl:when test="starts-with($name,'command')">#the-command</xsl:when>
+ <xsl:when test="$name = 'meta.http-equiv.content-language'">#attr-meta-http-equiv-content-language</xsl:when>
+ <xsl:when test="$name = 'meta.http-equiv.content-type'">#attr-meta-http-equiv-content-type</xsl:when>
+ <xsl:when test="$name = 'meta.http-equiv.default-style'">#attr-meta-http-equiv-default-style</xsl:when>
+ <xsl:when test="$name = 'meta.http-equiv.refresh'">#attr-meta-http-equiv-refresh</xsl:when>
+ <xsl:when test="$name = 'meta.charset'">#attr-meta-charset</xsl:when>
+ <xsl:when test="$name = 'meta.name'">#attr-meta-name</xsl:when>
+ <xsl:when test="$name = 'meta'">#meta</xsl:when>
+ <xsl:when test="$name = 'audio'">#audio</xsl:when>
+ <xsl:when test="$name = 'body'">#the-body-element-0</xsl:when>
+ <xsl:when test="$name = 'command'">#the-command</xsl:when>
+ <xsl:when test="$name = 'h1'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
+ <xsl:when test="$name = 'h2'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
+ <xsl:when test="$name = 'h3'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
+ <xsl:when test="$name = 'h4'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
+ <xsl:when test="$name = 'h5'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
+ <xsl:when test="$name = 'h6'">#the-h1-h2-h3-h4-h5-and-h6-elements</xsl:when>
+ <xsl:when test="$name = 'head'">#the-head-element-0</xsl:when>
+ <xsl:when test="$name = 'html'">#the-html-element-0</xsl:when>
+ <xsl:when test="$name = 'menu'">#menus</xsl:when>
+ <xsl:when test="$name = 'script'">#script</xsl:when>
+ <xsl:when test="$name = 'sub'">#the-sub-and-sup-elements</xsl:when>
+ <xsl:when test="$name = 'sup'">#the-sub-and-sup-elements</xsl:when>
+ <xsl:when test="$name = 'title'">#the-title-element-0</xsl:when>
+ <xsl:when test="$name = 'video'">#video</xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat('#the-',$name,'-element')"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+ <xsl:template name="get-spec-filename">
+ <xsl:param name="ref"/>
+ <xsl:for-each select="document('../fragment-links.html')">
+ <xsl:choose>
+ <xsl:when test="key('filename-map',$ref)">
+ <xsl:value-of select="concat('http://dev.w3.org/html5/spec-author-view/',key('filename-map',$ref)/*[2])"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:for-each select="document('../fragment-links-full.html')">
+ <xsl:choose>
+ <xsl:when test="key('filename-map',$ref)">
+ <xsl:value-of select="concat('http://dev.w3.org/html5/spec/',key('filename-map',$ref)/*[2])"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>
+ <xsl:text> ** NOT FOUND: </xsl:text>
+ <xsl:value-of select="$ref"/>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:template>
+ <xsl:template name="get-idl">
+ <xsl:param name="interface"/>
+ <xsl:for-each select="document('../webapps.html')">
+ <xsl:copy-of select="key('interface-name',$interface)"/>
+ </xsl:for-each>
+ </xsl:template>
<!-- * ***************************************************************** -->
<!-- * * UTILITY TEMPLATES -->
<!-- * ***************************************************************** -->
@@ -3266,7 +3440,7 @@
<xsl:with-param name="replacement" select="$replacement"/>
</xsl:call-template>
</xsl:variable>
- <xsl:value-of select="concat(substring-before($string, $target), $replacement, $rest)"/>
+ <xsl:value-of select="concat(substring-before($string, $target),$replacement,$rest)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
@@ -3291,35 +3465,4 @@
<xsl:template match="node()[normalize-space(.)='empty']">
<span>empty (<a href="#void-element">void element</a>)</span>
</xsl:template>
- <xsl:template name="get-spec-filename">
- <xsl:param name="ref"/>
- <xsl:for-each select="document('../fragment-links.html')">
- <xsl:choose>
- <xsl:when test="key('filename-map',$ref)">
- <xsl:value-of select="concat('http://dev.w3.org/html5/spec-author-view/',key('filename-map',$ref)/*[2])"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:for-each select="document('../fragment-links-full.html')">
- <xsl:choose>
- <xsl:when test="key('filename-map',$ref)">
- <xsl:value-of select="concat('http://dev.w3.org/html5/spec/',key('filename-map',$ref)/*[2])"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:message>
- <xsl:text> ** NOT FOUND: </xsl:text>
- <xsl:value-of select="$ref"/>
- </xsl:message>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </xsl:template>
- <xsl:template name="get-idl">
- <xsl:param name="interface"/>
- <xsl:for-each select="document('../webapps.html')">
- <xsl:copy-of select="key('interface-name',$interface)"/>
- </xsl:for-each>
- </xsl:template>
</xsl:stylesheet>
Index: toc.xsl
===================================================================
RCS file: /sources/public/html5/markup/tools/toc.xsl,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- toc.xsl 24 Jul 2010 17:15:29 -0000 1.19
+++ toc.xsl 28 Jul 2010 16:07:34 -0000 1.20
@@ -70,14 +70,6 @@
<xsl:value-of select="concat($frag,'-toc')"/>
</xsl:attribute>
</xsl:if>
- <span class="toc-section-number">
- <xsl:if test="
- count($subsections) > 9 and 10 > $number
- and not(contains(@class,'no-number'))
- and not($prefix)">
- <xsl:text> </xsl:text>
- </xsl:if>
- </span>
<xsl:for-each select='(h:h2|h:h3|h:h4|h:h5|h:h6)/node()
[@class="spec-link"]
'>
@@ -88,18 +80,23 @@
<span class="toc-section-number">
<xsl:if test="not(contains(@class,'no-number'))">
<xsl:value-of select='$number'/>
- <xsl:text>.</xsl:text>
+ <xsl:text>. </xsl:text>
</xsl:if>
</span>
- <xsl:for-each select='(h:h2|h:h3|h:h4|h:h5|h:h6)/node()
- [not(normalize-space(.)="")]
- [not(contains(@class,"obsoleted-feature"))]
- [not(contains(@class,"changed-feature"))]
- [not(contains(@class,"new-feature"))]
- [not(@class="spec-link")]
- '>
- <xsl:copy-of select='.'/>
- </xsl:for-each>
+ <span class="toc-section-name">
+ <xsl:if test="not(contains(@class,'no-number'))">
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ <xsl:for-each select='(h:h2|h:h3|h:h4|h:h5|h:h6)/node()
+ [not(normalize-space(.)="")]
+ [not(contains(@class,"obsoleted-feature"))]
+ [not(contains(@class,"changed-feature"))]
+ [not(contains(@class,"new-feature"))]
+ [not(@class="spec-link")]
+ '>
+ <xsl:copy-of select='.'/>
+ </xsl:for-each>
+ </span>
</a>
<xsl:if test='(h:h2|h:h3|h:h4|h:h5|h:h6)/node()[contains(@class,"obsoleted-feature")]'>
<xsl:text> </xsl:text>
Index: chunker.xsl
===================================================================
RCS file: /sources/public/html5/markup/tools/chunker.xsl,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- chunker.xsl 5 Mar 2010 02:19:42 -0000 1.10
+++ chunker.xsl 28 Jul 2010 16:07:33 -0000 1.11
@@ -144,7 +144,13 @@
</xsl:choose>
</xsl:when>
<xsl:when test="contains($prev/@id,'-')">
- <xsl:value-of select="concat(substring-before($prev/@id,'-'),' ',substring-after($prev/@id,'-'))"/>
+ <xsl:call-template name="string.subst">
+ <xsl:with-param name="string" select="$prev/@id"/>
+ <xsl:with-param name="target">-</xsl:with-param>
+ <xsl:with-param name="replacement">
+ <xsl:text> </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$prev/@id"/>
@@ -170,7 +176,13 @@
</xsl:choose>
</xsl:when>
<xsl:when test="contains($next/@id,'-')">
- <xsl:value-of select="concat(substring-before($next/@id,'-'),' ',substring-after($next/@id,'-'))"/>
+ <xsl:call-template name="string.subst">
+ <xsl:with-param name="string" select="$next/@id"/>
+ <xsl:with-param name="target">-</xsl:with-param>
+ <xsl:with-param name="replacement">
+ <xsl:text> </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$next/@id"/>
@@ -220,7 +232,13 @@
</xsl:choose>
</xsl:when>
<xsl:when test="contains($prev/@id,'-')">
- <xsl:value-of select="concat(substring-before($prev/@id,'-'),' ',substring-after($prev/@id,'-'))"/>
+ <xsl:call-template name="string.subst">
+ <xsl:with-param name="string" select="$prev/@id"/>
+ <xsl:with-param name="target">-</xsl:with-param>
+ <xsl:with-param name="replacement">
+ <xsl:text> </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$prev/@id"/>
@@ -246,7 +264,13 @@
</xsl:choose>
</xsl:when>
<xsl:when test="contains($next/@id,'-')">
- <xsl:value-of select="concat(substring-before($next/@id,'-'),' ',substring-after($next/@id,'-'))"/>
+ <xsl:call-template name="string.subst">
+ <xsl:with-param name="string" select="$next/@id"/>
+ <xsl:with-param name="target">-</xsl:with-param>
+ <xsl:with-param name="replacement">
+ <xsl:text> </xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$next/@id"/>
@@ -395,6 +419,26 @@
</xsl:for-each>
</xsl:template>
+ <xsl:template name="string.subst">
+ <xsl:param name="string"/>
+ <xsl:param name="target"/>
+ <xsl:param name="replacement"/>
+ <xsl:choose>
+ <xsl:when test="contains($string, $target)">
+ <xsl:variable name="rest">
+ <xsl:call-template name="string.subst">
+ <xsl:with-param name="string" select="substring-after($string, $target)"/>
+ <xsl:with-param name="target" select="$target"/>
+ <xsl:with-param name="replacement" select="$replacement"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="concat(substring-before($string, $target),$replacement,$rest)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$string"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
<!-- * ***************************************************************** -->
<!-- * Acknowledgements -->
<!-- * ***************************************************************** -->
Received on Wednesday, 28 July 2010 16:07:39 UTC