* Ocamldoc
@ 2006-06-24 16:45 Jonathan Bryant
2006-06-26 7:14 ` [Caml-list] Ocamldoc Maxence Guesdon
0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Bryant @ 2006-06-24 16:45 UTC (permalink / raw)
To: caml-list
Is there an XML generator for ocamldoc?
--Jonathan
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Caml-list] Ocamldoc
2006-06-24 16:45 Ocamldoc Jonathan Bryant
@ 2006-06-26 7:14 ` Maxence Guesdon
0 siblings, 0 replies; 2+ messages in thread
From: Maxence Guesdon @ 2006-06-26 7:14 UTC (permalink / raw)
To: jtbryant; +Cc: caml-list
[-- Attachment #1: Type: text/plain, Size: 381 bytes --]
On Sat, 24 Jun 2006 16:45:08 +0000
Jonathan Bryant <jtbryant@valdosta.edu> wrote:
> Is there an XML generator for ocamldoc?
Hello,
I began one. Here is the DTD I plan to follow. I'm not a specialist of XML
and DTDs, so comments are welcome.
The code of the generator is not finished yet.
Regards,
--
Maxence Guesdon
http://yquem.inria.fr/~guesdon/
http://devel.inria.fr/rocq/
[-- Attachment #2: ocamldoc.dtd --]
[-- Type: text/x-dtd, Size: 6959 bytes --]
<!--
<!DOCTYPE ocamldoc PUBLIC
"-//OCamldoc//DTD OCamldoc dump//EN"
"http://caml.inria.fr/dtd/ocamldoc.dtd">
-->
<!--================ Character mnemonic entities =========================-->
<!ENTITY % HTMLlat1 PUBLIC
"-//W3C//ENTITIES Latin 1 for XHTML//EN"
"xhtml1/xhtml-lat1.ent">
<!ENTITY % Text " (#PCDATA|code|codepre|verbatim|b|i|em|center
|left|right| ul | ol |newline|block|title|latex|link
|ref|superscript|subscript|modules_list|index_list|custom)*">
<!ENTITY % Module_element "module|module_type|included_module|
class|class_type|value|exception|type|comment">
<!ENTITY % Module_kind "module_structure|module_alias|
module_functor|module_apply|module_with|module_constraint">
<!ENTITY % Module_type_kind
"module_type_structure|module_type_functor
|module_type_alias|module_type_with">
<!ELEMENT ocamldoc (module*)>
<!ATTLIST ocamldoc title CDATA #IMPLIED>
<!ELEMENT parameter (parameter_simple_name|parameter_tuple)>
<!ELEMENT parameter_simple_name (type_expr,comment?)>
<!ATTLIST parameter_simple_name name CDATA #REQUIRED>
<!ELEMENT parameter_tuple (type_expr,parameter*)>
<!ELEMENT type_expr %Text;> <!-- A VOIR -->
<!ELEMENT class_type_expr %Text;> <!-- A VOIR -->
<!ELEMENT module_type_expr %Text;> <!-- A VOIR -->
<!ELEMENT exception (location,info?,exception_args?,exception_alias?,code?)>
<!ATTLIST exception name CDATA #REQUIRED>
<!ELEMENT exception_args (type_expr+)>
<!ELEMENT exception_alias EMPTY>
<!ATTLIST exception_alias name CDATA #REQUIRED>
<!-- <!ATTLIST exception_alias checked CDATA #IMPLIED> !-->
<!ELEMENT type (location,info?,type_parameter*,
(type_abstract|type_variant|type_record),
type_expr?,code?)>
<!ATTLIST type name CDATA #REQUIRED>
<!ELEMENT type_parameter (type_expr)>
<!ATTLIST type_parameter covariant CDATA #REQUIRED>
<!ATTLIST type_parameter contravariant CDATA #REQUIRED>
<!ELEMENT type_abstract EMPTY>
<!ELEMENT type_variant (constructor+)>
<!ATTLIST type_variant private CDATA #REQUIRED>
<!ELEMENT constructor (description?,type_expr*)>
<!ATTLIST constructor name CDATA #REQUIRED>
<!ELEMENT type_record (record_field+)>
<!ATTLIST type_record private CDATA #REQUIRED>
<!ELEMENT record_field (description?,type_expr)>
<!ATTLIST record_field name CDATA #REQUIRED>
<!ATTLIST record_field mutable CDATA #IMPLIED>
<!ELEMENT value (location,info?,type_expr,parameter*,code?)>
<!ATTLIST value name CDATA #REQUIRED>
<!ATTLIST value rec CDATA #IMPLIED>
<!ELEMENT attribute (location,info?,type_expr,code?)>
<!ATTLIST attribute name CDATA #REQUIRED>
<!ATTLIST attribute mutable CDATA #IMPLIED>
<!ELEMENT method (location,info?,type_expr,parameter*,code?)>
<!ATTLIST method name CDATA #REQUIRED>
<!ATTLIST method private CDATA #IMPLIED>
<!ATTLIST method virtual CDATA #IMPLIED>
<!ELEMENT comment %Text;>
<!ELEMENT description %Text;>
<!ELEMENT location EMPTY>
<!ATTLIST location impl CDATA #IMPLIED>
<!ATTLIST location intf CDATA #IMPLIED>
<!ELEMENT inherited_class (description?)>
<!ATTLIST inherited_class name CDATA #REQUIRED>
<!ELEMENT class_structure (inherited_class*,(comment|method|attribute)*)>
<!ELEMENT class_apply (type_expr*,code?)>
<!ATTLIST class_apply name CDATA #REQUIRED>
<!ELEMENT class_constr (type_expr*)>
<!ATTLIST class_constr name CDATA #REQUIRED>
<!ELEMENT class_constraint
((class_structure|class_applu|class_constr|class_constraint),
(class_signature|class_type_alias))>
<!ELEMENT class_signature (inherited_class*,(comment|method|attribute)*)>
<!ELEMENT class_type_alias (type_expr*)>
<!ATTLIST class_type_alias name CDATA #REQUIRED>
<!ELEMENT class (location,info?,class_type_expr,type_expr*,
(class_structure|class_apply|class_constr|class_constraint),
parameter*
)>
<!ATTLIST class name CDATA #REQUIRED>
<!ATTLIST class virtual CDATA #IMPLIED>
<!ELEMENT class_type (location,info?,class_type_expr,type_expr*,
(class_signature|class_type_alias))>
<!ATTLIST class_type name CDATA #REQUIRED>
<!ATTLIST class_type virtual CDATA #IMPLIED>
<!ELEMENT topdep EMPTY>
<!ATTLIST topdep module CDATA #REQUIRED>
<!ELEMENT module_structure ((%Module_element;)*)>
<!ELEMENT module_alias EMPTY>
<!ATTLIST module_alias name CDATA #REQUIRED>
<!ELEMENT module_functor (module_parameter,(%Module_kind;))>
<!ELEMENT module_apply (module_kind,(%Module_kind;))>
<!ELEMENT module_with ((%Module_type_kind;),with)>
<!ELEMENT with (#PCDATA)>
<!ELEMENT module_constraint ((%Module_kind;), (%Module_type_kind;))>
<!ELEMENT module_parameter (module_type_expr,(%Module_type_kind;),code)>
<!ATTLIST module_parameter name CDATA #REQUIRED>
<!ELEMENT module (location,info?,module_type_expr,
(%Module_kind;),topdep*,code?,code_intf?)>
<!ATTLIST module name CDATA #REQUIRED>
<!ATTLIST module file CDATA #REQUIRED>
<!ELEMENT module_type_structure ((%Module_element;)*)>
<!ELEMENT module_type_functor (module_parameter,(%Module_type_kind;))>
<!ELEMENT module_type_alias EMPTY>
<!ATTLIST module_type_alias name CDATA #REQUIRED>
<!ELEMENT module_type_with ((%Module_type_kind;),with)>
<!ELEMENT module_type (location,info?,module_type_expr?,
(%Module_type_kind;)?)>
<!ATTLIST module_type name CDATA #REQUIRED>
<!ATTLIST module_type file CDATA #REQUIRED>
<!ELEMENT included_module (info?)>
<!ATTLIST included_module name CDATA #REQUIRED>
<!ATTLIST included_module kind CDATA #IMPLIED>
<!ELEMENT code_intf (#PCDATA)>
<!ELEMENT code (#PCDATA)>
<!ELEMENT codepre (#PCDATA)>
<!ELEMENT verbatim (#PCDATA)>
<!ELEMENT latex (#PCDATA)>
<!ELEMENT b %Text;>
<!ELEMENT i %Text;>
<!ELEMENT em %Text;>
<!ELEMENT center %Text;>
<!ELEMENT left %Text;>
<!ELEMENT right %Text;>
<!ELEMENT superscript %Text;>
<!ELEMENT subscript %Text;>
<!ELEMENT ul (li)*>
<!ELEMENT ol (li)*>
<!ELEMENT newline EMPTY>
<!ELEMENT block %Text;>
<!ELEMENT title %Text;>
<!ATTLIST title style CDATA #REQUIRED> <!-- depth of title -->
<!ATTLIST title name CDATA #IMPLIED>
<!ELEMENT link %Text;>
<!ATTLIST link href CDATA #REQUIRED>
<!ELEMENT ref EMPTY>
<!ATTLIST ref name CDATA #REQUIRED>
<!ATTLIST ref kind CDATA #IMPLIED>
<!ELEMENT modules_list EMPTY>
<!ATTLIST modules_list names CDATA #REQUIRED>
<!-- comma-separated list of module names -->
<!ELEMENT index_list EMPTY>
<!ELEMENT custom_text %Text;>
<!ATTLIST custom_text tag CDATA #REQUIRED>
<!ELEMENT li %Text;>
<!ELEMENT see %Text;>
<!ATTLIST see url CDATA #IMPLIED>
<!ATTLIST see file CDATA #IMPLIED>
<!ATTLIST see doc CDATA #IMPLIED>
<!ELEMENT param %Text;>
<!ATTLIST param name CDATA #REQUIRED>
<!ELEMENT raised_exception %Text;>
<!ATTLIST raised_exception name CDATA #REQUIRED>
<!ELEMENT author (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT since (#PCDATA)>
<!ELEMENT deprecated %Text;>
<!ELEMENT return_value %Text;>
<!ELEMENT custom %Text;>
<!ATTLIST custom name CDATA #REQUIRED>
<!ELEMENT info
(description?,author*,version?,see*,since?,
deprecated?,param*,raised_exception*,return_value?,custom*)>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-06-26 7:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-24 16:45 Ocamldoc Jonathan Bryant
2006-06-26 7:14 ` [Caml-list] Ocamldoc Maxence Guesdon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox