<!--
    FILE INFORMATION

    OMA Permanent Document
       File: OMA-SUP-DTD_xhtml_mobile12-V1_2-20080331-A
       Type: Text

    Public Reachable Information
       Path: http://www.openmobilealliance.org/tech/DTD
       Name: xhtml-mobile12.dtd

    NORMATIVE INFORMATION

    Information about this file can be found in the specification
     OMA-TS-XHTMLMP-V1_2-20080331-A available at
       http://www.openmobilealliance.org/

    Send comments to technical-comments@mail.openmobilealliance.org
	
    LEGAL DISCLAIMER

    Use of this document is subject to all of the terms and conditions
    of the Use Agreement located at
        http://www.openmobilealliance.org/UseAgreement.html

    You may use this document or any part of the document for internal
    or educational purposes only, provided you do not modify, edit or
    take out of context the information in this document in any manner.
    Information contained in this document may be used, at your sole
    risk, for any purposes.

    You may not use this document in any other manner without the prior
    written permission of the Open Mobile Alliance.  The Open Mobile
    Alliance authorizes you to copy this document, provided that you
    retain all copyright and other proprietary notices contained in the
    original materials on any copies of the materials and that you
    comply strictly with these terms.  This copyright permission does
    not constitute an endorsement of the products or services.  The
    Open Mobile Alliance assumes no responsibility for errors or
    omissions in this document.

    Each Open Mobile Alliance member has agreed to use reasonable
    endeavors to inform the Open Mobile Alliance in a timely manner of
    Essential IPR as it becomes aware that the Essential IPR is related
    to the prepared or published specification.  However, the members
    do not have an obligation to conduct IPR searches.  The declared
    Essential IPR is publicly available to members and non-members of
    the Open Mobile Alliance and may be found on the "OMA IPR
    Declarations" list at http://www.openmobilealliance.org/ipr.html.
    The Open Mobile Alliance has not conducted an independent IPR review
    of this document and the information contained herein, and makes no
    representations or warranties regarding third party IPR, including
    without limitation patents, copyrights or trade secret rights.  This
    document may contain inventions for which you must obtain licenses
    from third parties before making, using or selling the inventions.
    Defined terms above are set forth in the schedule to the Open Mobile
    Alliance Application Form.

    NO REPRESENTATIONS OR WARRANTIES (WHETHER EXPRESS OR IMPLIED) ARE
    MADE BY THE OPEN MOBILE ALLIANCE OR ANY OPEN MOBILE ALLIANCE MEMBER
    OR ITS AFFILIATES REGARDING ANY OF THE IPR'S REPRESENTED ON THE "OMA
    IPR DECLARATIONS" LIST, INCLUDING, BUT NOT LIMITED TO THE ACCURACY,
    COMPLETENESS, VALIDITY OR RELEVANCE OF THE INFORMATION OR WHETHER OR     
    NOT SUCH RIGHTS ARE ESSENTIAL OR NON-ESSENTIAL.

    THE OPEN MOBILE ALLIANCE IS NOT LIABLE FOR AND HEREBY DISCLAIMS ANY
    DIRECT, INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR
    EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OF
    DOCUMENTS AND THE INFORMATION CONTAINED IN THE DOCUMENTS.

    Copyright 2008 Open Mobile Alliance Ltd.  All Rights Reserved.
    Used with the permission of the Open Mobile Alliance Ltd. under the
    terms set forth above.
-->
<!-- This is the driver file for version 1.2 of the XHTML Mobile DTD.

     This DTD is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC: "-//OMA//DTD XHTML Mobile 1.2//EN"
     SYSTEM: "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"
-->
<!ENTITY % XHTML.version  "-//OMA//DTD XHTML Mobile 1.2//EN" >

<!-- Use this URI to identify the default namespace:

         "http://www.w3.org/1999/xhtml"

     See the Qualified Names module for information
     on the use of namespace prefixes in the DTD.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % XHTML.prefix  "" >

<!-- For example, if you are using XHTML Mobile 1.2 directly, use
     the FPI in the DOCTYPE declaration, with the xmlns attribute
     on the document element to identify the default namespace:

         <?xml version="1.0"?>
         <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN"
             "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd" >
         <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
         ...
         </html>
-->

<!-- Reserved for future use with document profiles -->
<!ENTITY % XHTML.profile  "" >

<!-- Intrinsic Events Module  ................................................... -->
<!ENTITY % xhtml-events.module "INCLUDE" >

<!-- Inline Style Module  ....................................................... -->
<!ENTITY % xhtml-inlstyle.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inline Style 1.0//EN"
            "../xhtml11/xhtml-inlstyle-1.mod" >
