aboutsummaryrefslogtreecommitdiffstats
path: root/docs/xml-docs/style
diff options
context:
space:
mode:
Diffstat (limited to 'docs/xml-docs/style')
-rw-r--r--docs/xml-docs/style/graphics/button-a.gifbin0 -> 179 bytes
-rw-r--r--docs/xml-docs/style/graphics/button-b.gifbin0 -> 154 bytes
-rw-r--r--docs/xml-docs/style/resources/bottom.gifbin0 -> 1075 bytes
-rw-r--r--docs/xml-docs/style/resources/button-asf-hi.gifbin0 -> 1535 bytes
-rw-r--r--docs/xml-docs/style/resources/button-asf-lo.gifbin0 -> 1519 bytes
-rw-r--r--docs/xml-docs/style/resources/button-w3c-hi.gifbin0 -> 1503 bytes
-rw-r--r--docs/xml-docs/style/resources/button-w3c-lo.gifbin0 -> 1495 bytes
-rw-r--r--docs/xml-docs/style/resources/button-xml-hi.gifbin0 -> 1464 bytes
-rw-r--r--docs/xml-docs/style/resources/button-xml-lo.gifbin0 -> 1458 bytes
-rw-r--r--docs/xml-docs/style/resources/close.gifbin0 -> 498 bytes
-rw-r--r--docs/xml-docs/style/resources/dot.gifbin0 -> 49 bytes
-rw-r--r--docs/xml-docs/style/resources/join.gifbin0 -> 1268 bytes
-rw-r--r--docs/xml-docs/style/resources/line.gifbin0 -> 924 bytes
-rw-r--r--docs/xml-docs/style/resources/logo.gifbin0 -> 3223 bytes
-rw-r--r--docs/xml-docs/style/resources/note.gifbin0 -> 295 bytes
-rw-r--r--docs/xml-docs/style/resources/right.gifbin0 -> 1202 bytes
-rw-r--r--docs/xml-docs/style/resources/script.js21
-rw-r--r--docs/xml-docs/style/resources/separator.gifbin0 -> 110 bytes
-rw-r--r--docs/xml-docs/style/resources/void.gifbin0 -> 49 bytes
-rw-r--r--docs/xml-docs/style/stylesheets/any2header.xsl29
-rw-r--r--docs/xml-docs/style/stylesheets/any2project.xsl21
-rw-r--r--docs/xml-docs/style/stylesheets/book2group.xsl34
-rw-r--r--docs/xml-docs/style/stylesheets/book2project.xsl257
-rw-r--r--docs/xml-docs/style/stylesheets/changes2document.xsl43
-rw-r--r--docs/xml-docs/style/stylesheets/context2footer.xsl29
-rw-r--r--docs/xml-docs/style/stylesheets/context2label.xsl25
-rw-r--r--docs/xml-docs/style/stylesheets/directory2project.xsl34
-rw-r--r--docs/xml-docs/style/stylesheets/document2html.xsl444
-rw-r--r--docs/xml-docs/style/stylesheets/faqs2document.xsl53
-rw-r--r--docs/xml-docs/style/stylesheets/group2document.xsl31
30 files changed, 1021 insertions, 0 deletions
diff --git a/docs/xml-docs/style/graphics/button-a.gif b/docs/xml-docs/style/graphics/button-a.gif
new file mode 100644
index 000000000..5d0b8c242
--- /dev/null
+++ b/docs/xml-docs/style/graphics/button-a.gif
Binary files differ
diff --git a/docs/xml-docs/style/graphics/button-b.gif b/docs/xml-docs/style/graphics/button-b.gif
new file mode 100644
index 000000000..06e03811a
--- /dev/null
+++ b/docs/xml-docs/style/graphics/button-b.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/bottom.gif b/docs/xml-docs/style/resources/bottom.gif
new file mode 100644
index 000000000..f39031efa
--- /dev/null
+++ b/docs/xml-docs/style/resources/bottom.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/button-asf-hi.gif b/docs/xml-docs/style/resources/button-asf-hi.gif
new file mode 100644
index 000000000..08b880a74
--- /dev/null
+++ b/docs/xml-docs/style/resources/button-asf-hi.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/button-asf-lo.gif b/docs/xml-docs/style/resources/button-asf-lo.gif
new file mode 100644
index 000000000..134580f37
--- /dev/null
+++ b/docs/xml-docs/style/resources/button-asf-lo.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/button-w3c-hi.gif b/docs/xml-docs/style/resources/button-w3c-hi.gif
new file mode 100644
index 000000000..3bf0be395
--- /dev/null
+++ b/docs/xml-docs/style/resources/button-w3c-hi.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/button-w3c-lo.gif b/docs/xml-docs/style/resources/button-w3c-lo.gif
new file mode 100644
index 000000000..d383d3dd9
--- /dev/null
+++ b/docs/xml-docs/style/resources/button-w3c-lo.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/button-xml-hi.gif b/docs/xml-docs/style/resources/button-xml-hi.gif
new file mode 100644
index 000000000..01d095ce4
--- /dev/null
+++ b/docs/xml-docs/style/resources/button-xml-hi.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/button-xml-lo.gif b/docs/xml-docs/style/resources/button-xml-lo.gif
new file mode 100644
index 000000000..5719c7ef0
--- /dev/null
+++ b/docs/xml-docs/style/resources/button-xml-lo.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/close.gif b/docs/xml-docs/style/resources/close.gif
new file mode 100644
index 000000000..48a9782ce
--- /dev/null
+++ b/docs/xml-docs/style/resources/close.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/dot.gif b/docs/xml-docs/style/resources/dot.gif
new file mode 100644
index 000000000..6227d1d86
--- /dev/null
+++ b/docs/xml-docs/style/resources/dot.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/join.gif b/docs/xml-docs/style/resources/join.gif
new file mode 100644
index 000000000..02e7611bb
--- /dev/null
+++ b/docs/xml-docs/style/resources/join.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/line.gif b/docs/xml-docs/style/resources/line.gif
new file mode 100644
index 000000000..fd25c3943
--- /dev/null
+++ b/docs/xml-docs/style/resources/line.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/logo.gif b/docs/xml-docs/style/resources/logo.gif
new file mode 100644
index 000000000..53538c3f6
--- /dev/null
+++ b/docs/xml-docs/style/resources/logo.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/note.gif b/docs/xml-docs/style/resources/note.gif
new file mode 100644
index 000000000..339422266
--- /dev/null
+++ b/docs/xml-docs/style/resources/note.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/right.gif b/docs/xml-docs/style/resources/right.gif
new file mode 100644
index 000000000..bcb50e386
--- /dev/null
+++ b/docs/xml-docs/style/resources/right.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/script.js b/docs/xml-docs/style/resources/script.js
new file mode 100644
index 000000000..ebadeb2b8
--- /dev/null
+++ b/docs/xml-docs/style/resources/script.js
@@ -0,0 +1,21 @@
+rolloverImagesOn=new Array();
+rolloverImagesOff=new Array();
+
+function rolloverOn(name) {
+ if(rolloverImagesOn[name]){
+ document.images[name].src=rolloverImagesOn[name].src;
+ }
+}
+
+function rolloverOff(name) {
+ if(rolloverImagesOff[name]){
+ document.images[name].src=rolloverImagesOff[name].src;
+ }
+}
+
+function rolloverLoad(name,on,off) {
+ rolloverImagesOn[name]=new Image();
+ rolloverImagesOn[name].src=on;
+ rolloverImagesOff[name]=new Image();
+ rolloverImagesOff[name].src=off;
+}
diff --git a/docs/xml-docs/style/resources/separator.gif b/docs/xml-docs/style/resources/separator.gif
new file mode 100644
index 000000000..e7749432f
--- /dev/null
+++ b/docs/xml-docs/style/resources/separator.gif
Binary files differ
diff --git a/docs/xml-docs/style/resources/void.gif b/docs/xml-docs/style/resources/void.gif
new file mode 100644
index 000000000..75b945d25
--- /dev/null
+++ b/docs/xml-docs/style/resources/void.gif
Binary files differ
diff --git a/docs/xml-docs/style/stylesheets/any2header.xsl b/docs/xml-docs/style/stylesheets/any2header.xsl
new file mode 100644
index 000000000..29cdf075f
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/any2header.xsl
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:param name="label"/>
+
+ <xsl:template match="/">
+ <image width="456" height="35" bgcolor="0086b2">
+ <xsl:apply-templates/>
+ </image>
+ </xsl:template>
+
+ <xsl:template match="s1|faqs|changes">
+ <xsl:variable name="title">
+ <xsl:if test="string-length(@title)=0">
+ <xsl:value-of select="$label"/>
+ </xsl:if>
+ <xsl:if test="string-length(@title)>0">
+ <xsl:value-of select="@title"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <text font="Arial" size="29" x="454" y="8" halign="right" valign="top" color="004080"
+ text="{$title}"/>
+ <text font="Arial" size="29" x="452" y="6" halign="right" valign="top" color="ffffff"
+ text="{$title}"/>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/any2project.xsl b/docs/xml-docs/style/stylesheets/any2project.xsl
new file mode 100644
index 000000000..d1253f11e
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/any2project.xsl
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:param name="label"/>
+
+ <xsl:template match="/">
+ <project>
+ <xsl:apply-templates/>
+ </project>
+ </xsl:template>
+
+ <xsl:template match="img">
+ <resource source="{@src}" target="images/{@src}"/>
+ </xsl:template>
+
+ <xsl:template match="node()">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/book2group.xsl b/docs/xml-docs/style/stylesheets/book2group.xsl
new file mode 100644
index 000000000..1c1f0498b
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/book2group.xsl
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:param name="id"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="book">
+ <group title="{group[attribute::id=$id]/@label}">
+ <xsl:apply-templates select="group[attribute::id=$id]/entry"/>
+ </group>
+ </xsl:template>
+
+ <xsl:template match="entry">
+ <entry id="{@id}" title="{document(concat('sbk:/sources/',@source))/faqs/@title}">
+ <xsl:apply-templates select="document(concat('sbk:/sources/',@source))/faqs/faq"/>
+ </entry>
+ </xsl:template>
+
+ <xsl:template match="faq">
+ <voice>
+ <xsl:if test="string-length(@title)=0">
+ <xsl:value-of select="q"/>
+ </xsl:if>
+ <xsl:if test="string-length(@title)>0">
+ <xsl:value-of select="@title"/>
+ </xsl:if>
+ </voice>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/book2project.xsl b/docs/xml-docs/style/stylesheets/book2project.xsl
new file mode 100644
index 000000000..2ac09c0ce
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/book2project.xsl
@@ -0,0 +1,257 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <!-- match the root book element -->
+ <xsl:template match="book">
+ <project>
+
+ <parameter name="copyright" value="{@copyright}"/>
+
+ <!-- copy all resources to the targets -->
+ <process source="sbk:/style/resources/" producer="directory">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/directory2project.xsl"/>
+ <parameter name="base" value="resources/"/>
+ </processor>
+ </process>
+
+ <xsl:apply-templates/>
+
+ </project>
+ </xsl:template>
+
+<!-- ********************************************************************** -->
+<!-- CREATE THE TARGET HTML -->
+<!-- ********************************************************************** -->
+
+ <xsl:template match="document">
+
+ <process source="{@source}" producer="parser">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/any2project.xsl"/>
+ </processor>
+ </process>
+
+ <xsl:call-template name="header">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="source" select="@source"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="labels">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
+ <processor name="xslt">
+ <parameter name="id" value="{@id}"/>
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/document2html.xsl"/>
+ </processor>
+ </create>
+ </xsl:template>
+
+ <xsl:template match="hidden">
+
+ <process source="{@source}" producer="parser">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/any2project.xsl"/>
+ </processor>
+ </process>
+
+ <xsl:call-template name="header">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="source" select="@source"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
+ <processor name="xslt">
+ <parameter name="id" value="{@id}"/>
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/document2html.xsl"/>
+ </processor>
+ </create>
+ </xsl:template>
+
+ <xsl:template match="faqs">
+
+ <process source="{@source}" producer="parser">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/any2project.xsl"/>
+ </processor>
+ </process>
+
+ <xsl:call-template name="header">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="source" select="@source"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="labels">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/faqs2document.xsl"/>
+ </processor>
+ <processor name="xslt">
+ <parameter name="id" value="{@id}"/>
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/document2html.xsl"/>
+ </processor>
+ </create>
+
+ </xsl:template>
+
+ <xsl:template match="changes">
+
+ <process source="{@source}" producer="parser">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/any2project.xsl"/>
+ </processor>
+ </process>
+
+ <xsl:call-template name="header">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="source" select="@source"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="labels">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/changes2document.xsl"/>
+ </processor>
+ <processor name="xslt">
+ <parameter name="id" value="{@id}"/>
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/document2html.xsl"/>
+ </processor>
+ </create>
+
+ </xsl:template>
+
+ <xsl:template match="group">
+ <xsl:apply-templates/>
+
+ <xsl:call-template name="header">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="source" select="@source"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <xsl:call-template name="labels">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <create source="" target="{@id}.html" producer="project" printer="html">
+ <parameter name="id" value="{@id}"/>
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/book2group.xsl"/>
+ </processor>
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/group2document.xsl"/>
+ </processor>
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/document2html.xsl"/>
+ </processor>
+ </create>
+
+ </xsl:template>
+
+ <xsl:template match="entry">
+
+ <process source="{@source}" producer="parser">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/any2project.xsl"/>
+ </processor>
+ </process>
+
+ <xsl:call-template name="header">
+ <xsl:with-param name="id" select="@id"/>
+ <xsl:with-param name="source" select="@source"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ <create source="{@source}" target="{@id}.html" producer="parser" printer="html">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/faqs2document.xsl"/>
+ </processor>
+ <processor name="xslt">
+ <parameter name="id" value="{@id}"/>
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/document2html.xsl"/>
+ </processor>
+ </create>
+
+ </xsl:template>
+
+ <xsl:template match="external">
+
+ <xsl:call-template name="labels">
+ <xsl:with-param name="id" select="concat('ext-',position())"/>
+ <xsl:with-param name="label" select="@label"/>
+ </xsl:call-template>
+
+ </xsl:template>
+<!-- ********************************************************************** -->
+<!-- NAMED TEMPLATES -->
+<!-- ********************************************************************** -->
+
+<!-- Generate the doument header image -->
+ <xsl:template name="header">
+ <xsl:param name="id"/>
+ <xsl:param name="source"/>
+ <xsl:param name="label"/>
+
+ <create source="{$source}" target="graphics/{$id}-header.jpg" producer="parser" printer="image">
+ <processor name="xslt">
+ <parameter name="label" value="{$label}"/>
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/any2header.xsl"/>
+ </processor>
+ </create>
+ </xsl:template>
+
+<!-- Generate the three rollover label images -->
+ <xsl:template name="labels">
+ <xsl:param name="id"/>
+ <xsl:param name="label"/>
+
+ <create source="" target="graphics/{$id}-label-1.jpg" producer="context" printer="image">
+ <parameter name="label" value="{$label}"/>
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/context2label.xsl"/>
+ <parameter name="image" value="sbk:/style/graphics/button-a.gif"/>
+ <parameter name="color" value="ffffff"/>
+ </processor>
+ </create>
+
+ <create source="" target="graphics/{$id}-label-2.jpg" producer="context" printer="image">
+ <parameter name="label" value="{$label}"/>
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/context2label.xsl"/>
+ <parameter name="image" value="sbk:/style/graphics/button-b.gif"/>
+ <parameter name="color" value="ffff00"/>
+ </processor>
+ </create>
+
+ <create source="" target="graphics/{$id}-label-3.jpg" producer="context" printer="image">
+ <parameter name="label" value="{$label}"/>
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/context2label.xsl"/>
+ <parameter name="image" value="sbk:/style/graphics/button-b.gif"/>
+ <parameter name="color" value="ffffff"/>
+ </processor>
+ </create>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/changes2document.xsl b/docs/xml-docs/style/stylesheets/changes2document.xsl
new file mode 100644
index 000000000..ed1f3f321
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/changes2document.xsl
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="changes">
+ <s1 title="{@title}">
+ <xsl:apply-templates/>
+ </s1>
+ </xsl:template>
+
+ <xsl:template match="release">
+ <s2 title="Release {@version} {@date}">
+ <br/><xsl:apply-templates/>
+ </s2>
+ </xsl:template>
+
+ <xsl:template match="features">
+ <s3 title="Features">
+ <ul><xsl:apply-templates/></ul>
+ </s3>
+ </xsl:template>
+
+ <xsl:template match="fixes">
+ <s3 title="Bugs fixed">
+ <ul><xsl:apply-templates/></ul>
+ </s3>
+ </xsl:template>
+
+ <xsl:template match="feat|fix">
+ <li><xsl:apply-templates/></li>
+ </xsl:template>
+
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/context2footer.xsl b/docs/xml-docs/style/stylesheets/context2footer.xsl
new file mode 100644
index 000000000..2fc8d5f9a
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/context2footer.xsl
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="context">
+ <image source="sbk:/style/graphics/footer.gif">
+ <xsl:apply-templates/>
+ </image>
+ </xsl:template>
+
+ <xsl:template match="parameter">
+ <xsl:if test="@name='copyright'">
+ <text font="Arial Bold" size="11" x="124" y="6" style="plain"
+ halign="left" valign="top" color="666699"
+ text="Copyright &#169; {@value}. All Rights Reserved."/>
+ <text font="Arial Bold" size="11" x="123" y="5" style="plain"
+ halign="left" valign="top" color="333366"
+ text="Copyright &#169; {@value}. All Rights Reserved."/>
+ <text font="Arial Bold" size="11" x="122" y="4" style="plain"
+ halign="left" valign="top" color="ffffff"
+ text="Copyright &#169; {@value}. All Rights Reserved."/>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/context2label.xsl b/docs/xml-docs/style/stylesheets/context2label.xsl
new file mode 100644
index 000000000..91b074a39
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/context2label.xsl
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:param name="image"/>
+ <xsl:param name="color"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="context">
+ <image source="{$image}">
+ <xsl:apply-templates/>
+ </image>
+ </xsl:template>
+
+ <xsl:template match="parameter">
+ <xsl:if test="@name='label'">
+ <text font="Arial" size="12" x="14" y="1" halign="left"
+ valign="top" color="{$color}" style="italic" text="{@value}"/>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/directory2project.xsl b/docs/xml-docs/style/stylesheets/directory2project.xsl
new file mode 100644
index 000000000..4995828df
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/directory2project.xsl
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:param name="base"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="directory">
+ <project>
+ <xsl:apply-templates/>
+ </project>
+ </xsl:template>
+
+ <xsl:template match="entry">
+
+ <xsl:if test="@directory!='true'">
+ <resource source="{@href}" target="{$base}{@href}"/>
+ </xsl:if>
+<!-- don't copy subdir to avoid copying proprietary CVS files
+ <xsl:if test="@directory='true'">
+ <process source="{@href}" producer="directory">
+ <processor name="xslt">
+ <parameter name="stylesheet" value="sbk:/style/stylesheets/directory2project.xsl"/>
+ <parameter name="base" value="{$base}{@href}"/>
+ </processor>
+ </process>
+ </xsl:if>
+-->
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/document2html.xsl b/docs/xml-docs/style/stylesheets/document2html.xsl
new file mode 100644
index 000000000..a3f924793
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/document2html.xsl
@@ -0,0 +1,444 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:param name="stylebook.project"/>
+ <xsl:param name="copyright"/>
+ <xsl:param name="id"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="s1">
+ <html>
+ <head>
+ <script language="JavaScript" type="text/javascript" src="resources/script.js"/>
+ <title><xsl:value-of select="@title"/></title>
+ </head>
+ <body text="#000000" link="#0000ff" vlink="#0000aa" alink="#ff0000"
+ topmargin="4" leftmargin="4" marginwidth="4" marginheight="4"
+ bgcolor="#ffffff">
+ <!-- THE TOP BAR (HEADER) -->
+ <table width="620" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td width="135" height="60" rowspan="3" valign="top" align="left">
+ <img width="135" height="60" src="resources/logo.gif" hspace="0" vspace="0" border="0"/></td>
+ <td width="456" height="5" valign="top" align="left" colspan="4">
+ <img width="456" height="5" src="resources/line.gif" hspace="0" vspace="0" border="0"/></td>
+ <td width="29" height="60" rowspan="3" valign="top" align="left">
+ <img width="29" height="60" src="resources/right.gif" hspace="0" vspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td width="456" height="35" valign="top" align="left" colspan="4" bgcolor="#0086b2">
+ <img src="graphics/{$id}-header.jpg" width="456" height="35" hspace="0" vspace="0" border="0" alt="{s1/@title}"/></td>
+ </tr>
+ <tr>
+ <td width="168" height="20" valign="top" align="left">
+ <img width="168" height="20" src="resources/bottom.gif" hspace="0" vspace="0" border="0"/></td>
+ <td width="96" height="20" valign="top" align="left">
+ <a href="http://xml.apache.org/" onMouseOver="rolloverOn('xml');" onMouseOut="rolloverOff('xml');" target="new">
+ <img alt="http://xml.apache.org/" width="96" height="20" src="resources/button-xml-lo.gif"
+ name="xml" hspace="0" vspace="0" border="0"
+ onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');"/>
+ </a>
+ </td>
+ <td width="96" height="20" valign="top" align="left">
+ <a href="http://www.apache.org/" onMouseOver="rolloverOn('asf');" onMouseOut="rolloverOff('asf');" target="new">
+ <img alt="http://www.apache.org/" width="96" height="20" src="resources/button-asf-lo.gif"
+ name="asf" hspace="0" vspace="0" border="0"
+ onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');"/>
+ </a>
+ </td>
+ <td width="96" height="20" valign="top" align="left">
+ <a href="http://www.w3.org/" onMouseOver="rolloverOn('w3c');" onMouseOut="rolloverOff('w3c');" target="new">
+ <img alt="http://www.w3.org/" width="96" height="20" src="resources/button-w3c-lo.gif"
+ name="w3c" hspace="0" vspace="0" border="0"
+ onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');"/>
+ </a>
+ </td>
+ </tr>
+ </table>
+ <!-- THE MAIN PANEL (SIDEBAR AND CONTENT) -->
+ <table width="620" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <!-- THE SIDE BAR -->
+ <td width="120" valign="top" align="left">
+ <img width="120" height="14" src="resources/join.gif" hspace="0" vspace="0" border="0"/><br/>
+ <xsl:apply-templates select="document($stylebook.project)"/>
+ <img width="120" height="14" src="resources/close.gif" hspace="0" vspace="0" border="0"/><br/>
+ </td>
+ <!-- THE CONTENT PANEL -->
+ <td width="500" valign="top" align="left">
+ <table border="0" cellspacing="0" cellpadding="3">
+ <tr><td><xsl:apply-templates/></td></tr>
+ </table>
+ </td>
+ </tr>
+ </table><br/>
+ <table width="620" border="0" cellspacing="0" cellpadding="0">
+ <tr><td bgcolor="#0086b2"><img src="images/dot.gif" width="1" height="1"/></td></tr>
+ <tr>
+ <td align="center"><font size="-1" color="#0086b2"><i>
+ Copyright &#169; <xsl:value-of select="$copyright"/>.
+ All Rights Reserved.
+ </i></font></td>
+ </tr>
+ </table>
+ </body>
+ </html>
+ </xsl:template>
+
+<!-- ###################################################################### -->
+<!-- book -->
+
+ <xsl:template match="book">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="document|faqs|changes|group">
+ <xsl:if test="@id=$id">
+ <img src="graphics/{@id}-label-1.jpg" width="120" height="12" hspace="0" vspace="0" border="0" alt="{@label}"/>
+ </xsl:if>
+ <xsl:if test="@id!=$id">
+ <a href="{@id}.html" onMouseOver="rolloverOn('side-{@id}');" onMouseOut="rolloverOff('side-{@id}');">
+ <img onLoad="rolloverLoad('side-{@id}','graphics/{@id}-label-2.jpg','graphics/{@id}-label-3.jpg');"
+ name="side-{@id}" src="graphics/{@id}-label-3.jpg" width="120" height="12" hspace="0" vspace="0" border="0" alt="{@label}"/>
+ </a>
+ </xsl:if>
+ <br/>
+ </xsl:template>
+
+ <xsl:template match="external">
+ <xsl:variable name="extid" select="concat('ext-',position())"/>
+ <a href="{@href}" onMouseOver="rolloverOn('side-{$extid}');" onMouseOut="rolloverOff('side-{$extid}');">
+ <img onLoad="rolloverLoad('side-{$extid}','graphics/{$extid}-label-2.jpg','graphics/{$extid}-label-3.jpg');"
+ name="side-{$extid}" src="graphics/{$extid}-label-3.jpg" width="120" height="12" hspace="0" vspace="0" border="0" alt="{@label}"/>
+ </a>
+ <br/>
+ </xsl:template>
+
+ <xsl:template match="separator">
+ <img src="resources/separator.gif" width="120" height="6" hspace="0" vspace="0" border="0"/><br/>
+ </xsl:template>
+
+
+<!-- ###################################################################### -->
+<!-- document -->
+
+ <xsl:template match="s2">
+ <table width="494" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td bgcolor="666699" colspan="2" width="494">
+ <table width="494" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td bgcolor="#039acc" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#039acc" width="492" height="1"><img src="resources/void.gif" width="492" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#039acc" width="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="492">
+ <font size="+1" face="arial,helvetica,sanserif" color="#ffffff">
+ <img src="resources/void.gif" width="2" height="2" vspace="0" hspace="0" border="0"/>
+ <b><xsl:value-of select="@title"/></b>
+ </font>
+ </td>
+ <td bgcolor="#017299" width="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#017299" width="492" height="1"><img src="resources/void.gif" width="492" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#017299" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td width="10">&#160;</td>
+ <td width="484">
+ <font face="arial,helvetica,sanserif" color="#000000">
+ <xsl:apply-templates/>
+ </font>
+ </td>
+ </tr>
+ </table>
+ <br/>
+ </xsl:template>
+
+ <xsl:template match="s3">
+ <table width="484" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td bgcolor="666699" colspan="2" width="484">
+ <table width="484" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td bgcolor="#039acc" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#039acc" width="482" height="1"><img src="resources/void.gif" width="482" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#039acc" width="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="482">
+ <font face="arial,helvetica,sanserif" color="#ffffff">
+ <img src="resources/void.gif" width="2" height="2" vspace="0" hspace="0" border="0"/>
+ <b><xsl:value-of select="@title"/></b>
+ </font>
+ </td>
+ <td bgcolor="#017299" width="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#017299" width="482" height="1"><img src="resources/void.gif" width="482" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#017299" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td width="10">&#160;</td>
+ <td width="474">
+ <font size="-1" face="arial,helvetica,sanserif" color="#000000">
+ <xsl:apply-templates/>
+ </font>
+ </td>
+ </tr>
+ </table>
+ <br/>
+ </xsl:template>
+
+ <xsl:template match="s4">
+ <table width="474" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td bgcolor="666699" colspan="2" width="484">
+ <table width="474" cellspacing="0" cellpadding="0" border="0">
+ <tr>
+ <td bgcolor="#039acc" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#039acc" width="472" height="1"><img src="resources/void.gif" width="472" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#039acc" width="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="472">
+ <font size="-1" face="arial,helvetica,sanserif" color="#ffffff">
+ <img src="resources/void.gif" width="2" height="2" vspace="0" hspace="0" border="0"/>
+ <b><xsl:value-of select="@title"/></b>
+ </font>
+ </td>
+ <td bgcolor="#017299" width="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#017299" width="472" height="1"><img src="resources/void.gif" width="472" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#017299" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td width="10">&#160;</td>
+ <td width="464">
+ <font size="-1" face="arial,helvetica,sanserif" color="#000000">
+ <xsl:apply-templates/>
+ </font>
+ </td>
+ </tr>
+ </table>
+ <br/>
+ </xsl:template>
+
+<!-- ###################################################################### -->
+<!-- blocks -->
+
+ <xsl:template match="p">
+ <p><xsl:apply-templates/></p>
+ </xsl:template>
+
+ <xsl:template match="note">
+ <table width="100%" cellspacing="3" cellpadding="0" border="0">
+ <tr>
+ <td width="20" valign="top">
+ <img src="resources/note.gif" width="20" height="24" vspace="0" hspace="0" border="0" alt="Note"/>
+ </td>
+ <td valign="top">
+ <font size="-1" face="arial,helvetica,sanserif" color="#000000">
+ <i>
+ <xsl:apply-templates/>
+ </i>
+ </font>
+ </td>
+ </tr>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="ul">
+ <ul><xsl:apply-templates/></ul>
+ </xsl:template>
+
+ <xsl:template match="ol">
+ <ol><xsl:apply-templates/></ol>
+ </xsl:template>
+
+ <xsl:template match="li">
+ <li><xsl:apply-templates/></li>
+ </xsl:template>
+
+ <!--Definition lists: gloss, term, label, item -->
+ <xsl:template match="gloss">
+ <dl><xsl:apply-templates/></dl>
+ </xsl:template>
+ <!-- <term> contains a single-word, multi-word or symbolic
+ designation which is regarded as a technical term. -->
+ <xsl:template match="term">
+ <dfn><xsl:apply-templates/></dfn>
+ </xsl:template>
+ <xsl:template match="label" priority="1">
+ <dt><xsl:apply-templates/></dt>
+ </xsl:template>
+ <xsl:template match="item" priority="2">
+ <dd>
+ <xsl:apply-templates/>
+ </dd>
+ </xsl:template>
+
+ <xsl:template match="source">
+ <div align="right">
+ <table width="464" cellspacing="4" cellpadding="0" border="0">
+ <tr>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="462" height="1"><img src="resources/void.gif" width="462" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#0086b2" width="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#ffffff" width="462">
+ <font size="-1"><pre><xsl:apply-templates/></pre></font>
+ </td>
+ <td bgcolor="#0086b2" width="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ <tr>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="462" height="1"><img src="resources/void.gif" width="462" height="1" vspace="0" hspace="0" border="0"/></td>
+ <td bgcolor="#0086b2" width="1" height="1"><img src="resources/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
+ </tr>
+ </table>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="table">
+ <table width="100%" border="0" cellspacing="2" cellpadding="2">
+ <xsl:apply-templates/>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="tr">
+ <tr><xsl:apply-templates/></tr>
+ </xsl:template>
+
+ <xsl:template match="th">
+ <td bgcolor="#039acc" colspan="{@colspan}" rowspan="{@rowspan}" valign="center" align="center">
+ <font color="#ffffff" size="-1" face="arial,helvetica,sanserif">
+ <b><xsl:apply-templates/></b>&#160;
+ </font>
+ </td>
+ </xsl:template>
+
+ <xsl:template match="td">
+ <td bgcolor="#a0ddf0" colspan="{@colspan}" rowspan="{@rowspan}" valign="top" align="left">
+ <font color="#000000" size="-1" face="arial,helvetica,sanserif">
+ <xsl:apply-templates/>&#160;
+ </font>
+ </td>
+ </xsl:template>
+
+ <xsl:template match="tn">
+ <td bgcolor="#ffffff" colspan="{@colspan}" rowspan="{@rowspan}">
+ &#160;
+ </td>
+ </xsl:template>
+
+<!-- ###################################################################### -->
+<!-- markup -->
+
+ <xsl:template match="em">
+ <b><xsl:apply-templates/></b>
+ </xsl:template>
+
+ <xsl:template match="ref">
+ <i><xsl:apply-templates/></i>
+ </xsl:template>
+
+ <xsl:template match="code">
+ <code><font face="courier, monospaced"><xsl:apply-templates/></font></code>
+ </xsl:template>
+
+ <xsl:template match="br">
+ <br/>
+ </xsl:template>
+
+<!-- ###################################################################### -->
+<!-- links -->
+
+ <xsl:template match="link">
+ <xsl:if test="string-length(@anchor)=0">
+ <xsl:if test="string-length(@idref)=0">
+ <xsl:apply-templates/>
+ </xsl:if>
+ <xsl:if test="string-length(@idref)>0">
+ <a href="{@idref}.html"><xsl:apply-templates/></a>
+ </xsl:if>
+ </xsl:if>
+
+ <xsl:if test="string-length(@anchor)>0">
+ <xsl:if test="string-length(@idref)=0">
+ <a href="#{@anchor}"><xsl:apply-templates/></a>
+ </xsl:if>
+ <xsl:if test="string-length(@idref)>0">
+ <a href="{@idref}.html#{@anchor}"><xsl:apply-templates/></a>
+ </xsl:if>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="anchor">
+ <a name="{@name}"><xsl:comment>anchor</xsl:comment></a>
+ </xsl:template>
+
+ <xsl:template match="jump">
+ <a href="{@href}"><xsl:apply-templates/></a>
+ </xsl:template>
+
+ <xsl:template match="img">
+ <img src="images/{@src}" border="0" vspace="4" hspace="4" align="right"/>
+ </xsl:template>
+
+ <xsl:template match="resource-ref">
+ <xsl:variable name="resourceFile"
+ select="document($stylebook.project)/book/resources/@source"/>
+ <xsl:variable name="xref" select="@idref"/>
+ <xsl:variable name="href"
+ select="document($resourceFile)/resources/resource[@id=$xref]/@location"/>
+ <xsl:variable name="label"
+ select="document($resourceFile)/resources/resource[@id=$xref]/@title"/>
+ <A href="{$href}" target="_top"><xsl:value-of select="$label"/></A>
+ </xsl:template>
+
+ <xsl:template match="human-resource-ref">
+ <xsl:variable name="resourceFile"
+ select="document($stylebook.project)/book/resources/@source"/>
+ <xsl:variable name="ref" select="@idref"/>
+ <xsl:variable name="mailto"
+ select="document($resourceFile)/resources/human-resource[@id=$ref]/@mailto"/>
+ <xsl:variable name="name"
+ select="document($resourceFile)/resources/human-resource[@id=$ref]/@name"/>
+ <A href="mailto:{$mailto}"><xsl:value-of select="$name"/></A>
+ </xsl:template>
+
+<!-- ###################################################################### -->
+<!-- copy
+
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+-->
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/faqs2document.xsl b/docs/xml-docs/style/stylesheets/faqs2document.xsl
new file mode 100644
index 000000000..4a9d3938e
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/faqs2document.xsl
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="faqs">
+ <s1 title="{@title}">
+ <s2 title="Questions">
+ <ul>
+ <xsl:apply-templates select="faq" mode="index"/>
+ </ul>
+ </s2>
+ <s2 title="Answers">
+ <br/>
+ <xsl:apply-templates select="faq"/>
+ </s2>
+ </s1>
+ </xsl:template>
+
+ <xsl:template match="faq" mode="index">
+ <li>
+ <link anchor="faq-{position()}">
+ <xsl:if test="string-length(@title)=0">
+ <xsl:value-of select="q"/>
+ </xsl:if>
+ <xsl:if test="string-length(@title)>0">
+ <xsl:value-of select="@title"/>
+ </xsl:if>
+ </link>
+ </li>
+ </xsl:template>
+
+ <xsl:template match="faq">
+ <anchor name="faq-{position()}"/>
+ <s3 title="{q}">
+ <xsl:apply-templates select="a"/>
+ </s3>
+ </xsl:template>
+
+ <xsl:template match="a">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/xml-docs/style/stylesheets/group2document.xsl b/docs/xml-docs/style/stylesheets/group2document.xsl
new file mode 100644
index 000000000..533fa9216
--- /dev/null
+++ b/docs/xml-docs/style/stylesheets/group2document.xsl
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match="group">
+ <s1 title="{@title}">
+ <xsl:apply-templates/>
+ </s1>
+ </xsl:template>
+
+ <xsl:template match="entry">
+ <s2 title="{@title}">
+ <p>
+ Read the <link idref="{@id}"><xsl:value-of select="@title"/></link>
+ document or jump directly to:
+ </p>
+ <ul>
+ <xsl:apply-templates/>
+ </ul>
+ </s2>
+ </xsl:template>
+
+ <xsl:template match="voice">
+ <li><link idref="{ancestor::*/@id}" anchor="faq-{position()}"><xsl:apply-templates/></link></li>
+ </xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file