RE: [docbook-apps] oointerface - writing a synopsis for a Java interface

From
Johnson, Eric <>
Date
2006-12-11T16:33:23+00:00
ID
Thread
RE: [docbook-apps] oointerface - writing a synopsis for a Java interface
In looking through the XSL used to generate the 
classsynopsis element, it looks like the problem is not the inclusion of the 
word 'interface'. It is the assumption that, at least in the Java/default case, 
that the synopsis is for a class that is implementing an interface and not an 
interface by itself.

 

I had figured that the reason class="interface" was added 
to the element was for cases where the author wanted to create a synopsis for an 
interface and not a class. Was this a mistake on my part?

 

The way I addressed this was by adding an 
<xsl:choose> around the code that generates the text. The first 
<xsl:when> element uses test="@class=interface" to test for generating 
just an interface. This case skips over the processing of the ooclass element as 
this in not needed in this case. The <xsl:otherwise> holds the old code 
that processes the class case.

 

 
There is also a bug in the FO case that does not add a . between the package name and the interface name.

  

  
  From: Bob Stayton [mailto:] 
  
Sent: Sunday, December 10, 2006 8:05 PM
To: Johnson, 
  Eric; 
Subject: Re: [docbook-apps] 
  oointerface - writing a synopsis for a Java interface

  

  
Hi Eric,

  
That word seems to be hardwired into the template 
  with match="classsynopsis" in fo/synop.xsl.  You would have to customize 
  that template to change it.

  
 

  
Bob Stayton
Sagehill Enterprises
DocBook Consulting


  
 

  
 

  
    
----- Original Message ----- 

    
From: 
    Johnson, 
    Eric 

    
To:  
    

    
Sent: Thursday, December 07, 2006 2:09 
    PM

    
Subject: [docbook-apps] oointerface - 
    writing a synopsis for a Java interface

    

    
I was creating a 
    synopsis for a Java interface and marked it up as 
    follows:

    
<classsynopsis 
    class="interface">
 <oointerface>
   
    <modifier>public</modifier>
   
    <package>javax.xml.ws</package>
   
    <interfacename>AsyncHandler</interfacename>
 </oointerface>
 <methodsynopsis>
   
    <void />
   
    <methodname>handleResponse</methodname>
   
    <methodparam><type>Response&lt;T&gt;</type><parameter>res</parameter></methodparam>
 </methodsynopsis>

    
 </classsynopsis>

    
 

    
I got the 
    following result:

    
implements 
    javax.xml.ws.AsyncHandler {

    
}

    
 

    
is there any way 
    to turn the implements into interface?