Author: ben
Date: 2007-10-15 12:18:46 -0700 (Mon, 15 Oct 2007)
New Revision: 6846

Modified:
   openlaszlo/branches/paperpie/docs/includes/docbook.css
   openlaszlo/branches/paperpie/docs/includes/styles.css
   openlaszlo/branches/paperpie/docs/src/xsl/js2doc2dbk.xsl
   openlaszlo/branches/paperpie/docs/src/xsl/js2doc2dbk/synopsis.xsl
   openlaszlo/branches/paperpie/docs/src/xsl/simple-driver.xsl
   openlaszlo/branches/paperpie/docs/src/xsl/synop-javascript.xsl
Log:
Change 20071015-ben-m by [EMAIL PROTECTED] on 2007-10-15 10:58:30 PDT
    in /Users/ben/src/svn/openlaszlo/branches/paperpie
    for http://svn.openlaszlo.org/openlaszlo/branches/paperpie

Summary: Make reference list more like the 3.4 attribute list

Details: 

Make the reference look more like the 3.4 reference, in these ways: 

Format attribute list as table, with type (tag) and type (js), but 
lacking usage and category, as the specification for these is not
yet clear. 

Format list of methods more succinctly - take out listing
javascript and lzx signatures separately. List parameters
in a table, with name, type, and description. Note that static 
methods are not currently listed. 

Format list of events as in 3.4 reference, with name and
description. 

Remove LZX synopsis and JavaScript synopsis. 

Issues introduced with this checkin: 
* Several cosmetic issues regarding table formatting in
parameter list, attribute list, and events list. 
* More code duplication than is desirable; this 
should be refactored to do less code-duplication, 
but my knowledge of the overall xslt architecture isn't
yet good enough to do this well. 


Tests:
cd docs/src; ant clean reference



Modified: openlaszlo/branches/paperpie/docs/includes/docbook.css
===================================================================
--- openlaszlo/branches/paperpie/docs/includes/docbook.css      2007-10-15 
18:28:13 UTC (rev 6845)
+++ openlaszlo/branches/paperpie/docs/includes/docbook.css      2007-10-15 
19:18:46 UTC (rev 6846)
@@ -7,14 +7,14 @@
 @import "styles.css";
 
 div.book, div.chapter, div.part, div.preface, div.appendix, div.index, 
div.glossary,  div.reference {
-    padding-left : 10;
-    padding-top : 20;
-    padding-right : 10;
+    padding-left : 10px;
+    padding-top : 20px;
+    padding-right : 10px;
 }
 
 div.refentry {
-    padding-left : 10;
-    padding-right : 10;
+    padding-left : 10px;
+    padding-right : 10px;
 }
 
 .toc .section {
@@ -24,7 +24,7 @@
     line-height : 18px;
     font-weight : normal;
     color: #333399;
-    margin-left : 10;
+    margin-left : 10px;
 }
 
 .toc dl dd {
@@ -39,6 +39,7 @@
     vertical-align: top;
 }
 
+
 .remark {
     background-color: yellow;
 }
@@ -48,6 +49,7 @@
     margin-top: -5px;
 }
 
+
 .refnamediv {
   margin-top: 20px;
   margin-bottom: 30px;
@@ -80,7 +82,7 @@
 
 /* This substitutes for turning on shade.verbatim in parameters.xsl */
 pre.programlisting {
-  background-color: #DDDDDD ;
+  background-color: #DDDDDD;
   border: 1px solid #7b839a ;
   padding: 1em;
 }
@@ -88,7 +90,7 @@
 em.lineannotation {
   font-style: italic ;
   font-weight: normal ;
-  color: inherit ;
+  color: inherit;
 }
 
 /* Emphasis inside a program listing is bold blue, instead of italic */
@@ -142,6 +144,44 @@
   padding-right: 3px;
 }
 
+/* Tables */ 
+.refentry .table {    
+    table-layout: fixed;
+    width: 100%;
+}
+
+.refentry .table thead {
+    color:#333333;
+    font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;
+    font-size:10px;
+    font-weight:bold;    
+}
+
+.refentry .table td {
+    font-size: 10px;
+}
+
+.refentry .table thead tr {
+    background-color: #e6e6e6;
+    font-size: 10px;    
+}
+
+.refentry td {
+    border-bottom-width: 1px;
+}
+
+.refentry .table thead th {
+    background-color: #e6e6e6;
+    font-size: 10px;
+}
+
+
+.refentry .table .fieldsynopsis {
+    font-size: 12px;
+    line-height:16px;
+    color: purple;
+}
+
 /* Segmented Lists */
 
 .segmentedlist > .title {

Modified: openlaszlo/branches/paperpie/docs/includes/styles.css
===================================================================
--- openlaszlo/branches/paperpie/docs/includes/styles.css       2007-10-15 
18:28:13 UTC (rev 6845)
+++ openlaszlo/branches/paperpie/docs/includes/styles.css       2007-10-15 
19:18:46 UTC (rev 6846)
@@ -73,18 +73,21 @@
 }
 
 dt {
+    background-color: #EEEEEE;
+    padding-left: 2px;
+    padding-top: 2px;
+    padding-bottom: 2px;
     font-size : 11px;
     line-height : 14px;
     font-weight : bold;
     color: #1F1F1F;
-    margin-left : 10px;
 }
 
 dd {
     line-height : 14px;
     padding-bottom : 5px;
-    padding-left : 45px;
-    margin-left: 10px;
+    font-size: 10px;
+    margin-left: 0px;
 }
 
 

