<!--
Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).    
All rights reserved.                                                      
This component and the accompanying materials are made available          
under the terms of "Eclipse Public License v1.0"                          
which accompanies this distribution, and is available                     
at the URL "http://www.eclipse.org/legal/epl-v10.html".                   
                                                                          
Initial Contributors:                                                     
Nokia Corporation - initial contribution.                                 
                                                                          
Contributors:                                                             
                                                                          
Description:                                                              

-->
<!ELEMENT imageContent  (version?, romchecksum?, time?, 
                         options?, romgeometry, romtarget, romscope?)+>

<!ELEMENT version       (#PCDATA)>
<!ELEMENT romchecksum   (#PCDATA)>
<!ELEMENT time          (#PCDATA)>
<!ELEMENT romgeometry   (image+)>
<!ELEMENT romtarget     (target+)>
<!ELEMENT romscope      ((obyFile|cdf)+)>

<!ELEMENT options       ((binaryselectionorder | trace       | bootbinary    |
                          dataaddress          | debugport   | 
                          defaultstackreserve  | device      | 
                          wrapper              | kernel      | primary+      | 
                          secondary+           | romalign    | romlinearbase | 
                          variant              | autosize    | extension     | coreimage)+)>

<!ELEMENT binaryselectionorder (#PCDATA)>
<!ELEMENT trace         (#PCDATA)>
<!ELEMENT bootbinary    (#PCDATA)>
<!ELEMENT wrapper       (#PCDATA)>
<!ATTLIST wrapper type  (none|epoc|coff) #REQUIRED>

<!ELEMENT kernel        (dataaddress, heapmax, heapmin, name, trace?)>
<!ATTLIST kernel number (single|multi) #IMPLIED>

<!ELEMENT heapmax   (#PCDATA)>
<!ELEMENT heapmin   (#PCDATA)>
<!ELEMENT name   (#PCDATA)>

<!ELEMENT dataaddress   (#PCDATA)>
<!ELEMENT debugport     (#PCDATA)>
<!ELEMENT defaultstackreserve   (#PCDATA)>
<!ELEMENT device        (file+)>
<!ELEMENT primary       (file+)>
<!ELEMENT secondary     (file+)>
<!ELEMENT variant       (file+)>
<!ELEMENT extension     (file+)>
<!ELEMENT romalign      (#PCDATA)>
<!ELEMENT romlinearbase (#PCDATA)>
<!ELEMENT autosize      (#PCDATA)>
<!ELEMENT coreimage     (#PCDATA)>

<!ELEMENT file       (source,destination,fixed?)>
<!ATTLIST file
	   id CDATA #REQUIRED>
<!ELEMENT source       (#PCDATA)>
<!ELEMENT destination  (#PCDATA)>
<!ELEMENT fixed	       (#PCDATA)>


<!ELEMENT image         (partition?)>
<!ATTLIST image
        id              CDATA #REQUIRED
        name            CDATA #REQUIRED
        type            (xip|nonxip) #REQUIRED
        compression     (compress|nocompress) #IMPLIED
        extension       (yes|no) "no"
        size            CDATA #REQUIRED>

<!ELEMENT target        (include,exclude?)>
<!ATTLIST target imageid CDATA #REQUIRED>
<!--- target imageid of any allowed where it there is no constraints on 
      which image the files should be placed. -->
<!ELEMENT include       ((feature|obyFile|cdf)+)>
<!ELEMENT exclude       (feature+)>
<!ELEMENT partition     (#PCDATA)>
<!ELEMENT feature       EMPTY>
<!ATTLIST feature name  CDATA #IMPLIED
                  uid   CDATA #IMPLIED>
<!ELEMENT obyFile       (#PCDATA)>
<!ELEMENT cdf           (#PCDATA)>
<!ATTLIST cdf type      (file|dir) "file">
