xml/legacyminidomparser/xmlparser/test/t_SmilData.h
changeset 34 c7e9f1c97567
parent 0 e35f40988205
equal deleted inserted replaced
25:417699dc19c9 34:c7e9f1c97567
       
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // This file contains the definitions of elemenent names and transitions
       
    15 // for the SMIL DTD.
       
    16 // 
       
    17 //
       
    18 
       
    19 /**
       
    20  @file
       
    21 */
       
    22 
       
    23 #ifndef T_SMILDATA_H
       
    24 #define T_SMILDATA_H
       
    25 
       
    26 // Constants for the initial and terminal states
       
    27 const TInt KSMILDTDStartState = 0;
       
    28 const TInt KSMILDTDEndState = -1;
       
    29 const TInt KSMILDTDMinJump = 5; // Don't do binary chop below this size.  Not a critical value.
       
    30 
       
    31 #define MAKESMILDTDSTATETYPE( from, to, str ) { from, to, _S(str), (sizeof(str)-1) }
       
    32 
       
    33 //Literal definitions for element names
       
    34 _LIT(KSMILDTDElta, "a");
       
    35 _LIT(KSMILDTDEltanchor, "anchor");
       
    36 _LIT(KSMILDTDEltanimation, "animation");
       
    37 _LIT(KSMILDTDEltarea, "area");
       
    38 _LIT(KSMILDTDEltaudio, "audio");
       
    39 _LIT(KSMILDTDEltbody, "body");
       
    40 _LIT(KSMILDTDElthead, "head");
       
    41 _LIT(KSMILDTDEltimg, "img");
       
    42 _LIT(KSMILDTDEltlayout, "layout");
       
    43 _LIT(KSMILDTDEltpar, "par");
       
    44 _LIT(KSMILDTDEltprefetch, "prefetch");
       
    45 _LIT(KSMILDTDEltref, "ref");
       
    46 _LIT(KSMILDTDEltregion, "region");
       
    47 _LIT(KSMILDTDEltroot_layout, "root-layout");
       
    48 _LIT(KSMILDTDEltseq, "seq");
       
    49 _LIT(KSMILDTDEltsmil, "smil");
       
    50 _LIT(KSMILDTDEltswitch, "switch");
       
    51 _LIT(KSMILDTDElttext, "text");
       
    52 _LIT(KSMILDTDElttextstream, "textstream");
       
    53 _LIT(KSMILDTDEltvideo, "video");
       
    54 _LIT(KSMILDTDEltmeta, "meta");
       
    55 _LIT(KSMILDTDEltmetadata, "metadata");
       
    56 _LIT(KSMILDTDEltDoc, "documentelement");
       
    57 _LIT(KSMILDTDEltTrans, "transition");
       
    58 // Child Validation States
       
    59 
       
    60 // Array of allowed child element state transitions
       
    61 // <!ELEMENT  seq (text|img|audio|video|animation|textstream|ref|switch|a|anchor|area|par|seq)*>
       
    62 // Same for par
       
    63 // Entries must be sorted by tag and then by from state
       
    64 LOCAL_D const TSMILDTDChildStateType SMILDTDTimingChildStates[15] =
       
    65 	{
       
    66 		MAKESMILDTDSTATETYPE(0,    -1, ""),
       
    67 		MAKESMILDTDSTATETYPE(0,     0, "a"),
       
    68 		MAKESMILDTDSTATETYPE(0,     0, "anchor"),
       
    69 		MAKESMILDTDSTATETYPE(0,     0, "animation"),
       
    70 		MAKESMILDTDSTATETYPE(0,     0, "area"),
       
    71 		MAKESMILDTDSTATETYPE(0,     0, "audio"),
       
    72 		MAKESMILDTDSTATETYPE(0,     0, "img"),
       
    73 		MAKESMILDTDSTATETYPE(0,     0, "par"),
       
    74 		MAKESMILDTDSTATETYPE(0,     0, "prefetch"), 
       
    75 		MAKESMILDTDSTATETYPE(0,     0, "ref"),
       
    76 		MAKESMILDTDSTATETYPE(0,     0, "seq"),
       
    77 		MAKESMILDTDSTATETYPE(0,     0, "switch"),
       
    78 		MAKESMILDTDSTATETYPE(0,     0, "text"),
       
    79 		MAKESMILDTDSTATETYPE(0,     0, "textstream"),
       
    80 		MAKESMILDTDSTATETYPE(0,     0, "video")
       
    81 	};
       
    82 
       
    83 LOCAL_D const TInt KSMILDTDTimingChildStateTranCount = 15;
       
    84 
       
    85 
       
    86 LOCAL_D const TSMILDTDChildStateType SMILDTDAChildStates[8] =
       
    87 	{
       
    88 		MAKESMILDTDSTATETYPE(0,    -1, ""),
       
    89 		MAKESMILDTDSTATETYPE(0,     0, "animation"),
       
    90 		MAKESMILDTDSTATETYPE(0,     0, "audio"),
       
    91 		MAKESMILDTDSTATETYPE(0,     0, "img"),
       
    92 		MAKESMILDTDSTATETYPE(0,     0, "ref"),
       
    93 		MAKESMILDTDSTATETYPE(0,     0, "text"),
       
    94 		MAKESMILDTDSTATETYPE(0,     0, "textstream"),
       
    95 		MAKESMILDTDSTATETYPE(0,     0, "video")
       
    96 	};
       
    97 
       
    98 LOCAL_D const TInt KSMILDTDAChildStateTranCount = 8;
       
    99 
       
   100 
       
   101 // Array of allowed child element state transitions
       
   102 // <!ELEMENT  body (par|seq|text|img|audio|video|animation|textstream|ref|switch|a|anchor|area)*>
       
   103 // Entries must be sorted by tag and then by from state
       
   104 LOCAL_D const TSMILDTDChildStateType SMILDTDBodyChildStates[15] =
       
   105 	{
       
   106 		MAKESMILDTDSTATETYPE(0,    -1, ""),
       
   107 		MAKESMILDTDSTATETYPE(0,     0, "a"),
       
   108 		MAKESMILDTDSTATETYPE(0,     0, "anchor"),
       
   109 		MAKESMILDTDSTATETYPE(0,     0, "area"),
       
   110 		MAKESMILDTDSTATETYPE(0,     0, "animation"),
       
   111 		MAKESMILDTDSTATETYPE(0,     0, "audio"),
       
   112 		MAKESMILDTDSTATETYPE(0,     0, "img"),
       
   113 		MAKESMILDTDSTATETYPE(0,     0, "par"),
       
   114 		MAKESMILDTDSTATETYPE(0,     0, "prefetch"),
       
   115 		MAKESMILDTDSTATETYPE(0,     0, "ref"),
       
   116 		MAKESMILDTDSTATETYPE(0,     0, "seq"),
       
   117 		MAKESMILDTDSTATETYPE(0,     0, "switch"),
       
   118 		MAKESMILDTDSTATETYPE(0,     0, "text"),
       
   119 		MAKESMILDTDSTATETYPE(0,     0, "textstream"),
       
   120 		MAKESMILDTDSTATETYPE(0,     0, "video")
       
   121 	};
       
   122 
       
   123 LOCAL_D const TInt KSMILDTDBodyChildStateTranCount = 15;
       
   124 
       
   125 
       
   126 // Array of allowed child element state transitions
       
   127 // <!ELEMENT  head (layout|switch)?> PLUS we allow meta's anywhere!
       
   128 // Entries must be sorted by tag and then by from state
       
   129 LOCAL_D const TSMILDTDChildStateType SMILDTDHeadChildStates[10] =
       
   130 	{
       
   131 		MAKESMILDTDSTATETYPE(0,    -1, ""),
       
   132 		MAKESMILDTDSTATETYPE(1,    -1, ""),
       
   133 		MAKESMILDTDSTATETYPE(0,     1, "layout"),
       
   134 		MAKESMILDTDSTATETYPE(0,     0, "meta"),
       
   135 		MAKESMILDTDSTATETYPE(1,     1, "meta"),
       
   136 		MAKESMILDTDSTATETYPE(0,     0, "metadata"),
       
   137 		MAKESMILDTDSTATETYPE(1,     1, "metadata"),
       
   138 		MAKESMILDTDSTATETYPE(0,     0, "transition"),
       
   139 		MAKESMILDTDSTATETYPE(1,     1, "transition"),
       
   140 		MAKESMILDTDSTATETYPE(0,     1, "switch")
       
   141 	};
       
   142 
       
   143 LOCAL_D const TInt KSMILDTDHeadChildStateTranCount = 10;
       
   144 
       
   145 
       
   146 // Array of allowed child element state transitions
       
   147 // <!ELEMENT  layout (root-layout?,(region)*)>
       
   148 // Entries must be sorted by tag and then by from state
       
   149 LOCAL_D const TSMILDTDChildStateType SMILDTDLayoutChildStates[5] =
       
   150 	{
       
   151 		MAKESMILDTDSTATETYPE(0,    -1, ""),
       
   152 		MAKESMILDTDSTATETYPE(1,    -1, ""),
       
   153 		MAKESMILDTDSTATETYPE(0,     1, "region"),
       
   154 		MAKESMILDTDSTATETYPE(1,     1, "region"),
       
   155 		MAKESMILDTDSTATETYPE(0,     1, "root-layout")
       
   156 	};
       
   157 
       
   158 LOCAL_D const TInt KSMILDTDLayoutChildStateTranCount = 5;
       
   159 
       
   160 
       
   161 // Array of allowed child element state transitions
       
   162 // <!ELEMENT MediaObject (area|anchor)*>
       
   163 // Entries must be sorted by tag and then by from state
       
   164 LOCAL_D const TSMILDTDChildStateType SMILDTDMediaChildStates[3] =
       
   165 	{
       
   166 	MAKESMILDTDSTATETYPE( 0, -1, "") ,
       
   167 	MAKESMILDTDSTATETYPE( 0,  0, "anchor"),
       
   168 	MAKESMILDTDSTATETYPE( 0,  0, "area")
       
   169 	};
       
   170 
       
   171 LOCAL_D const TInt KSMILDTDMediaChildStateTranCount = 3;
       
   172 
       
   173 // Array of allowed child element state transitions
       
   174 // <!ELEMENT  smil (head?,body?)>
       
   175 // Entries must be sorted by tag and then by from state
       
   176 LOCAL_D const TSMILDTDChildStateType SMILDTDSmilChildStates[6] =
       
   177 	{
       
   178 		MAKESMILDTDSTATETYPE(0,    -1, ""),
       
   179 		MAKESMILDTDSTATETYPE(1,    -1, ""),
       
   180 		MAKESMILDTDSTATETYPE(2,    -1, ""),
       
   181 		MAKESMILDTDSTATETYPE(0,     2, "body"),
       
   182 		MAKESMILDTDSTATETYPE(1,     2, "body"),
       
   183 		MAKESMILDTDSTATETYPE(0,     1, "head")
       
   184 	};
       
   185 
       
   186 LOCAL_D const TInt KSMILDTDSmilChildStateTranCount = 6;
       
   187 
       
   188 // Array of allowed child element state transitions
       
   189 // <!ELEMENT switch ((text|img|audio|video|animation|textstream|ref|a|anchor|area)*|(par|seq)*|layout)>
       
   190 // Entries must be sorted by tag and then by from state
       
   191 LOCAL_D const TSMILDTDChildStateType SMILDTDSwitchChildStates[31] =
       
   192 	{
       
   193 		MAKESMILDTDSTATETYPE(0,    -1, ""),
       
   194 		MAKESMILDTDSTATETYPE(1,    -1, ""),
       
   195 		MAKESMILDTDSTATETYPE(2,    -1, ""),
       
   196 		MAKESMILDTDSTATETYPE(3,    -1, ""),
       
   197 		MAKESMILDTDSTATETYPE(0,     1, "a"),
       
   198 		MAKESMILDTDSTATETYPE(1,     1, "a"),
       
   199 		MAKESMILDTDSTATETYPE(0,     1, "anchor"),
       
   200 		MAKESMILDTDSTATETYPE(1,     1, "anchor"),
       
   201 		MAKESMILDTDSTATETYPE(0,     1, "animation"),
       
   202 		MAKESMILDTDSTATETYPE(1,     1, "animation"),
       
   203 		MAKESMILDTDSTATETYPE(0,     1, "area"),
       
   204 		MAKESMILDTDSTATETYPE(1,     1, "area"),
       
   205 		MAKESMILDTDSTATETYPE(0,     1, "audio"),
       
   206 		MAKESMILDTDSTATETYPE(1,     1, "audio"),
       
   207 		MAKESMILDTDSTATETYPE(0,     1, "img"),
       
   208 		MAKESMILDTDSTATETYPE(1,     1, "img"),
       
   209 		MAKESMILDTDSTATETYPE(0,     3, "layout"),
       
   210 		MAKESMILDTDSTATETYPE(0,     2, "par"),
       
   211 		MAKESMILDTDSTATETYPE(2,     2, "par"),
       
   212 		MAKESMILDTDSTATETYPE(0,	 1, "prefetch"),
       
   213 		MAKESMILDTDSTATETYPE(1,     1, "prefetch"),
       
   214 		MAKESMILDTDSTATETYPE(0,     1, "ref"),
       
   215 		MAKESMILDTDSTATETYPE(1,     1, "ref"),
       
   216 		MAKESMILDTDSTATETYPE(0,     2, "seq"),
       
   217 		MAKESMILDTDSTATETYPE(2,     2, "seq"),
       
   218 		MAKESMILDTDSTATETYPE(0,     1, "text"),
       
   219 		MAKESMILDTDSTATETYPE(1,     1, "text"),
       
   220 		MAKESMILDTDSTATETYPE(0,     1, "textstream"),
       
   221 		MAKESMILDTDSTATETYPE(1,     1, "textstream"),
       
   222 		MAKESMILDTDSTATETYPE(0,     1, "video"),
       
   223 		MAKESMILDTDSTATETYPE(1,     1, "video")
       
   224 	};
       
   225 
       
   226 LOCAL_D const TInt KSMILDTDSwitchChildStateTranCount = 31;
       
   227 
       
   228 #endif // T_SMILDATA_H