Modified: openlaszlo/branches/paperpie/docs/src/xsl/js2doc2dbk/synopsis.xsl
===================================================================
--- openlaszlo/branches/paperpie/docs/src/xsl/js2doc2dbk/synopsis.xsl   
2007-10-15 18:28:13 UTC (rev 6845)
+++ openlaszlo/branches/paperpie/docs/src/xsl/js2doc2dbk/synopsis.xsl   
2007-10-15 19:18:46 UTC (rev 6846)
@@ -159,7 +159,36 @@
       <xsl:param name="id" select="@id"/>
       <xsl:param name="static" select="false()" />
       <xsl:param name="prototype" select="false()"/>
+      <methodsynopsis language="{$language}"> 
+        <xsl:choose>
+          <xsl:when test="$add-link = true()">
+            <methodname><link linkend="{$id}"><xsl:value-of 
select="@name"/></link></methodname>
+          </xsl:when>
+          <xsl:otherwise>
+            <methodname><xsl:value-of select="@name"/></methodname>
+          </xsl:otherwise>
+        </xsl:choose>
+        <xsl:for-each select="function/parameter">
+          <methodparam>
+            <parameter><xsl:value-of select="@name"/></parameter>
+            <xsl:if test="@type"><type role="javascript"><xsl:value-of 
select="@type"/></type></xsl:if>
+          </methodparam>
+        </xsl:for-each>        
+      </methodsynopsis>
+    </xsl:template>
+  
+    <!-- Hide this template, without turning it off, by putting it into the 
mode
+      "jgrandy-synopsis". We don't want to delete the code because it's 
probably
+      very tasty, but we also don't want to execute it right now. 
+      [bshine 10.12.2007] --> 
+    <xsl:template match="property[child::function]" mode="jgrandy-synopsis">
+      <xsl:param name="add-link"/>
+      <xsl:param name="language"/>
+      <xsl:param name="id" select="@id"/>
+      <xsl:param name="static" select="false()" />
+      <xsl:param name="prototype" select="false()"/>
       <methodsynopsis language="{$language}">
+        <xsl:text></xsl:text>      
         <xsl:if test="$static"><modifier>static</modifier></xsl:if>
         <xsl:if test="$prototype"><modifier>prototype</modifier></xsl:if>
         <xsl:if test="@access"><modifier><xsl:value-of 
select="@access"/></modifier></xsl:if>
@@ -194,6 +223,7 @@
       <xsl:param name="id" select="@id"/>
       <xsl:param name="static" select="true()"/>
       <methodsynopsis language="{$language}">
+        <xsl:text></xsl:text>            
         <xsl:if test="returns"><type role="javascript"><xsl:value-of 
select="returns/@type"/></type></xsl:if>
         <xsl:choose>
           <xsl:when test="$add-link = true()">

Modified: openlaszlo/branches/paperpie/docs/src/xsl/js2doc2dbk.xsl
===================================================================
--- openlaszlo/branches/paperpie/docs/src/xsl/js2doc2dbk.xsl    2007-10-15 
18:28:13 UTC (rev 6845)
+++ openlaszlo/branches/paperpie/docs/src/xsl/js2doc2dbk.xsl    2007-10-15 
19:18:46 UTC (rev 6846)
@@ -10,6 +10,8 @@
 
 <!ENTITY tagname        '(doc/[EMAIL PROTECTED]"lzxname"]/text)'>
 <!ENTITY shortdesc      '(doc/[EMAIL PROTECTED]"shortdesc"]/text)'>
+<!ENTITY lzxtype        '(doc/[EMAIL PROTECTED]"lzxtype"]/text)'>
+<!ENTITY lzxdefault     '(doc/[EMAIL PROTECTED]"lzxdefault"]/text)'>
 
 <!ENTITY commonname     '(self::node()/@name | self::node()/doc/[EMAIL 
PROTECTED]"lzxname"]/text)[1]'>
 
@@ -33,7 +35,22 @@
     <xsl:param name="visibility.filter" select="'public'"/>
     <xsl:param name="show.devnotes" 
select="contains($visibility.filter,'private')"/>
     <xsl:param name="show.fixmes" 
select="contains($visibility.filter,'private')"/>
-        
+  
+    <!-- These params control the presentation of attributes, methods, and 
events
+      using a javascript-oriented syntax and approach. -->
+    <xsl:param name="show.members.attributes" select="true()" />
+    <xsl:param name="show.properties.static" select="false()" />
+    <xsl:param name="show.methods.static" select="false()" />  
+    <xsl:param name="show.events.static" select="false()" />
+    <xsl:param name="show.inherited.attributes" select="true()" />
+    <xsl:param name="show.setters" select="false()" />    
+    <xsl:param name="show.prototype.methods" select="true()" />
+    <xsl:param name="show.prototype.events" select="true()" />
+    <xsl:param name="show.prototype.properties" select="false()" />
+    <xsl:param name="show.init.args" select="false()" />
+    <xsl:param name="show.lzx.synopsis" select="false()" />
+    <xsl:param name="show.js.synopsis" select="false()" />
+    
     <xsl:key name="id" match="*" use="@id"/>
     <xsl:key name="unitid" match="*" use="@unitid"/>
     <xsl:key name="topic" match="property" use="@topic"/>
@@ -203,91 +220,111 @@
         <xsl:variable name="ovars" 
select="&objectvalue;/property[not(&privateslot;) and &isvisible;]"/>
         
         <!-- Static Properties -->
-        <xsl:call-template name="describe-members">
-          <xsl:with-param name="members" select="$ovars[not(child::function) 
and not(@type='LzEvent')]"/>
-          <xsl:with-param name="static" select="true()"/>
-          <xsl:with-param name="title" select="'Static Properties'"/>
-        </xsl:call-template>
+        <xsl:if test="$show.properties.static">
+          <xsl:call-template name="describe-members">
+            <xsl:with-param name="members" select="$ovars[not(child::function) 
and not(@type='LzEvent')]"/>
+            <xsl:with-param name="static" select="true()"/>
+            <xsl:with-param name="title" select="'Static Properties'"/>
+          </xsl:call-template>
+        </xsl:if>          
 
