<?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="inputmethods" level="generic" long-name="Input Methods" levels="plugin engine framework api">
<collection name="inputmethods_pub" long-name="Input Methods Public Interfaces" level="api">
<component name="ptiengine_iti_api" long-name="PTI Engine API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_pub/ptiengine_iti_api/group"/>
</component>
<component name="optical_character_recognition_api" long-name="Optical Character Recognition API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_pub/optical_character_recognition_api/group"/>
</component>
<component name="input_language_info_api" long-name="Input Language Info API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_pub/input_language_info_api/group"/>
</component>
</collection>
<collection name="inputmethods_plat" long-name="Input Methods Platform Interfaces" level="api">
<component name="pen_input_server_api" long-name="Pen Input Server API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/pen_input_server_api/group" filter="!test"/>
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/pen_input_server_api/tsrc/group" filter="test,api_test"/>
</component>
<component name="ptiengine_hwr_api" long-name="PTI Engine Handwriting Recognition API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/ptiengine_hwr_api/group" filter="!test"/>
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/ptiengine_hwr_api/tsrc/group" filter="test,api_test"/>
</component>
<component name="aknfep_settings_api" long-name="Avkon FEP Settings API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/aknfep_settings_api/group"/>
</component>
<component name="aknfep_status_api" long-name="Avkon FEP Status API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/aknfep_status_api/group"/>
</component>
<component name="ptiengine_key_definations_api" long-name="PTI Engine Key Definitions API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/ptiengine_key_definations_api/group"/>
</component>
<component name="aknfep_definitions_api" long-name="Avkon FEP Definitions API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/aknfep_definitions_api/group"/>
</component>
<component name="aknfep_pen_support_api" long-name="Avkon FEP Pen Support API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/aknfep_pen_support_api/group"/>
</component>
<component name="ptiengine_indic_definitions_api" long-name="PTI Engine Indic Definitions API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/ptiengine_indic_definitions_api/group"/>
</component>
<component name="aknfep_uiinterface_api" long-name="Avkon FEP UI Interface API" filter="s60" class="api">
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/aknfep_uiinterface_api/group" filter="!test"/>
<unit bldFile="/sf/mw/inputmethods/inputmethods_plat/aknfep_uiinterface_api/tsrc/group" filter="test,api_test"/>
</component>
</collection>
<collection name="textinput" long-name="Text Input" level="framework">
<component name="ptienginev2" filter="s60" long-name="Predictive Text Input Engine">
<!--uncomment when configuration is turned on and textinput_build is removed-->
<!-- <unit bldFile="textinput/ptienginev2/group"/>-->
</component>
<component name="akninputlanguage" filter="s60" long-name="Avkon Input Language">
<unit bldFile="/sf/mw/inputmethods/textinput/akninputlanguage/group"/>
</component>
<component name="ptihangulcore" filter="s60" long-name="PIT Hangul Core" introduced="^3">
<unit bldFile="/sf/mw/inputmethods/textinput/ptihangulcore/group"/>
</component>
<component name="ptikoreanqwertycore" filter="s60" long-name="PTI Korean QWERTY Core" introduced="^3">
<unit bldFile="/sf/mw/inputmethods/textinput/ptikoreanqwertycore/group"/>
</component>
<component name="peninputarc" filter="s60" long-name="Pen Input Arc">
<unit bldFile="/sf/mw/inputmethods/textinput/peninputarc/group"/>
</component>
<component name="peninputcommonctrls" filter="s60" long-name="Pen Input Common Controls">
<unit bldFile="/sf/mw/inputmethods/textinput/peninputcommonctrls/group"/>
</component>
<component name="peninputcommonlayout" filter="s60" long-name="Pen Input Common Layout">
<unit bldFile="/sf/mw/inputmethods/textinput/peninputcommonlayout/group"/>
</component>
<component name="peninputhwrtrui" filter="s60" long-name="Pen Input Handwriting Recognition Training UI" introduced="^3" plugin="Y">
<unit bldFile="/sf/mw/inputmethods/textinput/peninputhwrtrui/group"/>
</component>
<component name="textinput_build" filter="s60" long-name="Text Input Build">
<!--needed for #ifdef, can be removed when configuration is implemented -->
<unit bldFile="/sf/mw/inputmethods/textinput/group"/>
</component>
</collection>
<collection name="fep" long-name="FEP" level="engine">
<component name="aknfep" filter="s60" long-name="Avkon FEP" plugin="Y">
<unit bldFile="/sf/mw/inputmethods/fep/aknfep/group"/>
</component>
<component name="frontendprocessor" long-name="Front End Processor" purpose="mandatory">
<unit bldFile="/sf/mw/inputmethods/fep/frontendprocessor/group" mrp="/sf/mw/inputmethods/fep/frontendprocessor/group/app-framework_fepbase.mrp"/>
</component>
</collection>
<collection name="inputmethods_info" long-name="Input Methods Info" level="api">
<component name="inputmethods_api_tests" filter="s60,test,api_test" long-name="Input Methods API Tests" introduced="^2" purpose="development">
<unit bldFile="/sf/mw/inputmethods/tsrc/group"/>
</component>
<component name="inputmethods_metadata" long-name="Input Methods Metadata" introduced="^2" purpose="development" class="config PC">
<unit mrp="/sf/mw/inputmethods/inputmethods_info/inputmethods_metadata/inputmethods_metadata.mrp"/>
</component>
</collection>
</block>
</layer>
</systemModel>
</SystemDefinition>