<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Logtalk - Object oriented extension to Prolog % Release 2.23.1 % % Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> <!ELEMENT logtalk (entity, relations, predicates)> <!ELEMENT entity (name, type, compilation, comment?, author?, version?, date?, info*)> <!ELEMENT name (#PCDATA)> <!ELEMENT type (#PCDATA)> <!ELEMENT compilation (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT version (#PCDATA)> <!ELEMENT date (#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?, exceptions?, info*)> <!ELEMENT meta (#PCDATA)> <!ELEMENT mode (template, solutions)> <!ELEMENT template (#PCDATA)> <!ELEMENT solutions (#PCDATA)> <!ELEMENT exceptions (exception*)> <!ELEMENT exception (condition, term)> <!ELEMENT condition (#PCDATA)> <!ELEMENT term (#PCDATA)>