<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog % Release 2.28.2 % % Copyright (c) 1998-2006 Paulo Moura. All Rights Reserved. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> <!ELEMENT logtalk (entity, relations, predicates, remarks)> <!ELEMENT entity (name, type, compilation, comment?, (parnames|parameters)?, author?, version?, date?, copyright?, license?, info*)> <!ELEMENT name (#PCDATA)> <!ELEMENT type (#PCDATA)> <!ELEMENT compilation (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT parnames (#PCDATA)> <!ELEMENT parameters (parameter*)> <!ELEMENT parameter (name, description)> <!ELEMENT description (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT version (#PCDATA)> <!ELEMENT date (#PCDATA)> <!ELEMENT license (#PCDATA)> <!ELEMENT info (key, value)> <!ELEMENT key (#PCDATA)> <!ELEMENT value (#PCDATA)> <!ELEMENT relations (implements*, imports*, extends*, instantiates*, specializes*, uses*, calls*)> <!ELEMENT implements (name, scope, file)> <!ELEMENT imports (name, scope, file)> <!ELEMENT extends (name, scope, file)> <!ELEMENT instantiates (name, scope, file)> <!ELEMENT specializes (name, scope, file)> <!ELEMENT uses (name, file)> <!ELEMENT calls (name, file)> <!ELEMENT scope (#PCDATA)> <!ELEMENT file (#PCDATA)> <!ELEMENT predicates (public, protected, private)> <!ELEMENT public (predicate*)> <!ELEMENT protected (predicate*)> <!ELEMENT private (predicate*)> <!ELEMENT predicate (name, scope, compilation, meta?, mode*, comment?, template?, (argnames|arguments)?, exceptions?, info*, examples?)> <!ELEMENT meta (#PCDATA)> <!ELEMENT mode (template, solutions)> <!ELEMENT template (#PCDATA)> <!ELEMENT solutions (#PCDATA)> <!ELEMENT argnames (#PCDATA)> <!ELEMENT arguments (argument*)> <!ELEMENT argument (name, description)> <!ELEMENT exceptions (exception*)> <!ELEMENT exception (condition, term)> <!ELEMENT condition (#PCDATA)> <!ELEMENT term (#PCDATA)> <!ELEMENT examples (example*)> <!ELEMENT example (description, call, bindings)> <!ELEMENT call (#PCDATA)> <!ELEMENT bindings (#PCDATA)> <!ELEMENT remarks (remark*)> <!ELEMENT remark (topic, text)> <!ELEMENT topic (#PCDATA)> <!ELEMENT text (#PCDATA)> <!ENTITY % custom SYSTEM "custom.ent"> %custom;