%xhtml-inlstyle.mod;

<!-- Document Model ............................................................. -->
<!ENTITY % xhtml-model.mod
     PUBLIC "-//OMA//ENTITIES XHTML Mobile 1.2 Document Model 1.0//EN"
            "xhtml-mobile12-model-1.mod" >

<!-- XHTML Framework ............................................................ -->
<!ENTITY % XHTML.bidi  "IGNORE" >
<!ENTITY % xhtml-framework.mod
     PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
            "../xhtml11/xhtml-framework-1.mod" >
%xhtml-framework.mod;

<!-- XHTML Core Modules ......................................................... -->
<!ENTITY % pre.content
     "( #PCDATA
      | %InlStruct.class;
      %InlPhras.class;
      %Anchor.class;
      %Inline.extra; )*"
>

<!ENTITY % xhtml-text.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
            "../xhtml11/xhtml-text-1.mod" >
%xhtml-text.mod;

<!ENTITY % xhtml-hypertext.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
            "../xhtml11/xhtml-hypertext-1.mod" >
%xhtml-hypertext.mod;

<!ENTITY % xhtml-list.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
            "../xhtml11/xhtml-list-1.mod" >
%xhtml-list.mod;
<!-- Extend lists with value and start attributes --> 
<!ATTLIST %li.qname;
      value        %Number.datatype;         #IMPLIED
>
<!ATTLIST %ol.qname;
      start        %Number.datatype;        #IMPLIED
>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Image Module  ............................................... -->
<!ENTITY % xhtml-image.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
            "../xhtml11/xhtml-image-1.mod" >
%xhtml-image.mod;

<!-- Tables Module ............................................... -->
<!ENTITY % xhtml-table.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN"
            "../xhtml11/xhtml-basic-table-1.mod" >
%xhtml-table.mod;

<!-- Forms Module  ............................................... 
	XHTML Form with an inputmode extension from XForm 1.0
-->

<!ENTITY % xhtml-form.mod
     PUBLIC "-//OMA//ELEMENTS XHTML MP 1.2 Forms 1.0//EN"
            "xhtmlmp12-form-1.mod" >
%xhtml-form.mod;

<!-- Link Element Module  ........................................ -->
<!ENTITY % xhtml-link.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
            "../xhtml11/xhtml-link-1.mod" >
%xhtml-link.mod;

<!-- Document Metainformation Module  ............................ -->
<!ENTITY % xhtml-meta.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
            "../xhtml11/xhtml-meta-1.mod" >
%xhtml-meta.mod;

<!-- Base Element Module  ........................................ -->
<!ENTITY % xhtml-base.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
            "../xhtml11/xhtml-base-1.mod" >
%xhtml-base.mod;

<!-- Scripting Module  ........................................... -->
<!ENTITY % xhtml-script.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN"
            "../xhtml11/xhtml-script-1.mod" >
%xhtml-script.mod;

<!-- Style Sheets Module  ......................................... -->
<!ENTITY % xhtml-style.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN"
            "../xhtml11/xhtml-style-1.mod" >
%xhtml-style.mod;

<!-- Param Element Module  ....................................... -->
<!ENTITY % xhtml-param.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
            "../xhtml11/xhtml-param-1.mod" >
%xhtml-param.mod;

<!-- Embedded Object Module  ..................................... -->
<!ENTITY % xhtml-object.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
            "../xhtml11/xhtml-object-1.mod" >
%xhtml-object.mod;

<!-- Document Structure Module  ..................................... -->
<!ENTITY % xhtml-struct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
            "../xhtml11/xhtml-struct-1.mod" >
%xhtml-struct.mod;

<!-- Block Presentation ........................................ -->
<!ENTITY % xhtml-blkpres.mod PUBLIC "-//W3C//ELEMENTS XHTML Block Presentation 1.0//EN"
 		"../xhtml11/xhtml-blkpres-1.mod" >
%xhtml-blkpres.mod;

<!-- ========================================== -->
<!--
      XHTMLMP 1.2 Inline Presentation: all of XHTML Mod Presentation module
(b, big, hr, i, small, sub, sup, tt) not just the subset (b, big, hr, i,
small) as in XHTMLMP 1.1
-->
<!ENTITY % xhtml-inlpres.mod PUBLIC "-//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN"
		"../xhtml11/xhtml-inlpres-1.mod">
%xhtml-inlpres.mod;

<!-- end of XHTML Mobile 1.2 DTD  ........................................... -->