-        <!-- Static Methods -->        
+        <!-- Static Methods -->
+        <xsl:if test="$show.methods.static">
         <xsl:call-template name="describe-members">
           <xsl:with-param name="members" select="$ovars[child::function]"/>
           <xsl:with-param name="static" select="true()"/>
           <xsl:with-param name="title" select="'Static Methods'"/>
         </xsl:call-template>
+        </xsl:if>  
 
-        <!-- Static Events -->        
-        <xsl:call-template name="describe-members">
-          <xsl:with-param name="members" select="[EMAIL PROTECTED]'LzEvent']"/>
-          <xsl:with-param name="static" select="true()"/>
-          <xsl:with-param name="title" select="'Static Events'"/>
-        </xsl:call-template>
+        <!-- Static Events -->
+        <xsl:if test="$show.events.static">
+          <xsl:call-template name="describe-members">
+            <xsl:with-param name="members" select="[EMAIL 
PROTECTED]'LzEvent']"/>
+            <xsl:with-param name="static" select="true()"/>
+            <xsl:with-param name="title" select="'Static Events'"/>
+          </xsl:call-template>
+        </xsl:if>  
+        
+        <!-- Initialization Arguments -->
+        <xsl:if test="$show.init.args">
+          <xsl:call-template name="describe-members">
+            <xsl:with-param name="members" select="&classvalue;/initarg"/>
+            <xsl:with-param name="title">
+              <xsl:choose>
+                <xsl:when test="$lzxname"><xsl:value-of select="'Initial 
Attributes'"/></xsl:when>
+                <xsl:otherwise><xsl:value-of select="'Constructor 
Arguments'"/></xsl:otherwise>
+              </xsl:choose>
+            </xsl:with-param>
+            <xsl:with-param name="subtitle">
+              <xsl:choose>
+                <xsl:when test="$lzxname"><xsl:value-of select="'Initial 
Attributes are given as attributes in LZX but are not generally available as 
properties in JavaScript.'"/></xsl:when>
+              </xsl:choose>
+            </xsl:with-param>
+          </xsl:call-template>
+        </xsl:if>
 
-        <!-- Initialization Arguments -->        
-        <xsl:call-template name="describe-members">
-          <xsl:with-param name="members" select="&classvalue;/initarg"/>
-          <xsl:with-param name="title">
-            <xsl:choose>
-              <xsl:when test="$lzxname"><xsl:value-of select="'Initial 
Attributes'"/></xsl:when>
-              <xsl:otherwise><xsl:value-of select="'Constructor 
Arguments'"/></xsl:otherwise>
-            </xsl:choose>
-          </xsl:with-param>
-          <xsl:with-param name="subtitle">
-            <xsl:choose>
-              <xsl:when test="$lzxname"><xsl:value-of select="'Initial 
Attributes are given as attributes in LZX but are not generally available as 
properties in JavaScript.'"/></xsl:when>
-            </xsl:choose>
-          </xsl:with-param>
-        </xsl:call-template>
-
-        <!-- Properties -->        
-        <xsl:call-template name="describe-members">
-          <xsl:with-param name="members" select="$ivars"/>
-          <xsl:with-param name="title" select="'Attributes'"/>
-        </xsl:call-template>
+        <!-- Properties -->    
+        <xsl:if test="$show.members.attributes">
+          <xsl:call-template name="describe-members">
+            <xsl:with-param name="members" select="$ivars | 
&classvalue;/initarg"/>
+            <xsl:with-param name="title" select="'Attributes'"/>
+          </xsl:call-template>
+        </xsl:if>  
         
-        <!-- Inherited Attributes --> 
-        <xsl:call-template name="describe-inherited-attributes">
-          <xsl:with-param name="class" select="class"></xsl:with-param>
-        </xsl:call-template>
+        <!-- Inherited Attributes -->
+        <xsl:if test="$show.inherited.attributes">
+          <xsl:call-template name="describe-inherited-attributes">
+            <xsl:with-param name="class" select="class"></xsl:with-param>
+          </xsl:call-template>
+        </xsl:if> 
         
-        <!-- Setters -->        
-        <xsl:call-template name="describe-members">
-          <xsl:with-param name="members" select="$svars"/>
-          <xsl:with-param name="title" select="'Setters'"/>
-          <xsl:with-param name="subtitle">
-            <xsl:text>Setters for virtual properties, to be used with 
setAttribute. A setter may or may not have a corresponding getter method; 
consult the Methods list in this section.</xsl:text>
-          </xsl:with-param>
-          <xsl:with-param name="describe-js" select="false()"/>
-          <xsl:with-param name="describe-lzx" select="false()"/>
-        </xsl:call-template>
-
-        <!-- (Prototype) Methods -->        
-        <xsl:call-template name="describe-members">
-          <xsl:with-param name="members" select="$pvars[child::function]"/>
-          <xsl:with-param name="title" select="'Methods'"/>
-        </xsl:call-template>
+        <!-- Setters -->
+        <xsl:if test="$show.setters">
+          <xsl:call-template name="describe-members">
+            <xsl:with-param name="members" select="$svars"/>
+            <xsl:with-param name="title" select="'Setters'"/>
+            <xsl:with-param name="subtitle">
+              <xsl:text>Setters for virtual properties, to be used with 
setAttribute. A setter may or may not have a corresponding getter method; 
consult the Methods list in this section.</xsl:text>
+            </xsl:with-param>
+            <xsl:with-param name="describe-js" select="false()"/>
+            <xsl:with-param name="describe-lzx" select="false()"/>
+          </xsl:call-template>
+        </xsl:if>  
         
