diff options
Diffstat (limited to 'modules/CIAO/docs/XML')
-rw-r--r-- | modules/CIAO/docs/XML/ciao_rt_cad_ext.dtd | 93 | ||||
-rw-r--r-- | modules/CIAO/docs/XML/componentassembly.dtd | 367 | ||||
-rw-r--r-- | modules/CIAO/docs/XML/corbacomponent.dtd | 316 | ||||
-rw-r--r-- | modules/CIAO/docs/XML/properties.dtd | 87 | ||||
-rw-r--r-- | modules/CIAO/docs/XML/softpkg.dtd | 220 |
5 files changed, 1083 insertions, 0 deletions
diff --git a/modules/CIAO/docs/XML/ciao_rt_cad_ext.dtd b/modules/CIAO/docs/XML/ciao_rt_cad_ext.dtd new file mode 100644 index 00000000000..7877afe2151 --- /dev/null +++ b/modules/CIAO/docs/XML/ciao_rt_cad_ext.dtd @@ -0,0 +1,93 @@ +<!-- + $Id$ + + DTD for CIAO ComponentAssembly real-time extension. + The extension for this type of XML document should be .RTD + + A component server can be associated to one conforming XML + descriptor file of this DTD via the <extension> tag under + <hostcollocation>, <processcollocation> as + + <extension class="RT-CAD-EXT" + origin="CIAO">pathname_to_xml_file.xml</extension> + + The root element is <rtcad-ext>. + + The <extension> tag under <homeplacement> element can be used to + specify the <rtpolicyset> named in this file (using rtpolicyset's + id attribute.) For example, + + <extension class="RT-POLICY-SET" + origin="CIAO">IDREF_of_some_rtpolicyset</extension> + +--> + +<!ELEMENT rtcad_ext ( rtresources?, rtpolicyset+ ) > + +<!-- RT Resources grammar definitions --> + +<!ELEMENT rtresources (threadpool | threadpoolwithlanes | connectionbands)* > + +<!ELEMENT threadpool EMPTY> +<!ATTLIST threadpool + id ID #REQUIRED + stacksize CDATA #REQUIRED + static_threads CDATA #REQUIRED + dynamic_threads CDATA #REQUIRED + priority CDATA #REQUIRED + buffering (yes | no) #REQUIRED + max_buffer CDATA #REQUIRED + buffer_size CDATA #REQUIRED > + +<!ELEMENT threadpoolwithlanes (lane+) > +<!ATTLIST threadpoolwithlanes + id ID #REQUIRED + stacksize CDATA #REQUIRED + borrowing (yes | no) #REQUIRED + buffering (yes | no) #REQUIRED + max_buffer CDATA #REQUIRED + buffer_size CDATA #REQUIRED > + +<!ELEMENT lane EMPTY> +<!ATTLIST lane + priority CDATA #REQUIRED + static_threads CDATA #REQUIRED + dynamic_threads CDATA #REQUIRED > + +<!ELEMENT connectionbands (band+) > +<!ATTLIST connectionbands + id ID #REQUIRED > + +<!ELEMENT band EMPTY> +<!ATTLIST band + low CDATA #REQUIRED + high CDATA #REQUIRED > + +<!-- RT Policy_Set grammar definitions --> +<!-- Each type of policy in rtpoliyset can only appear once --> +<!ELEMENT rtpolicyset (priority_model_policy, + threadpool_policy, + banded_connection_policy)+ > +<!ATTLIST rtpolicyset + id ID #REQUIRED> + +<!ELEMENT priority_model_policy EMPTY> +<!ATTLIST priority_model_policy + type (server_declared | client_propagated) #REQUIRED + priority CDATA #REQUIRED> + +<!ELEMENT threadpool_policy EMPTY> +<!-- + "idref" must be previously defined by the id attribute of + either <threadpool> or <threadpoollanes> element +--> +<!ATTLIST threadpool_policy + idref IDREF #REQUIRED> + +<!ELEMENT banded_connection_policy EMPTY> +<!-- + "idref" must be previously defined by the id attribute of + <connectionbands> element. +--> +<!ATTLIST banded_connection_policy + idref IDREF #REQUIRED>
\ No newline at end of file diff --git a/modules/CIAO/docs/XML/componentassembly.dtd b/modules/CIAO/docs/XML/componentassembly.dtd new file mode 100644 index 00000000000..d61fb47505f --- /dev/null +++ b/modules/CIAO/docs/XML/componentassembly.dtd @@ -0,0 +1,367 @@ +<!-- DTD for Component Assembly Descriptor. The root element + is <componentassembly>. Elements are listed + alphabetically. + --> + +<!-- Simple xml link attributes based on W3C WD-xlink-19980303. + May change slightly when XLL is finalized. + --> +<!ENTITY % simple-link-attributes " + xml:link CDATA #FIXED 'SIMPLE' + href CDATA #REQUIRED +" > + +<!ELEMENT componentassembly + ( description? + , componentfiles + , partitioning + , connections? + , extension* + ) > +<!ATTLIST componentassembly + id ID #REQUIRED + derivedfrom CDATA #IMPLIED > + +<!-- If file not available locally, then download via codebase link --> +<!ELEMENT codebase EMPTY > +<!ATTLIST codebase + filename CDATA #IMPLIED + %simple-link-attributes; > + +<!ELEMENT componentfile + ( fileinarchive + | codebase + | link + ) > +<!ATTLIST componentfile + id ID #REQUIRED + type CDATA #IMPLIED > + +<!ELEMENT componentfileref EMPTY > +<!ATTLIST componentfileref + idref CDATA #REQUIRED > + +<!ELEMENT componentfiles + ( componentfile+ + ) > + +<!ELEMENT componentimplref EMPTY > +<!ATTLIST componentimplref + idref CDATA #REQUIRED > + +<!ELEMENT componentinstantiation + ( usagename? + , componentproperties? + , registercomponent* + , extension* + ) > +<!ATTLIST componentinstantiation + id ID #REQUIRED > + +<!ELEMENT componentinstantiationref EMPTY > +<!ATTLIST componentinstantiationref + idref CDATA #REQUIRED > + +<!ELEMENT componentproperties + ( fileinarchive + | codebase + ) > + +<!ELEMENT componentsupportedinterface + ( componentinstantiationref + | findby + )> + +<!ELEMENT connectevent + ( ( consumesport + | existinginterface + ) + , ( emitsport + | publishesport + ) + ) > +<!ATTLIST connectevent + id ID #IMPLIED > + +<!ELEMENT connecthomes + ( proxyhome + , destinationhome + ) > +<!ATTLIST connecthomes + id ID #IMPLIED > + +<!ELEMENT connectinterface + ( usesport + , ( providesport + | componentsupportedinterface + | existinginterface + | homeinterface + ) + ) > +<!ATTLIST connectinterface + id ID #IMPLIED > + +<!ELEMENT connections + ( connectinterface + | connectevent + | connecthomes + | extension + )* > + +<!ELEMENT consumesidentifier ( #PCDATA ) > + +<!ELEMENT consumesport + ( consumesidentifier + , ( componentinstantiationref + | findby + ) + )> + +<!ELEMENT description ( #PCDATA ) > + +<!ELEMENT destination ( #PCDATA ) > + +<!ELEMENT destinationhome + ( homeplacementref + | findby + ) > + +<!ELEMENT emitsidentifier ( #PCDATA ) > + +<!ELEMENT emitsport + ( emitsidentifier + , ( componentinstantiationref + | findby + ) + )> + +<!ELEMENT executableplacement + ( usagename? + , componentfileref + , componentimplref? + , invocation? + , destination? + , extension* + ) > +<!ATTLIST executableplacement + id ID #REQUIRED + cardinality CDATA "1" > + +<!ELEMENT existinginterface + ( findby )> + +<!-- The "extension" element is used for vendor-specific extensions --> +<!ELEMENT extension (#PCDATA) > +<!ATTLIST extension + class CDATA #REQUIRED + origin CDATA #REQUIRED + id ID #IMPLIED + extra CDATA #IMPLIED + html-form CDATA #IMPLIED > + +<!-- The "fileinarchive" element is used to specify a file in the archive. + If the file is independent of an archive then link is used to point to + the archive in which the file may be found. + --> +<!ELEMENT fileinarchive + ( link? ) > +<!ATTLIST fileinarchive + name CDATA #REQUIRED > + +<!ELEMENT findby + ( namingservice + | stringifiedobjectref + | traderquery + | homefinder + | extension + ) > + +<!ELEMENT homefinder EMPTY > +<!ATTLIST homefinder + name CDATA #REQUIRED > + +<!ELEMENT homeinterface + ( homeplacementref + | findby + )> + +<!ELEMENT homeplacement + ( usagename? + , componentfileref + , componentimplref? + , homeproperties? + , componentproperties? + , registerwithhomefinder* + , registerwithnaming* + , registerwithtrader* + , componentinstantiation* + , destination? + , extension* + ) > +<!ATTLIST homeplacement + id ID #REQUIRED + cardinality CDATA "1" > + +<!ELEMENT homeplacementref EMPTY > +<!ATTLIST homeplacementref + idref CDATA #REQUIRED > + +<!ELEMENT homeproperties + ( fileinarchive + | codebase + ) > + +<!ELEMENT hostcollocation + ( usagename? + , impltype? + , ( homeplacement + | executableplacement + | processcollocation + | extension + )+ + , destination? + ) > +<!ATTLIST hostcollocation + id ID #IMPLIED + cardinality CDATA "1" > + +<!ELEMENT impltype EMPTY > +<!ATTLIST impltype + language CDATA #REQUIRED + version CDATA #IMPLIED > + +<!ELEMENT invocation EMPTY > +<!ATTLIST invocation + args CDATA #REQUIRED > + +<!ELEMENT link ( #PCDATA ) > +<!ATTLIST link + %simple-link-attributes; > + +<!ELEMENT namingservice EMPTY > +<!ATTLIST namingservice + name CDATA #REQUIRED > + +<!ELEMENT partitioning + ( homeplacement + | executableplacement + | processcollocation + | hostcollocation + | extension + )* > + +<!ELEMENT processcollocation + ( usagename? + , impltype? + , ( homeplacement + | extension + )+ + , destination? + ) > +<!ATTLIST processcollocation + id ID #IMPLIED + cardinality CDATA "1" > + +<!ELEMENT providesidentifier ( #PCDATA ) > + +<!ELEMENT providesport + ( providesidentifier + , ( componentinstantiationref + | findby + ) + ) > + +<!ELEMENT proxyhome + ( homeplacementref + | findby + ) > + +<!ELEMENT publishesidentifier ( #PCDATA ) > + +<!ELEMENT publishesport + ( publishesidentifier + , ( componentinstantiationref + | findby + ) + ) > + +<!ELEMENT registercomponent + ( ( providesidentifier + | consumesidentifier + )? + , ( registerwithnaming + | registerwithtrader + )+ + ) > + +<!ELEMENT registerwithhomefinder EMPTY > +<!ATTLIST registerwithhomefinder + name CDATA #REQUIRED > + +<!ELEMENT registerwithnaming EMPTY > +<!ATTLIST registerwithnaming + name CDATA #IMPLIED > + +<!ELEMENT registerwithtrader + ( traderexport ) > +<!ATTLIST registerwithtrader + tradername CDATA #IMPLIED > + +<!-- DEVNOTE: is tradername necessary? --> +<!-- DEVNOTE: Should trader properties be specified in component file? + And in assembly file? --> + +<!ELEMENT stringifiedobjectref ( #PCDATA ) > + +<!ELEMENT traderconstraint ( #PCDATA ) > + +<!ELEMENT traderexport + ( traderservicetypename + , traderproperties + ) > + +<!ELEMENT traderpolicy + ( traderpolicyname + , traderpolicyvalue + ) > + +<!ELEMENT traderpolicyname ( #PCDATA ) > + +<!ELEMENT traderpolicyvalue ( #PCDATA ) > + +<!ELEMENT traderpreference ( #PCDATA ) > + +<!ELEMENT traderproperties + ( traderproperty+ ) > + +<!ELEMENT traderproperty + ( traderpropertyname + , traderpropertyvalue + ) > + +<!ELEMENT traderpropertyname ( #PCDATA ) > + +<!ELEMENT traderpropertyvalue ( #PCDATA ) > + +<!ELEMENT traderquery + ( traderservicetypename + , traderconstraint + , traderpreference? + , traderpolicy* + , traderspecifiedprop* + ) > + +<!ELEMENT traderservicetypename ( #PCDATA ) > + +<!ELEMENT traderspecifiedprop ( #PCDATA ) > + +<!ELEMENT usagename ( #PCDATA ) > + +<!ELEMENT usesidentifier ( #PCDATA ) > + +<!ELEMENT usesport + ( usesidentifier + , ( componentinstantiationref + | findby + ) + ) > diff --git a/modules/CIAO/docs/XML/corbacomponent.dtd b/modules/CIAO/docs/XML/corbacomponent.dtd new file mode 100644 index 00000000000..fd5ec98f377 --- /dev/null +++ b/modules/CIAO/docs/XML/corbacomponent.dtd @@ -0,0 +1,316 @@ +<!-- DTD for CORBA Component Descriptor. The root element is + <corbacomponent>. Elements are listed alphabetically. +--> + +<!-- Simple xml link attributes based on W3C WD-xlink-19980303. + May change when XLL is finalized. --> + +<!ENTITY % simple-link-attributes " + xml:link CDATA #FIXED 'SIMPLE' + href CDATA #REQUIRED +"> + +<!ELEMENT accessmode EMPTY> +<!ATTLIST accessmode + mode (READ_ONLY|READ_WRITE) #REQUIRED > + +<!ELEMENT componentfeatures + ( inheritscomponent? + , supportsinterface* + , ports + , operationpolicies? + , extension* + ) > +<!ATTLIST componentfeatures + name CDATA #REQUIRED + repid CDATA #REQUIRED > + +<!ELEMENT componentkind + ( service + | session + | process + | entity + | unclassified + ) > + +<!ELEMENT componentproperties + ( fileinarchive + ) > + +<!ELEMENT componentrepid EMPTY > +<!ATTLIST componentrepid + repid CDATA #IMPLIED > + +<!ELEMENT containermanagedpersistence + ( storagehome + , pssimplementation? + , accessmode + , psstransaction + , params? + ) > + +<!ELEMENT configurationcomplete EMPTY > +<!ATTLIST configurationcomplete + set ( true | false ) #REQUIRED > + +<!ELEMENT consumes + ( eventpolicy + , extension* ) > +<!ATTLIST consumes + consumesname CDATA #REQUIRED + eventtype CDATA #REQUIRED > + +<!ELEMENT corbacomponent + ( corbaversion + , cormponentrepid + , homerepid + , componentkind + , interop? + , transaction? + , security? + , threading + , configurationcomplete + , extendedpoapolicy* + , repository? + , segment* + , componentproperties? + , homeproperties? + , homefeatures+ + , componentfeatures+ + , interface* + , extension* + ) > + +<!ELEMENT corbaversion (#PCDATA) > + +<!ELEMENT description ( #PCDATA ) > + +<!ELEMENT emits + ( eventpolicy + , extension* ) > +<!ATTLIST emits + emitsname CDATA #REQUIRED + eventtype CDATA #REQUIRED > + +<!ELEMENT entity + ( servant ) > + +<!ELEMENT eventpolicy EMPTY> +<!ATTLIST eventpolicy + policy ( normal | default | transaction ) #IMPLIED> + +<!ELEMENT extendedpoapolicy EMPTY> +<!ATTLIST extendedpoapolicy + name CDATA #REQUIRED + value CDATA #REQUIRED > + +<!-- The "extension" element is used for vendor-specific extensions --> +<!ELEMENT extension (#PCDATA) > +<!ATTLIST extension + class CDATA #REQUIRED + origin CDATA #REQUIRED + id ID #IMPLIED + extra CDATA #IMPLIED + html-form CDATA #IMPLIED > + +<!-- The "fileinarchive" element is used to specify a file in the + archive. If the file is in another archive then link is used to + point to the archive in which the file may be found. + --> +<!ELEMENT fileinarchive + ( link? ) > +<!ATTLIST fileinarchive + name CDATA #REQUIRED > + +<!ELEMENT homefeatures + ( inheritshome? + , operationpolicies? + , extension* ) > +<!ATTLIST homefeatures + name CDATA #REQUIRED + repid CDATA #REQUIRED > + +<!ELEMENT homeproperties + ( fileinarchive + ) > + +<!ELEMENT homerepid EMPTY > +<!ATTLIST homerepid + repid CDATA #IMPLIED > + +<!ELEMENT inheritscomponent EMPTY> +<!ATTLIST inheritscomponent + repid CDATA #REQUIRED> + +<!ELEMENT inheritshome EMPTY> +<!ATTLIST inheritshome + repid CDATA #REQUIRED> + +<!ELEMENT inheritsinterface EMPTY> +<!ATTLIST inheritsinterface + repid CDATA #REQUIRED> + +<!ELEMENT ins EMPTY> +<!ATTLIST ins + name CDATA #REQUIRED > + +<!ELEMENT interface + ( inheritsinterface* + , operationpolicies? ) > +<!ATTLIST interface + name CDATA #REQUIRED + repid CDATA #REQUIRED > + +<!ELEMENT interop EMPTY> +<!ATTLIST interop + type CDATA #REQUIRED + direction ( hasview | isview ) #REQUIRED + descriptor CDATA #REQUIRED > + +<!ELEMENT link ( #PCDATA ) > +<!ATTLIST link + %simple-link-attributes; > + +<!ELEMENT objref EMPTY> +<!ATTLIST objref + string CDATA #REQUIRED > + +<!ELEMENT operation + ( transaction? + , requiredrights? ) > +<!ATTLIST operation + name CDATA #REQUIRED > + +<!-- an operation name of "*" specifies all operations in the current +scope --> +<!ELEMENT operationpolicies + ( operation+ ) > + +<!ELEMENT param EMPTY > +<!ATTLIST param + name CDATA #REQUIRED + value CDATA #REQUIRED > + +<!ELEMENT params (param+) > + +<!ELEMENT poapolicies EMPTY> +<!ATTLIST poapolicies + thread (ORB_CTRL_MODEL | SINGLE_THREAD_SAFE ) #REQUIRED + lifespan (TRANSIENT | PERSISTENT ) #REQUIRED + iduniqueness (UNIQUE_ID | MULTIPLE_ID) #REQUIRED + idassignment (USER_ID | SYSTEM_ID) #REQUIRED + servantretention (RETAIN | NON_RETAIN) #REQUIRED + requestprocessing (USE_ACTIVE_OBJECT_MAP_ONLY + |USE_DEFAULT_SERVANT + |USE_SERVANT_MANAGER) #REQUIRED + implicitactivation (IMPLICIT_ACTIVATION + |NON_IMPLICIT_ACTIVATION) #REQUIRED > + +<!ELEMENT ports + ( uses + | provides + | emits + | publishes + | consumes + )* > + +<!ELEMENT process + ( servant ) > + +<!ELEMENT provides + ( operationpolicies? + , extension* ) > +<!ATTLIST provides + providesname CDATA #REQUIRED + repid CDATA #REQUIRED + facettag CDATA #REQUIRED > + +<!ELEMENT pssimplementation EMPTY> +<!ATTLIST pssimplementation + id CDATA #REQUIRED > + +<!ELEMENT psstransaction (psstransactionisolationlevel?) > +<!ATTLIST psstransaction + policy (TRANSACTIONAL|NON_TRANSACTIONAL) #REQUIRED > + +<!ELEMENT psstransactionisolationlevel EMPTY> +<!ATTLIST psstransactionisolationlevel + level (READ_UNCOMMITTED|READ_COMMITTED|REPEATABLE_READ|SERIALIZABLE) + #REQUIRED > + +<!ELEMENT publishes + ( eventpolicy + , extension* ) > +<!ATTLIST publishes + publishesname CDATA #REQUIRED + eventtype CDATA #REQUIRED > + +<!ELEMENT repository + ( ins + | objref + | link + ) > +<!ATTLIST repository + type CDATA #IMPLIED > + +<!ELEMENT requiredrights + ( right* ) > + +<!ELEMENT right + ( description? ) > +<!ATTLIST right + name CDATA #REQUIRED > + +<!ELEMENT security + ( requiredrights? ) > +<!ATTLIST security + rightsfamily CDATA #REQUIRED + rightscombinator (secallrights | secanyrights) #REQUIRED > + +<!ELEMENT segment + ( segmentmember+ + , containermanagedpersistence? + , extension* + ) > +<!ATTLIST segment + name CDATA #REQUIRED + segmenttag CDATA #REQUIRED > + +<!ELEMENT segmentmember EMPTY> +<!ATTLIST segmentmember + facettag CDATA #REQUIRED > + +<!ELEMENT servant EMPTY > +<!ATTLIST servant + lifetime (component|method|transaction|container) #REQUIRED > + +<!ELEMENT service EMPTY > + +<!ELEMENT session + ( servant ) > + +<!ELEMENT storagehome EMPTY> +<!ATTLIST storagehome + id CDATA #REQUIRED > + +<!ELEMENT supportsinterface + ( operationpolicies? + , extension* ) > +<!ATTLIST supportsinterface + repid CDATA #REQUIRED > + +<!ELEMENT threading EMPTY> +<!ATTLIST threading + policy ( serialize | multithread ) #REQUIRED > + +<!ELEMENT transaction EMPTY > +<!ATTLIST transaction + use (self-managed|not-supported|required|supports|requiresnew| + mandatory|never) #REQUIRED > +<!ELEMENT unclassified + ( poapolicies ) > + +<!ELEMENT uses ( extension* ) > +<!ATTLIST uses + usesname CDATA #REQUIRED + repid CDATA #REQUIRED > diff --git a/modules/CIAO/docs/XML/properties.dtd b/modules/CIAO/docs/XML/properties.dtd new file mode 100644 index 00000000000..adfe8699fb7 --- /dev/null +++ b/modules/CIAO/docs/XML/properties.dtd @@ -0,0 +1,87 @@ +<!-- DTD for CORBA Component property file. The root element + is <properties>. Elements are listed alphabetically. +--> + +<!ELEMENT choice ( #PCDATA ) > + +<!ELEMENT choices ( choice | range )+ ) > + +<!ELEMENT defaultvalue ( #PCDATA ) > + +<!ELEMENT description ( #PCDATA ) > + +<!ELEMENT value ( #PCDATA ) > + +<!ELEMENT properties + ( description? + , ( simple + | sequence + | struct + | valuetype + )* + ) > + +<!ELEMENT range (value, value) > + +<!ELEMENT simple + ( description? + , value + , choices? + , defaultvalue? + ) > +<!ATTLIST simple + name CDATA #IMPLIED + type ( boolean + | char + | double + | float + | short + | long + | objref + | octet + | string + | ulong + | ushort + | longlong + | ulonglong + | wchar + | wstring + | fixed + ) #REQUIRED > + +<!ELEMENT sequence + ( description? + , ( simple* + | struct* + | sequence* + | valuetype* + ) + ) > +<!ATTLIST sequence + name CDATA #IMPLIED + type CDATA #REQUIRED > + +<!ELEMENT struct + ( description? + , ( simple + | sequence + | struct + | valuetype + )* + ) > +<!ATTLIST struct + name CDATA #IMPLIED + type CDATA #REQUIRED > + +<!ELEMENT valuetype + ( description? + , ( simple + | sequence + | struct + | valuetype + )* + ) > +<!ATTLIST valuetype + name CDATA #IMPLIED + type CDATA #REQUIRED + primarykey (true | false) "false" > diff --git a/modules/CIAO/docs/XML/softpkg.dtd b/modules/CIAO/docs/XML/softpkg.dtd new file mode 100644 index 00000000000..ee87b811cc6 --- /dev/null +++ b/modules/CIAO/docs/XML/softpkg.dtd @@ -0,0 +1,220 @@ +<!-- DTD for softpkg. Used to describe CORBA Component + implementations. The root element is <softpkg>. + Elements are listed alphabetically. + --> +<!-- Revision $Id$ --> +<!-- Simple xml link attributes based on W3C WD-xlink-19980303. + May change when XLL is finalized. --> + +<!ENTITY % simple-link-attributes " + xml:link CDATA #FIXED 'SIMPLE' + href CDATA #REQUIRED +"> + +<!ELEMENT author + ( name + | company + | webpage + )* > + +<!ELEMENT code + ( ( codebase + | fileinarchive + | link + ) + , entrypoint? + , usage? + ) > +<!ATTLIST code + type CDATA #IMPLIED > + +<!-- If file not available locally, then download via codebase link --> +<!ELEMENT codebase EMPTY > +<!ATTLIST codebase + filename CDATA #IMPLIED + %simple-link-attributes; > + +<!ELEMENT compiler EMPTY > +<!ATTLIST compiler + name CDATA #REQUIRED + version CDATA #IMPLIED > + +<!ELEMENT company ( #PCDATA ) > + +<!ELEMENT dependency + ( softpkgref + | codebase + | fileinarchive + | localfile + | name + | valuetypefactory + ) > +<!ATTLIST dependency + type CDATA #IMPLIED + action (assert | install) "assert"> + +<!ELEMENT description ( #PCDATA ) > + +<!ELEMENT descriptor + ( link + | fileinarchive + ) > +<!ATTLIST descriptor + type CDATA #IMPLIED> + +<!ELEMENT entrypoint ( #PCDATA) > + +<!-- The "extension" element is used for vendor-specific extensions --> +<!ELEMENT extension (#PCDATA) > +<!ATTLIST extension + class CDATA #REQUIRED + origin CDATA #REQUIRED + id ID #IMPLIED + extra CDATA #IMPLIED + html-form CDATA #IMPLIED > + +<!-- The "fileinarchive" element is used to specify a file in the archive. + If the file is in another archive then link is used to point to + the archive in which the file may be found. + --> +<!ELEMENT fileinarchive + ( link? ) > +<!ATTLIST fileinarchive + name CDATA #REQUIRED > + +<!ELEMENT idl + ( link + | fileinarchive + | repository + ) > +<!ATTLIST idl + id CDATA #REQUIRED + homeid CDATA #REQUIRED > + +<!ELEMENT implementation + ( description + | code + | compiler + | dependency + | descriptor + | extension + | programminglanguage + | humanlanguage + | os + | propertyfile + | processor + | runtime + )* > +<!ATTLIST implementation + id ID #IMPLIED + variation CDATA #IMPLIED > + +<!ELEMENT implref EMPTY > +<!ATTLIST implref + idref CDATA #REQUIRED > + +<!ELEMENT ins EMPTY > +<!ATTLIST inc + name CDATA #REQUIRED > + +<!ELEMENT humanlanguage EMPTY > +<!ATTLIST humanlanguage + name CDATA #REQUIRED > + +<!ELEMENT license ( #PCDATA ) > +<!ATTLIST license + %simple-link-attributes; > + +<!ELEMENT link ( #PCDATA ) > +<!ATTLIST link + %simple-link-attributes; > + +<!-- A file that should be available in the local environment --> +<!ELEMENT localfile EMPTY > +<!ATTLIST localfile + name CDATA #REQUIRED > + +<!ELEMENT name ( #PCDATA ) > + +<!ELEMENT objref EMPTY > +<!ATTLIST objref + string CDATA #REQUIRED > + +<!ELEMENT os EMPTY > +<!ATTLIST os + name CDATA #REQUIRED + version CDATA #IMPLIED> + +<!ELEMENT pkgtype ( #PCDATA ) > +<!ATTLIST pkgtype + version CDATA #IMPLIED > + +<!ELEMENT processor EMPTY > +<!ATTLIST processor + name CDATA #REQUIRED > + +<!ELEMENT programminglanguage EMPTY> +<!ATTLIST programminglanguage + name CDATA #REQUIRED + version CDATA #IMPLIED > + +<!ELEMENT propertyfile + ( fileinarchive + | link) > +<!ATTLIST propertyfile + type CDATA #IMPLIED > + +<!ELEMENT repository + ( ins + | objref + | link + ) > +<!ATTLIST repository + type CDATA #IMPLIED > + +<!ELEMENT runtime EMPTY > +<!ATTLIST runtime + name CDATA #REQUIRED + version CDATA #IMPLIED> + +<!ELEMENT softpkg + ( title + | pkgtype + | author + | description? + | license + | idl + | propertyfile + | dependency + | descriptor + | implementation + | extension + )* > +<!ATTLIST softpkg + name ID #REQUIRED + version CDATA #IMPLIED > + +<!ELEMENT softpkgref + ( ( fileinarchive + | link + ) + , implref? + ) > + +<!ELEMENT title ( #PCDATA ) > + +<!ELEMENT usage ( #PCDATA ) > + +<!ELEMENT valuetypefactory + ( codebase + | fileinarchive + | link + ) > +<!ATTLIST valuetypefactory + repid CDATA #REQUIRED + valueentrypoint CDATA #IMPLIED + factoryentrypoint CDATA #IMPLIED > + +<!ELEMENT webpage ( #PCDATA ) > +<!ATTLIST webpage + %simple-link-attributes; > |