<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SystemDefinition [
<!ELEMENT SystemDefinition ( systemModel )>
<!ATTLIST SystemDefinition
name CDATA #REQUIRED
schema CDATA #REQUIRED
>
<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not. -->
<!-- System Model Section of DTD -->
<!ELEMENT systemModel (layer+)>
<!ELEMENT layer (block* | collection*)*>
<!-- Kernel Services, Base Services, OS Services, Etc -->
<!ATTLIST layer
name CDATA #REQUIRED
long-name CDATA #IMPLIED
levels NMTOKENS #IMPLIED
span CDATA #IMPLIED
>
<!ELEMENT block (subblock* | collection*)*>
<!-- Generic OS services, Comms Services, etc -->
<!ATTLIST block
levels NMTOKENS #IMPLIED
span CDATA #IMPLIED
level NMTOKEN #IMPLIED
name CDATA #REQUIRED
long-name CDATA #IMPLIED
>
<!ELEMENT subblock (collection)*>
<!-- Cellular Baseband Services, Networking Services, etc -->
<!ATTLIST subblock
name CDATA #REQUIRED
long-name CDATA #IMPLIED
>
<!ELEMENT collection (component)*>
<!-- Screen Driver, Content Handling, etc -->
<!ATTLIST collection
name CDATA #REQUIRED
long-name CDATA #IMPLIED
level NMTOKEN #IMPLIED
>
<!ELEMENT component (unit)*>
<!-- contains units or is a package or prebuilt -->
<!ATTLIST component
name CDATA #REQUIRED
long-name CDATA #IMPLIED
deprecated CDATA #IMPLIED
introduced CDATA #IMPLIED
contract CDATA #IMPLIED
plugin (Y|N) "N"
filter CDATA #IMPLIED
class NMTOKENS #IMPLIED
supports CDATA #IMPLIED
purpose ( optional | mandatory | development ) "optional"
>
<!ELEMENT unit EMPTY >
<!-- must be buildable (bld.inf) -->
<!-- bldFile may someday be removed in favour of mrp -->
<!ATTLIST unit
mrp CDATA #IMPLIED
filter CDATA #IMPLIED
bldFile CDATA #IMPLIED
root CDATA #IMPLIED
version NMTOKEN #IMPLIED
prebuilt NMTOKEN #IMPLIED
late (Y|N) #IMPLIED
priority CDATA #IMPLIED
>
]>
<SystemDefinition name="Symbian^4" schema="2.0.1">
<systemModel>
<layer name="mw" long-name="Middleware" levels="generic specific">
<block name="srvdiscovery" level="generic" long-name="Service Discovery and Usage" levels="plugin framework server generic specific">
<collection name="upnpstack_plat" long-name="UPnP Stack Platform Interfaces" level="specific">
<component name="upnp_device_api" long-name="UPnP Device API" purpose="optional" introduced="^3" class="api">
<unit bldFile="/sf/mw/srvdiscovery/upnp/upnpstack_plat/upnp_device_api/group"/>
</component>
<component name="upnp_common_api" long-name="UPnP Common API" purpose="optional" introduced="^3" class="api">
<unit bldFile="/sf/mw/srvdiscovery/upnp/upnpstack_plat/upnp_common_api/group"/>
</component>
<component name="upnp_utils_api" long-name="UPnP Utils API" purpose="optional" introduced="^3" class="api">
<unit bldFile="/sf/mw/srvdiscovery/upnp/upnpstack_plat/upnp_utils_api/group"/>
</component>
<component name="upnp_control_point_api" long-name="UPnP Control Point API" purpose="optional" introduced="^3" class="api">
<unit bldFile="/sf/mw/srvdiscovery/upnp/upnpstack_plat/upnp_control_point_api/group"/>
</component>
<component name="upnp_httpserver_api" long-name="UPnP HTTP Server API" purpose="optional" introduced="^3" class="api">
<unit bldFile="/sf/mw/srvdiscovery/upnp/upnpstack_plat/upnp_httpserver_api/group"/>
</component>
<component name="upnp_http_transfer_api" long-name="UPnP HTTP Transfer API" purpose="optional" introduced="^3" class="api">
<unit bldFile="/sf/mw/srvdiscovery/upnp/upnpstack_plat/upnp_http_transfer_api/group"/>
</component>
</collection>
<collection name="servicediscoveryandcontrol" long-name="Service Discovery and Control" level="framework">
<component name="servicediscoveryfw" long-name="Service Discovery Framework" introduced="^3" purpose="optional">
<unit bldFile="/sf/mw/srvdiscovery/servicediscoveryandcontrol/pnp/group" mrp="/sf/mw/srvdiscovery/servicediscoveryandcontrol/pnp/group/servicediscoveryframework.mrp"/>
</component>
</collection>
<collection name="upnp" long-name="UPnP" level="server">
<component name="upnpstack" long-name="UPnP Stack" introduced="^3" purpose="optional">
<unit bldFile="/sf/mw/srvdiscovery/upnp/upnpstack/group"/>
</component>
</collection>
<collection name="srvdiscovery_info" long-name="Service Discovery and Usage Info" level="specific">
<component name="srvdiscovery_metadata" long-name="Service Discovery and Usage Metadata" introduced="^2" purpose="development" class="config PC">
<unit mrp="/sf/mw/srvdiscovery/srvdiscovery_info/srvdiscovery_metadata/srvdiscovery_metadata.mrp"/>
</component>
</collection>
</block>
</layer>
</systemModel>
</SystemDefinition>