+        <!-- (Prototype) Methods -->
+        <xsl:if test="$show.prototype.methods">
+          <xsl:call-template name="describe-members">
+            <xsl:with-param name="members" select="$pvars[child::function]"/>
+            <xsl:with-param name="title" select="'Methods'"/>
+          </xsl:call-template>
+        </xsl:if>  
+        
         <!-- Inherited Methods --> 
         <xsl:call-template name="describe-inherited-methods">
           <xsl:with-param name="class" select="class"></xsl:with-param>
         </xsl:call-template>            
-
-        <!-- (Prototype) Events -->        
-        <xsl:call-template name="describe-members">
-          <xsl:with-param name="members" select="[EMAIL PROTECTED]'LzEvent']"/>
-          <xsl:with-param name="title" select="'Events'"/>
-        </xsl:call-template>
         
+        <!-- (Prototype) Events -->
+        <xsl:if test="$show.prototype.events">
+          <xsl:call-template name="describe-events">
+            <xsl:with-param name="members" select="[EMAIL 
PROTECTED]'LzEvent']"/>
+            <xsl:with-param name="title" select="'Events'"/>
+          </xsl:call-template>
+        </xsl:if>
+        
         <!-- Inherited Events --> 
         <xsl:call-template name="describe-inherited-events">
           <xsl:with-param name="class" select="class"></xsl:with-param>
         </xsl:call-template>    
-
+        
         <!-- Prototype Properties -->
-        <xsl:call-template name="describe-members">
-          <xsl:with-param name="members" select="$pvars[not(child::function) 
and not(@type='LzEvent')]"/>
-          <xsl:with-param name="title" select="'Prototype Properties'"/>
-        </xsl:call-template>
+        <xsl:if test="$show.prototype.properties">
+          <xsl:call-template name="describe-members">
+            <xsl:with-param name="members" select="$pvars[not(child::function) 
and not(@type='LzEvent')]"/>
+            <xsl:with-param name="title" select="'Prototype Properties'"/>
+          </xsl:call-template>
+        </xsl:if>  
         
       </refsect1>
     </xsl:template>
@@ -295,7 +332,7 @@
     <xsl:template match="property" mode="detailed-synopsis">
         <xsl:variable name="jsname" select="@name"/>
         <xsl:variable name="lzxname" select="&tagname;"/>
-        <xsl:if test="$lzxname">
+        <xsl:if test="$lzxname and $show.lzx.synopsis">
           <refsect1><title>LZX Synopsis</title>
             <xsl:apply-templates select="." mode="synopsis">
               <xsl:with-param name="add-link" select="false()"/>
@@ -305,7 +342,7 @@
             </xsl:apply-templates>
           </refsect1>
         </xsl:if>
-        <xsl:if test="$jsname">
+        <xsl:if test="$jsname and $show.js.synopsis">
           <refsect1><title>JavaScript Synopsis</title>
             <xsl:apply-templates select="." mode="synopsis">
               <xsl:with-param name="add-link" select="false()"/>
@@ -320,29 +357,162 @@
     <xsl:template match="*" mode="refentry-details">
     </xsl:template>
 
-    <xsl:template name="describe-members">
-      <xsl:param name="members"/>
-      <xsl:param name="static"/>
-      <xsl:param name="title"/>
-      <xsl:param name="subtitle"/>
-      <xsl:param name="describe-js" select="boolean(@name)"/>
-      <xsl:param name="describe-lzx" select="boolean(&tagname;)"/>
-      <xsl:variable name="visible-members" 
select="$members[contains($visibility.filter,@access)]"/>
-      <xsl:if test="count($visible-members) > 0">
-        <variablelist>
-          <title><xsl:value-of select="$title"/> (<xsl:value-of 
select="count($visible-members)"/>)</title>
-          <xsl:if test="$subtitle"><para><xsl:value-of 
select="$subtitle"/></para></xsl:if>
-          <xsl:for-each select="$visible-members">
-            <xsl:sort select="translate(@name,'_$','  ')"/>
-            <xsl:apply-templates select="." mode="describe-member">
-              <xsl:with-param name="static" select="$static"/>
-              <xsl:with-param name="describe-js" select="$describe-js"/>
-              <xsl:with-param name="describe-lzx" select="$describe-lzx"/>
-            </xsl:apply-templates>
-          </xsl:for-each>
-        </variablelist>
-      </xsl:if>
-    </xsl:template>
+  <xsl:template name="describe-members">
+    <xsl:param name="members"/>
+    <xsl:param name="static"/>
+    <xsl:param name="title"/>
+    <xsl:param name="subtitle"/>
+    <xsl:param name="describe-js" select="boolean(@name)"/>
+    <xsl:param name="describe-lzx" select="boolean(&tagname;)"/>
+    <xsl:choose>
+      <xsl:when test="$title = 'Attributes'">
+        <xsl:call-template name="describe-members-grid">
+          <xsl:with-param name="members" select="$members"/>
+          <xsl:with-param name="static" select="$static"/>
+          <xsl:with-param name="title" select="$title"/>
+          <xsl:with-param name="subtitle" select="$subtitle"/>
+          <xsl:with-param name="describe-js" select="$describe-js" />
+          <xsl:with-param name="describe-lzx" select="$describe-lzx" />        
  
