<?xml version="1.0" encoding="ISO-8859-1"?> <!-- --> <!-- Jonathan: an Open Distributed Processing Environment --> <!-- Copyright (C) 2000 France Telecom R&D --> <!-- Copyright (C) 2001 Kelua SA --> <!-- --> <!-- This library is free software; you can redistribute it and/or --> <!-- modify it under the terms of the GNU Lesser General Public --> <!-- License as published by the Free Software Foundation; either --> <!-- version 2 of the License, or (at your option) any later version. --> <!-- --> <!-- This library 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 --> <!-- Lesser General Public License for more details. --> <!-- --> <!-- You should have received a copy of the GNU Lesser General Public --> <!-- License along with this library; if not, write to the Free Software --> <!-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> <!-- --> <!-- Release: 3.0 --> <!-- --> <!-- Contact: jonathan@objectweb.org --> <!-- --> <!-- Author: Fabien Delpiano, Bruno Dumant --> <!-- --> <!-- --> <!-- configuration.dtd: DTD for configuration descriptions. --> <!-- A configuration description may contain any number of elements. --> <!ELEMENT CONFIGURATION (ELEM*, DOCUMENTATION?)> <!-- A configuration description has no required attribute. Root --> <!-- configurations need to provide two attributes: one to describe the Kernel --> <!-- class to use to return the actual bootstrap configuration, the other --> <!-- to describe the generated Kernel class. Both should be scoped java class --> <!-- names. --> <!ATTLIST CONFIGURATION generated CDATA #IMPLIED bootstrap CDATA #IMPLIED kawana_version CDATA #IMPLIED > <!-- Elem describes an element in a configuration. It contains the description --> <!-- of a property, of an atom, of an assemblage, or of an alias. --> <!ELEMENT ELEM (PROPERTY | ATOM | ASSEMBLAGE | ALIAS | INCLUDE | CONFIGURATION | SEQUENCE | IMPLICIT_FACTORY)? > <!-- An element description has one required attributes: its name in the --> <!-- enclosing configuration. --> <!ATTLIST ELEM name CDATA #REQUIRED > <!ELEMENT ATOM (ALTERNATIVE*, DOCUMENTATION?)> <!-- An atom has one required attributes: the name of the class used to --> <!-- instanciate it. --> <!ATTLIST ATOM class CDATA #REQUIRED contract CDATA #IMPLIED > <!ELEMENT ASSEMBLAGE (MY_FACTORY?, MY_CONFIGURATION?, ALTERNATIVE*)> <!-- Assemblages are used to register implicitly elements by providing a means --> <!-- to create them on demand. --> <!ATTLIST ASSEMBLAGE factory CDATA #IMPLIED configuration CDATA #IMPLIED alternative CDATA #IMPLIED contract CDATA #IMPLIED > <!ELEMENT ALIAS (DOCUMENTATION)?> <!-- Aliases provide a means to designate other objects in the configuration. --> <!-- The only required attribute is the name of the designated object in the --> <!-- configuration. --> <!ATTLIST ALIAS name CDATA #REQUIRED > <!ELEMENT PROPERTY EMPTY> <!-- Properties are used to register values of a number of primitive types. --> <!-- A property has two required attributes: the type of the property, and --> <!-- its value (as a string). --> <!ATTLIST PROPERTY type CDATA #REQUIRED value CDATA #REQUIRED contract CDATA #IMPLIED > <!ELEMENT INCLUDE EMPTY> <!ATTLIST INCLUDE file CDATA #REQUIRED > <!ELEMENT DOCUMENTATION (#PCDATA)> <!ELEMENT MY_FACTORY (ALIAS | ATOM | ASSEMBLAGE | IMPLICIT_FACTORY)> <!ELEMENT MY_CONFIGURATION (ALIAS | CONFIGURATION)> <!ELEMENT SEQUENCE (ELEM)*> <!ATTLIST SEQUENCE elements_type CDATA #REQUIRED > <!ELEMENT IMPLICIT_FACTORY (ALTERNATIVE)*> <!ATTLIST IMPLICIT_FACTORY contract CDATA #IMPLIED > <!ELEMENT ARGUMENT (#PCDATA)> <!ATTLIST ARGUMENT type CDATA #REQUIRED name CDATA #REQUIRED > <!ELEMENT SETTER (ARGUMENT)*> <!ATTLIST SETTER name CDATA #REQUIRED > <!ELEMENT ALTERNATIVE (ARGUMENT | SETTER)*> <!ATTLIST ALTERNATIVE id CDATA #REQUIRED name CDATA #REQUIRED class CDATA #REQUIRED init CDATA #IMPLIED >