OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [tools/] [resource/] [gnu/] [classpath/] [tools/] [gjdoc/] [rng/] [gjdoc-classdoc.rng] - Rev 779

Compare with Previous | Blame | View Log

<?xml version="1.0"?>

<!-- gjdoc-classdoc.rng
     Copyright (C) 2003 Free Software Foundation, Inc.

This file is part of GNU Classpath.

GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
 
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. -->

<grammar 
      xmlns="http://relaxng.org/ns/structure/1.0" 
      xmlns:a="http://relaxng.org/ns/annotation/1.0" 
      xmlns:gjdoc="http://www.gnu.org/software/cp-tools/gjdocxml">

   <include href="gjdoc-common.rng"/>
   
   <a:documentation>
      The Relax NG grammar for an classdoc XML document generated by
      GNU Gjdoc.
   </a:documentation>

   <start>
      <a:documentation>
         The root element for a Gjdoc classdoc XML document.
      </a:documentation>

      <element name="gjdoc:classdoc">
         <a:documentation>
            Corresponds to a Javadoc API com.sun.javadoc.ClassDoc
            object, the subtree of the full generated documentation
            corresponding to a particular Java class.
         </a:documentation>

         <ref name="name-attribute"/>
         <ref name="qualifiedtypename-attribute"/>

         <optional>
            <ref name="superclass-element"/>
         </optional>

         <zeroOrMore>
            <ref name="implements-element"/>
         </zeroOrMore>

         <zeroOrMore>
            <ref name="superimplements-element"/>
         </zeroOrMore>

         <ref name="ProgramElementDocBody"/>

         <optional>
            <ref name="isAbstract-element"/>
         </optional>

         <optional>
            <ref name="isSerializable-element"/>
         </optional>

         <optional>
            <ref name="isExternalizable-element"/>
         </optional>

         <optional>
            <ref name="definesSerializableFields-element"/>
         </optional>

         <zeroOrMore>
            <ref name="constructordoc-element"/>
         </zeroOrMore>

         <zeroOrMore>
            <ref name="methoddoc-element"/>
         </zeroOrMore>

         <zeroOrMore>
            <ref name="fielddoc-element"/>
         </zeroOrMore>

      </element>      

   </start>

   <!-- The following patterns are "body" patterns for the element
   patterns below. Their content corresponds to the abstract
   superclasses of the classes which are represented by the "element"
   patterns below.  -->

   <define name="DocBody">
      <a:documentation>
         Corresponds to the abstract class
         <code>com.sun.javadoc.Doc</code>, the common base class for
         all documentation classes.
      </a:documentation>

      <optional>
         <ref name="isClass-element"/>
      </optional>

      <optional>
         <ref name="isConstructor-element"/>
      </optional>

      <optional>
         <ref name="isError-element"/>
      </optional>

      <optional>
         <ref name="isException-element"/>
      </optional>

      <optional>
         <ref name="isField-element"/>
      </optional>

      <optional>
         <ref name="isIncluded-element"/>
      </optional>

      <optional>
         <ref name="isInterface-element"/>
      </optional>

      <optional>
         <ref name="isMethod-element"/>
      </optional>

      <optional>
         <ref name="isOrdinaryClass-element"/>
      </optional>

      <optional>
         <ref name="inlineTags-element"/>
      </optional>

      <optional>
         <ref name="firstSentenceTags-element"/>
      </optional>

      <optional>
         <ref name="tags-element"/>
      </optional>

      <optional>
         <ref name="seeTags-element"/>
      </optional>

   </define>

   <define name="ProgramElementDocBody">
      <a:documentation>
         Corresponds to the abstract class
         <code>com.sun.javadoc.ProgramElementDoc</code>.
      </a:documentation>

      <!-- ... which is derived from class com.sun.javadoc.Doc -->
      <ref name="DocBody"/>

      <ref name="containingPackage-element"/>

      <optional>
         <ref name="containingClass-element"/>
      </optional>
      
      <ref name="access-element"/>
      
      <optional>
         <ref name="isFinal-element"/>
      </optional>

      <optional>
         <ref name="isStatic-element"/>
      </optional>

   </define>

   <define name="MemberDocBody">
      <a:documentation>
         Corresponds to the abstract class
         <code>com.sun.javadoc.MemberDoc</code>.
      </a:documentation>

      <!-- ... which is derived from class
      com.sun.javadoc.ProgramElementDoc -->
      <ref name="ProgramElementDocBody"/>

   </define>

   <define name="ExecutableMemberDocBody">
      <a:documentation>
         Corresponds to the abstract class
         <code>com.sun.javadoc.ExecutableMemberDoc</code>.
      </a:documentation>

      <!-- ... which is derived from class 
      com.sun.javadoc.MemberDoc -->
      <ref name="MemberDocBody"/>

      <zeroOrMore>
         <ref name="parameter-element"/>
      </zeroOrMore>

      <zeroOrMore>
         <ref name="thrownException-element"/>
      </zeroOrMore>

      <ref name="signature-element"/>

      <optional>
         <ref name="isNative-element"/>
      </optional>

      <optional>
         <ref name="isSynchronized-element"/>
      </optional>

   </define>

   <define name="ConstructorDocBody">
      <a:documentation>
         Corresponds to an object of class
         <code>com.sun.javadoc.ConstructorDoc</code>.
      </a:documentation>

      <!-- ... which is derived from class
      com.sun.javadoc.ExecutableMemberDoc -->
      <ref name="ExecutableMemberDocBody"/>

   </define>

   <define name="MethodDocBody">
      <a:documentation>
         Corresponds to an object of class
         <code>com.sun.javadoc.MethodDoc</code>.
      </a:documentation>

      <!-- ... which is derived from class
      com.sun.javadoc.ExecutableMemberDoc -->
      <ref name="ExecutableMemberDocBody"/>

      <ref name="returns-element"/>
   </define>

   <define name="FieldDocBody">
      <a:documentation>
         Corresponds to an object of class
         <code>com.sun.javadoc.FieldDoc</code>.
      </a:documentation>

      <!-- ... which is derived from class
      com.sun.javadoc.ProgramElementDoc -->
      <ref name="ProgramElementDocBody"/>

      <optional>
         <ref name="isTransient-element"/>
      </optional>

      <optional>
         <ref name="isVolatile-element"/>
      </optional>

      <element name="gjdoc:type">
         <ref name="typedef-attributes"/>
      </element>

   </define>


   <!-- The following patterns define the elements representing
   concrete classes in the Javadoc API. -->

   <define name="constructordoc-element">
      <a:documentation>
         Specifies a constructor of the class.
      </a:documentation>

      <element name="gjdoc:constructordoc">
         <ref name="name-attribute"/>
         <ref name="ConstructorDocBody"/>
      </element>
   </define>

   <define name="methoddoc-element">
      <a:documentation>
         Specifies a method of the class.
      </a:documentation>

      <element name="gjdoc:methoddoc">
         <ref name="name-attribute"/>
         <ref name="MethodDocBody"/>
      </element>
   </define>

   <define name="fielddoc-element">
      <a:documentation>
         Specifies a field of the class.
      </a:documentation>

      <element name="gjdoc:fielddoc">
         <ref name="name-attribute"/>
         <ref name="FieldDocBody"/>
      </element>
   </define>

   <!-- The following patterns represent the return value of the
   corresponding boolean getters of various classes in
   <code>com.sun.javadoc</code>. The presence of each tag denotes a
   return value of <code>true</code>, absence denotes a return value
   of <code>false</code>. -->

   <define name="isAbstract-element">
      <a:documentation>
         Presence means <code>ClassDoc.isAbstract()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isAbstract">
         <empty/>
      </element>
   </define>

   <define name="isClass-element">
      <a:documentation>
         Presence means <code>Doc.isClass()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isClass">
         <empty/>
      </element>
   </define>

   <define name="isConstructor-element">
      <a:documentation>
         Presence means <code>Doc.isConstructor()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isConstructor">
         <empty/>
      </element>
   </define>

   <define name="isError-element">
      <a:documentation>
         Presence means <code>Doc.isError()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isError">
         <empty/>
      </element>
   </define>

   <define name="isException-element">
      <a:documentation>
         Presence means <code>Doc.isException()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isException">
         <empty/>
      </element>
   </define>

   <define name="isSerializable-element">
      <a:documentation>
         Presence means <code>ClassDoc.isSerializable()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isSerializable">
         <empty/>
      </element>
   </define>

   <define name="isExternalizable-element">
      <a:documentation>
         Presence means <code>ClassDoc.isExternalizable()</code>
         returns <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isExternalizable">
         <empty/>
      </element>
   </define>

   <define name="isField-element">
      <a:documentation>
         Presence means <code>Doc.isField()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isField">
         <empty/>
      </element>
   </define>

   <define name="isIncluded-element">
      <a:documentation>
         Presence means <code>Doc.isIncluded()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isIncluded">
         <empty/>
      </element>
   </define>

   <define name="isInterface-element">
      <a:documentation>
         Presence means <code>Doc.isInterface()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isInterface">
         <empty/>
      </element>
   </define>

   <define name="isMethod-element">
      <a:documentation>
         Presence means <code>Doc.isMethod()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isMethod">
         <empty/>
      </element>
   </define>

   <define name="isOrdinaryClass-element">
      <a:documentation>
         Presence means <code>Doc.isOrdinaryClass()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isOrdinaryClass">
         <empty/>
      </element>
   </define>

   <define name="isFinal-element">
      <a:documentation>
         Presence means <code>ProgramElementDoc.isFinal()</code>
         returns <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isFinal">
         <empty/>
      </element>
   </define>

   <define name="isStatic-element">
      <a:documentation>
         Presence means <code>ProgramElementDoc.isStatic()</code>
         returns <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isStatic">
         <empty/>
      </element>
   </define>

   <define name="isTransient-element">
      <a:documentation>
         Presence means <code>FieldDoc.isTransient()</code>
         returns <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isTransient">
         <empty/>
      </element>
   </define>

   <define name="isVolatile-element">
      <a:documentation>
         Presence means <code>FieldDoc.isVolatile()</code>
         returns <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isVolatile">
         <empty/>
      </element>
   </define>

   <define name="isNative-element">
      <a:documentation>
         Presence means <code>ExecutableMemberDoc.isNative()</code>
         returns <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isNative">
         <empty/>
      </element>
   </define>

   <define name="isSynchronized-element">
      <a:documentation>
         Presence means
         <code>ExecutableMemberDoc.isSynchronized()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:isSynchronized">
         <empty/>
      </element>
   </define>

   <define name="definesSerializableFields-element">
      <a:documentation>
         Presence means
         <code>ClassDoc.definesSerializableFields()</code> returns
         <code>true</code>.
      </a:documentation>

      <element name="gjdoc:definesSerializableFields">
         <empty/>
      </element>
   </define>

   <define name="access-element">
      <a:documentation>
         Corresponds to the access modifier (public, protected,
         private) specified by a ProgramElementDoc.
      </a:documentation>

      <element name="gjdoc:access">
         <attribute name="scope">
            <a:documentation>
               This value is determined by calling
               <code>ProgramElementDoc.isPublic()</code>,
               <code>ProgramElementDoc.isProtected()</code>,
               <code>ProgramElementDoc.isPrivate()</code> and
               <code>ProgramElementDoc.isPackagePrivate()</code>.
            </a:documentation>
            <choice>
               <value>public</value>
               <value>protected</value>
               <value>private</value>
               <value>package</value>
            </choice>
         </attribute>
      </element>
   </define>

   <define name="containingClass-element">
      <a:documentation>
         Corresponds to the type returned by a call to
         <code>com.sun.javadoc.Classdoc.containingClass()</code>.
      </a:documentation>

      <element name="gjdoc:containingClass">
         <a:documentation>
            The full name of the outer class containing the class, if
            this class is an inner class.
         </a:documentation>
         <ref name="typedef-attributes"/>
      </element>
   </define>

   <define name="parameter-element">
      <a:documentation>
         Corresponds to an entry in the array returned by a
         <code>com.sun.javadoc.ExecutableMemberDoc.parameters()</code>.
      </a:documentation>

      <element name="gjdoc:parameter">
         <a:documentation>
            A parameter for a method or constructor call.
         </a:documentation>
         <ref name="name-attribute"/>    
         <optional>
            <ref name="typedef-attributes"/>
         </optional>
      </element>
   </define>

   <define name="thrownException-element">
      <a:documentation>
         Corresponds to an entry in the array returned by a
         <code>com.sun.javadoc.ExecutableMemberDoc.thrownExceptions()</code>.
      </a:documentation>

      <element name="gjdoc:thrownException">
         <a:documentation>
            An exception thrown by a method or constructor.
         </a:documentation>
         <ref name="typedef-attributes"/>
      </element>
   </define>


   <define name="signature-element">
      <a:documentation>
         Corresponds to the signature specified by a
         <code>com.sun.javadoc.MethodDoc</code>.
      </a:documentation>

      <element name="gjdoc:signature">
         <a:documentation>
            The signature of a method or constructor.
         </a:documentation>
         <attribute name="full">
            <a:documentation>
               The full signature of a method or constructor, as
               returned by
               <code>com.sun.javadoc.ExecutableMemberDoc.signature()</code>.
            </a:documentation>
            <text/>
         </attribute>
         <attribute name="flat">
            <a:documentation>
               The "flat" signature of a method or constructor, as
               returned by
               <code>com.sun.javadoc.ExecutableMemberDoc.flatSignature()</code>.
            </a:documentation>
            <text/>
         </attribute>
      </element>
   </define>

   <define name="returns-element">
      <a:documentation>
         Corresponds to the type returned by
         <code>com.sun.javadoc.MethodDoc.returnType()</code>.
      </a:documentation>

      <element name="gjdoc:returns">
         <a:documentation>
            The type returned by a method.
         </a:documentation>

         <ref name="typedef-attributes"/>
      </element>
   </define>
</grammar>

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.