+        </xsl:call-template>  
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="describe-members-list">
+          <xsl:with-param name="members" select="$members"/>
+          <xsl:with-param name="static" select="$static"/>
+          <xsl:with-param name="title" select="$title"/>
+          <xsl:with-param name="subtitle" select="$subtitle"/>
+          <xsl:with-param name="describe-js" select="$describe-js" />
+          <xsl:with-param name="describe-lzx" select="$describe-lzx" />        
            
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>      
+  </xsl:template>
+  
+  <xsl:template name="describe-members-list">
+    <xsl:param name="members"/>
+    <xsl:param name="static"/>
+    <xsl:param name="title"/>
+    <xsl:param name="subtitle"/>
+    <xsl:param name="describe-js" select="boolean(@name)"/>
+    <xsl:param name="describe-lzx" select="boolean(&tagname;)"/>
+    <xsl:variable name="visible-members" 
select="$members[contains($visibility.filter,@access)]"/>
+    <xsl:if test="count($visible-members) > 0">
+      <variablelist>
+        <title><xsl:value-of select="$title"/></title>
+        <xsl:if test="$subtitle"><para><xsl:value-of 
select="$subtitle"/></para></xsl:if>
+        <xsl:for-each select="$visible-members">
+          <xsl:sort select="translate(@name,'_$','  ')"/>
+          <xsl:apply-templates select="." mode="describe-member">
+            <xsl:with-param name="static" select="$static"/>
+            <xsl:with-param name="describe-js" select="$describe-js"/>
+            <xsl:with-param name="describe-lzx" select="$describe-lzx"/>
+          </xsl:apply-templates>
+        </xsl:for-each>
+      </variablelist>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template name="describe-members-grid">
+    <xsl:param name="members"/>
+    <xsl:param name="static"/>
+    <xsl:param name="title"/>
+    <xsl:param name="subtitle"/>
+    <xsl:param name="describe-js" select="boolean(@name)"/>
+    <xsl:param name="describe-lzx" select="boolean(&tagname;)"/>
+    <xsl:variable name="visible-members" 
select="$members[contains($visibility.filter,@access)]"/>
+    <xsl:if test="count($visible-members) > 0">
+      <table frame="none" colsep="0" rowsep="0">
+        <title><xsl:value-of select="$title"/></title>
+        <tgroup cols="4">
+          <colspec colname="Name" />
+          <!-- <colspec colname="Usage" /> -->
+          <colspec colname="TypeTag" />
+          <colspec colname="TypeJS" />
+          <colspec colname="Default" />
+          <!-- <colspec colname="Category" /> -->          
+          <thead>
+            <row>
+              <entry align="left">Name</entry>
+              <!-- <entry align="left">Usage</entry> -->
+              <entry align="left">Type (tag)</entry>
+              <entry align="left">Type (js)</entry>
+              <entry align="left">Default</entry>
+              <!-- <entry align="left">Category</entry> -->
+            </row>
+          </thead>
+          <tbody>
+            <xsl:for-each select="$visible-members">
+              <xsl:sort select="translate(@name,'_$','  ')"/>
+              <xsl:call-template name="member-data-row"></xsl:call-template>
+            </xsl:for-each>
+          </tbody>
+        </tgroup>
+      </table>
+    </xsl:if>
+  </xsl:template>
+  
+  <xsl:template name="describe-events">
+    <xsl:param name="members"/>
+    <xsl:param name="title"/>
+    <xsl:param name="static" select="false()"/>
+    <xsl:param name="describe-js" select="true()"/>
+    <xsl:param name="describe-lzx" select="true()"/>    
+    <xsl:variable name="visible-members" 
select="$members[contains($visibility.filter,@access)]"/>
+    <xsl:variable name="desc">
+      <xsl:apply-templates select="." mode="desc"/>
+    </xsl:variable>
+    <xsl:variable name="xref">
+      <xsl:apply-templates select="." mode="xref"/>
+    </xsl:variable>
+    
+    <xsl:if test="count($visible-members) > 0">
+      <table frame="none" colsep="0" rowsep="0">
+        <title>Events</title>
+        <tgroup cols="2">
+          <colspec colname="Name" />
+          <colspec colname="Description" />
+          <thead>
+            <row>
+              <entry align="left">Name</entry>
+              <entry align="left">Description</entry>
+            </row>
+          </thead>
+          <tbody>
+            <xsl:for-each select="$visible-members">
+              <xsl:sort select="translate(@name,'_$','  ')"/>
+              <row>
+                <entry>
+                  <indexterm zone="[EMAIL PROTECTED]" id="[EMAIL PROTECTED]">
+                    <primary>
+                      <xsl:value-of select="@name"/>
+                    </primary>                    
+                  </indexterm>
+                  <xsl:value-of select="@name"/>
+                </entry>
+                <entry><xsl:value-of select="doc/text" /></entry>
+              </row>
+            </xsl:for-each>
+          </tbody>
+        </tgroup>
+      </table>
+      
+      <!-- Also list the event out the old way. This seems to be necessary
+      to get the xref in properly. [bshine 10.11.2007] -->
+      <!--
+      <xsl:for-each select="$visible-members">
+        <xsl:sort select="translate(@name,'_$','  ')"/>        
+        <xsl:apply-templates select="." mode="describe-member">
+          <xsl:with-param name="static" select="$static"/>
+          <xsl:with-param name="describe-js" select="$describe-js"/>
+          <xsl:with-param name="describe-lzx" select="$describe-lzx"/>
+        </xsl:apply-templates>
+      </xsl:for-each>
+      
+      -->
+    </xsl:if>
+    
+    
+  </xsl:template>
 
     <xsl:template match="initarg|property" mode="describe-member">
       <!-- TO DO: special format for setters (properties with 
../object/../[EMAIL PROTECTED]'setters'] structure) -->
@@ -376,26 +546,45 @@
           <xsl:value-of select="$desc"/>
         </term>
         <listitem>
-          <xsl:if test="$describe-lzx">
             <refsect3>
               <xsl:apply-templates select="." mode="synopsis">
                 <xsl:with-param name="add-link" select="false()"/>
                 <xsl:with-param name="static" select="$static"/>
-                <xsl:with-param name="language" select="'lzx'" />
+                <xsl:with-param name="language" select="'javascript'" />
               </xsl:apply-templates>
             </refsect3>
-          </xsl:if>
-          <xsl:if test="$describe-js and name()='property'">
+          <xsl:if test="doc/text">
             <refsect3>
-              <xsl:apply-templates select="." mode="synopsis">
-                <xsl:with-param name="add-link" select="false()"/>
-                <xsl:with-param name="static" select="$static"/>
-                <xsl:with-param name="language" select="'javascript'" />
-              </xsl:apply-templates>
+              <xsl:apply-templates select="doc/text" mode="doc2dbk"/>
             </refsect3>
           </xsl:if>
-          <xsl:if test="doc/text">
-            <refsect3><xsl:apply-templates select="doc/text" 
mode="doc2dbk"/></refsect3>
+          <xsl:if test="function/parameter">
+            <refsect3>              
+              <table frame="none" colsep="0" rowsep="0">
+                <title><xsl:text>Parameters</xsl:text></title>
+                <tgroup cols="3">
+                  <colspec colname="Name" />
+                  <colspec colname="Type" />
+                  <colspec colname="Description" />          
+                  <thead>
+                    <row>
+                      <entry align="left">Name</entry>
+                      <entry align="left">Type</entry>
+                      <entry align="left">Description</entry>
+                    </row>
+                  </thead>
+                  <tbody>
+                    <xsl:for-each select="function/parameter">
+                      <row>
+                        <entry><xsl:value-of select="@name"/></entry>
+                        <entry><xsl:value-of select="@type"/></entry>
+                        <entry><xsl:value-of select="doc/text"/></entry>
+                      </row>                      
+                    </xsl:for-each>
+                  </tbody>
+                </tgroup>
+              </table>              
+              </refsect3>
           </xsl:if>
         </listitem>
       </varlistentry>
@@ -747,6 +936,7 @@
     
     <xsl:variable name="extends" select="$class/@extends"/>
     <xsl:variable name="superclass" select="(key('id',$extends) | 
key('name-lzx',$extends))[1]"/>
+    
     <xsl:if test="$superclass">
       <refsect2>
         <title>
@@ -766,13 +956,8 @@
             <link linkend="[EMAIL PROTECTED]"><xsl:value-of 
select="@name"/></link>
             <xsl:text>, </xsl:text>
           </xsl:for-each>
-          <xsl:for-each select="$initargs">     
-            <xsl:sort select="@name"/>            
-            <link linkend="[EMAIL PROTECTED]"><xsl:value-of 
select="@name"/></link>
-            <xsl:text>, </xsl:text>
-          </xsl:for-each>                               
         </para>
-      </refsect2>                  
+      </refsect2>                       
       <xsl:choose>
         <xsl:when test="contains($visibility.filter, $superclass/@access)">
           <xsl:call-template name="describe-inherited-attributes">
@@ -784,7 +969,8 @@
           <xsl:text>&nbsp;(private)&nbsp;&raquo; </xsl:text>
         </xsl:otherwise>
       </xsl:choose>
-    </xsl:if>              
+    </xsl:if>
+     
   </xsl:template>  
   
   <xsl:template name="describe-inherited-methods">
@@ -795,9 +981,10 @@
     
     <xsl:variable name="extends" select="$class/@extends"/>
     <xsl:variable name="superclass" select="(key('id',$extends) | 
key('name-lzx',$extends))[1]"/>
+    
     <xsl:if test="$superclass">
-      <xsl:variable name="inheritedmethods" 
select="$superclass/class/property/object/[EMAIL 
PROTECTED]'public']/function"></xsl:variable>
-      <refsect2>
+      <refsect2>              
+      <xsl:variable name="inheritedmethods" 
select="$superclass/class/property/object/[EMAIL 
PROTECTED]'public']/function"></xsl:variable>      
         <title>
           <xsl:text>Methods inherited from&nbsp;</xsl:text>          
           <link linkend="{$superclass/@id}">
@@ -813,7 +1000,7 @@
             <xsl:text>, </xsl:text>
           </xsl:for-each>
         </para>
-      </refsect2>
+      </refsect2>  
       <xsl:choose>
         <xsl:when test="contains($visibility.filter, $superclass/@access)">
           <xsl:call-template name="describe-inherited-methods">
@@ -825,7 +1012,9 @@
           <xsl:text>&nbsp;(private)&nbsp;&raquo; </xsl:text>
         </xsl:otherwise>
       </xsl:choose>
-    </xsl:if>        
+              
+    </xsl:if>    
+        
   </xsl:template>  
   
   
@@ -868,5 +1057,67 @@
         </xsl:otherwise>
       </xsl:choose>
     </xsl:if>        
-  </xsl:template>    
+  </xsl:template>
+  
+  <xsl:template name="member-data-row">
+    <xsl:param name="describe-js" select="true()"/>
+    <xsl:param name="describe-lzx" select="true()"/>
+    
+    <xsl:variable name="jsname" select="@name"/>
+    <xsl:variable name="lzxname" select="&tagname;"/>
+    <xsl:variable name="name" select="&commonname;"/>
+    <xsl:variable name="sortasname" select="translate($name,'_$','  ')"/>
+    <xsl:variable name="id" select="@id"/>
+    <xsl:variable name="desc">
+      <xsl:apply-templates select="." mode="desc"/>
+    </xsl:variable>
+    
+    <xsl:variable name="xref">
+      <xsl:apply-templates select="." mode="xref"/>
+    </xsl:variable>
+    
+    <term id="[EMAIL PROTECTED]" xreflabel="{$xref}">
+      <!-- how to get the indexterm to use a different name than xreflabel? -->
+      <indexterm zone="[EMAIL PROTECTED]">
+        <primary>
+          <xsl:if test="$name != $sortasname">
+            <xsl:attribute name="sortas"><xsl:value-of 
select="$sortasname"/></xsl:attribute>
+          </xsl:if>
+          <xsl:value-of select="$name"/>
+        </primary>
+      </indexterm>
+      <xsl:value-of select="$desc"/>
+    </term>    
+    <row>
+      <entry><xsl:value-of select="@name"/></entry>
+      <!-- "Usage" will go here <entry>(unknown)</entry> -->
+      <entry><xsl:value-of select="&lzxtype;" /> </entry>
+      <entry>
+        <xsl:call-template name="jstype">
+          <xsl:with-param name="tag" select="'type'"/>
+        </xsl:call-template>
+      </entry>
+      <entry><xsl:value-of select="&lzxdefault;" /></entry>
+      <!-- Category will go here 
+      <entry> 
+        <xsl:choose>
+          <xsl:when test="initarg">
+            <xsl:text>initarg</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+          </xsl:otherwise>
+        </xsl:choose>        
+      </entry>
+      -->
+    </row>
+    <xsl:if test="doc/text">  
+      <row>
+        <entry namest="TagType" nameend="Category">
+          <xsl:value-of select="doc/text" />
+        </entry>
+      </row>
+    </xsl:if>        
+    
+  </xsl:template>
+  
 </xsl:stylesheet>
\ No newline at end of file

Modified: openlaszlo/branches/paperpie/docs/src/xsl/simple-driver.xsl
===================================================================
--- openlaszlo/branches/paperpie/docs/src/xsl/simple-driver.xsl 2007-10-15 
18:28:13 UTC (rev 6845)
+++ openlaszlo/branches/paperpie/docs/src/xsl/simple-driver.xsl 2007-10-15 
19:18:46 UTC (rev 6846)
@@ -13,6 +13,7 @@
 <!ENTITY shortdesc      '(doc/[EMAIL PROTECTED]"shortdesc"]/text)'>
 <!ENTITY lzxtype        '(doc/[EMAIL PROTECTED]"lzxtype"]/text)'>
 <!ENTITY lzxdefault     '(doc/[EMAIL PROTECTED]"lzxdefault"]/text)'>
+<!ENTITY commonname     '(self::node()/@name | self::node()/doc/[EMAIL 
PROTECTED]"lzxname"]/text)[1]'>
 
 <!ENTITY objectvalue    '(object|class|function)'>
 <!ENTITY classvalue     '(class|function)'>
@@ -40,128 +41,53 @@
     <xsl:template match="/">
         <body>
             <!-- find all properties which have exactly one class child -->
-            <xsl:apply-templates select="descendant::property[count(class)=1]"
-            > </xsl:apply-templates>
+            <xsl:apply-templates 
select="descendant::function"></xsl:apply-templates>
         </body>
     </xsl:template>
-
-    <xsl:template match="property">
-        <refentry>
-            <xsl:value-of select="@name"/>
-            <xsl:apply-templates select="descendant::class"/>
-        </refentry>
+    
+    <xsl:template match="function">
+        <function>
+            <xsl:attribute name="name"><xsl:value-of select="../@name" 
/></xsl:attribute>
+            <class>
+                <xsl:value-of select="ancestor::property/@name"/>
+            </class>            
+        </function>
     </xsl:template>
-
-
-    <xsl:template match="class">
-        <xsl:if test="attribute::extends != ''">
-<!--            
-            <xsl:call-template name="describe-inherited-initargs">
-                <xsl:with-param name="class" select="."/>
-            </xsl:call-template>
--->          
-<!--            
-            <xsl:call-template name="describe-superclass-methods">
-                <xsl:with-param name="class" select="."/>
-            </xsl:call-template>
--->            
-            <xsl:call-template name="describe-superclass-chain-inner">
-                <xsl:with-param name="class" select="."/>
-            </xsl:call-template>
-        </xsl:if>    
-    </xsl:template>
     
-    <xsl:template name="describe-inherited-initargs">
-        <xsl:param name="class" />
-        <xsl:variable name="extends" select="$class/@extends"/>
-        <xsl:variable name="superclass" select="(key('id',$extends) | 
key('name-lzx',$extends))[1]"/>
-        <xsl:if test="$superclass">
-            <xsl:variable name="initargs" select="$superclass/class/[EMAIL 
PROTECTED]'public']"></xsl:variable>            
-            <refsect2>
-                <title>
-                    <xsl:text>Initialization Arguments Inherited From 
</xsl:text>
-                    <xref linkend="{$superclass/@id}">
-                        <xsl:value-of select="$superclass/doc/[EMAIL 
PROTECTED]'lzxname']/text"/>
-                    </xref>
-                </title>                
-                <para>
-                    <xsl:for-each select="$initargs">
-                        <link linkend="[EMAIL PROTECTED]"><xsl:value-of 
select="@name"/></link>
-                        <xsl:text>, </xsl:text>
-                    </xsl:for-each>
-                </para>
-                
-            </refsect2>
-        </xsl:if>
+    <xsl:template name="functionfun" >
+        <!-- TO DO: special format for setters (properties with 
../object/../[EMAIL PROTECTED]'setters'] structure) -->
+        <xsl:param name="static"/>
+        <xsl:param name="describe-js" select="true()"/>
+        <xsl:param name="describe-lzx" select="true()"/>
+        <xsl:variable name="property" select=".."></xsl:variable>
         
-    </xsl:template>
-
-    <xsl:template name="describe-superclass-chain-inner">
-        <xsl:param name="class"/>        
-        
-        <xsl:variable name="jsname" select="@name"/>
+        <xsl:variable name="jsname" select="$property/@name"/>
         <xsl:variable name="lzxname" select="&tagname;"/>
+        <xsl:variable name="name" select="&commonname;"/>
+        <xsl:variable name="sortasname" select="translate($name,'_$','  ')"/>
+        <xsl:variable name="id" select="$property/@id"/>
+        <xsl:variable name="desc">
+            <xsl:apply-templates select="$property" mode="desc"/>
+        </xsl:variable>
+        <xsl:variable name="xref">
+            <xsl:apply-templates select="$property" mode="xref"/>
+        </xsl:variable>
         
-        <xsl:variable name="extends" select="$class/@extends"/>
-        <xsl:variable name="superclass" select="(key('id',$extends) | 
key('name-lzx',$extends))[1]"/>
-        <xsl:if test="$superclass">
-            <div>
-                <xsl:variable name="inheritedattrs" 
select="$superclass/class/[EMAIL PROTECTED]'__ivars__']/object/[EMAIL 
PROTECTED]'public']"></xsl:variable>
-                <xsl:variable name="initargs" select="$superclass/class/[EMAIL 
PROTECTED]'public']"></xsl:variable>                            
-                <xsl:text>Attributes inherited from&nbsp;</xsl:text>
-                <xref linkend="{$superclass/@id}">
-                    <xsl:value-of select="$superclass/doc/[EMAIL 
PROTECTED]'lzxname']/text"/>
-                </xref>
-                <xsl:text>: &nbsp;</xsl:text>
-                <xsl:for-each select="$inheritedattrs"><xsl:value-of 
select="@name"/> <xref linkend="{$superclass/@id}"/> &nbsp;</xsl:for-each>
-                <xsl:for-each select="$initargs"><xsl:value-of 
select="@name"/> <link linkend="[EMAIL PROTECTED]"/> &nbsp;</xsl:for-each>      
          
-            </div>
-            <xsl:choose>
-                <xsl:when test="contains($visibility.filter, 
$superclass/@access)">
-                    <xsl:call-template name="describe-superclass-chain-inner">
-                        <xsl:with-param name="class" 
select="$superclass/class"/>
-                    </xsl:call-template>
-                </xsl:when>
-                <xsl:otherwise>
-                    <xsl:value-of select="($superclass/@name | 
$superclass/doc/[EMAIL PROTECTED]'lzxname']/text)[1]"/>
-                    <xsl:text>&nbsp;(private)&nbsp;&raquo; </xsl:text>
-                </xsl:otherwise>
-            </xsl:choose>
-        </xsl:if>        
+        <varlistentry>
+            <term id="{$id}" xreflabel="{$xref}">
+                <!-- how to get the indexterm to use a different name than 
xreflabel? -->
+                <indexterm zone="{$id}">
+                    <primary>
+                        <xsl:if test="$name != $sortasname">
+                            <xsl:attribute name="sortas"><xsl:value-of 
select="$sortasname"/></xsl:attribute>
+                        </xsl:if>
+                        <xsl:value-of select="$name"/>
+                    </primary>
+                </indexterm>
+                <xsl:value-of select="$desc"/>
+            </term>
+        </varlistentry>
     </xsl:template>
-            
-    <xsl:template name="describe-superclass-methods">
-<!--        
-        <xsl:param name="class"/>        
-        
-        <xsl:variable name="jsname" select="@name"/>
-        <xsl:variable name="lzxname" select="&tagname;"/>
-        
-        <xsl:variable name="extends" select="$class/@extends"/>
-        <xsl:variable name="superclass" select="(key('id',$extends) | 
key('name-lzx',$extends))[1]"/>
-        <xsl:if test="$superclass">
-            <div>
-                <xsl:variable name="inheritedmethods" 
select="$superclass/class/property/object/[EMAIL 
PROTECTED]'public']/function"></xsl:variable>
-                <xsl:text>Methods inherited from&nbsp;</xsl:text>
-                <xref linkend="{$superclass/@id}">
-                    <xsl:value-of select="$superclass/doc/[EMAIL 
PROTECTED]'lzxname']/text"/>
-                </xref>
-                <xsl:text>: &nbsp;</xsl:text>
-                <xsl:for-each select="$inheritedmethods"><xsl:value-of 
select="../@name"/> <xref linkend="{../@id}"/> &nbsp;</xsl:for-each>            
                   
-            </div>
-            <xsl:choose>
-                <xsl:when test="contains($visibility.filter, 
$superclass/@access)">
-                    <xsl:call-template name="describe-superclass-methods">
-                        <xsl:with-param name="class" 
select="$superclass/class"/>
-                    </xsl:call-template>
-                </xsl:when>
-                <xsl:otherwise>
-                    <xsl:value-of select="($superclass/@name | 
$superclass/doc/[EMAIL PROTECTED]'lzxname']/text)[1]"/>
-                    <xsl:text>&nbsp;(private)&nbsp;&raquo; </xsl:text>
-                </xsl:otherwise>
-            </xsl:choose>
-        </xsl:if>        
--->        
-    </xsl:template>
+
     
 </xsl:stylesheet>

Modified: openlaszlo/branches/paperpie/docs/src/xsl/synop-javascript.xsl
===================================================================
--- openlaszlo/branches/paperpie/docs/src/xsl/synop-javascript.xsl      
2007-10-15 18:28:13 UTC (rev 6845)
+++ openlaszlo/branches/paperpie/docs/src/xsl/synop-javascript.xsl      
2007-10-15 19:18:46 UTC (rev 6846)
@@ -1,6 +1,6 @@
 <?xml version='1.0'?>
 <!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
-* Copyright 2006 Laszlo Systems, Inc.  All Rights Reserved.                   *
+* Copyright 2006-2007 Laszlo Systems, Inc.  All Rights Reserved.              *
 * Use is subject to license terms.                                            *
 * X_LZ_COPYRIGHT_END ****************************************************** -->
 <!DOCTYPE xsl:stylesheet [
@@ -139,6 +139,7 @@
 </xsl:template>
 
 <xsl:template match="methodname" mode="javascript">
+  <xsl:variable name="class" select="ooclass[not(@role)]"/>  
   <span class="{name(.)}">
     <xsl:apply-templates mode="javascript"/>
   </span>
@@ -195,8 +196,6 @@
       <xsl:text>&nbsp;</xsl:text>
     </xsl:for-each>
   
-    <xsl:text>function </xsl:text>
-
     <xsl:apply-templates select="methodname" mode="javascript"/>
 
     <xsl:text>(</xsl:text>


_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins

Reply via email to