]> git.llucax.com Git - software/bife/bife-all.git/blob - doc/bife.xmi
f36bd7e85fd35422ff7c2772cf5ac686dedc48b5
[software/bife/bife-all.git] / doc / bife.xmi
1 <?xml version="1.0" encoding="UTF-8"?>
2 <XMI xmlns:UML="org.omg/standards/UML" verified="false" timestamp="" xmi.version="1.2" >
3  <XMI.header>
4   <XMI.documentation>
5    <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
6    <XMI.exporterVersion>1.1</XMI.exporterVersion>
7   </XMI.documentation>
8   <XMI.model xmi.name="bife" href="/mnt/burns/luca/website/www/test/bife/doc/bife.xmi" />
9   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
10  </XMI.header>
11  <XMI.content>
12   <docsettings viewid="2" documentation="" uniqueid="72" />
13   <umlobjects>
14    <UML:Class stereotype="" package="BIFE" xmi.id="3" abstract="1" documentation="Base widget class." name="Widget" static="0" scope="200" >
15     <UML:Operation stereotype="" package="" xmi.id="4" type="string" abstract="1" documentation="Renders the widget using a template returning a string with the results." name="render" static="0" scope="200" >
16      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template object to render the widget." name="template" static="0" scope="200" />
17     </UML:Operation>
18    </UML:Class>
19    <UML:Class stereotype="" package="BIFE" xmi.id="5" abstract="1" documentation="Base container widget class." name="Container" static="0" scope="200" >
20     <UML:Operation stereotype="" package="" xmi.id="48" type="void" abstract="0" documentation="Constructor." name="BIFE_Container" static="0" scope="200" />
21     <UML:Operation stereotype="" package="" xmi.id="50" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" />
22     <UML:Operation stereotype="" package="" xmi.id="6" type="void" abstract="0" documentation="Adds contents to the container." name="addContents" static="0" scope="200" >
23      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;mixed" abstract="0" documentation="Contents to add to the container." name="contents" static="0" scope="200" />
24     </UML:Operation>
25     <UML:Operation stereotype="" package="" xmi.id="59" type="string" abstract="0" documentation="Renders the widget using a template returning a string with the results." name="render" static="0" scope="200" >
26      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template object to render the widget." name="template" static="0" scope="200" />
27     </UML:Operation>
28     <UML:Attribute stereotype="" package="" xmi.id="47" value="" type="array" abstract="0" documentation="" name="contents" static="0" scope="200" />
29    </UML:Class>
30    <UML:Class stereotype="" package="BIFE" xmi.id="7" abstract="1" documentation="This is a generic and simple BIFE_Container implementation." name="Generic" static="0" scope="200" >
31     <UML:Operation stereotype="" package="" xmi.id="10" type="void" abstract="0" documentation="Constructor." name="BIFE_Generic" static="0" scope="200" >
32      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
33     </UML:Operation>
34     <UML:Operation stereotype="" package="" xmi.id="51" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
35      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
36     </UML:Operation>
37     <UML:Operation stereotype="" package="" xmi.id="11" type="void" abstract="0" documentation="Add contents to the widget." name="addContents" static="0" scope="200" >
38      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;mixed" abstract="0" documentation="Contents to add." name="contents" static="0" scope="200" />
39     </UML:Operation>
40     <UML:Operation stereotype="" package="" xmi.id="12" type="string" abstract="0" documentation="Renders the widget." name="render" static="0" scope="200" >
41      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
42     </UML:Operation>
43     <UML:Attribute stereotype="" package="" xmi.id="8" value="" type="array" abstract="0" documentation="Attribute list." name="attrs" static="0" scope="200" />
44    </UML:Class>
45    <UML:Class stereotype="" package="BIFE" xmi.id="14" abstract="0" documentation="Page widget." name="Page" static="0" scope="200" >
46     <UML:Operation stereotype="" package="" xmi.id="15" type="void" abstract="0" documentation="Constructor." name="BIFE_Page" static="0" scope="200" >
47      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
48     </UML:Operation>
49     <UML:Operation stereotype="" package="" xmi.id="53" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
50      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
51     </UML:Operation>
52    </UML:Class>
53    <UML:Class stereotype="" package="BIFE" xmi.id="17" abstract="0" documentation="Title widget." name="Title" static="0" scope="200" >
54     <UML:Operation stereotype="" package="" xmi.id="18" type="void" abstract="0" documentation="Constructor." name="BIFE_Title" static="0" scope="200" >
55      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
56     </UML:Operation>
57     <UML:Operation stereotype="" package="" xmi.id="55" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
58      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
59     </UML:Operation>
60    </UML:Class>
61    <UML:Class stereotype="" package="BIFE" xmi.id="20" abstract="0" documentation="Photo album widget.
62
63 [TODO: Make a better explanation]" name="Album" static="0" scope="200" >
64     <UML:Operation stereotype="" package="" xmi.id="22" type="void" abstract="0" documentation="Constructor." name="BIFE_Album" static="0" scope="200" >
65      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
66     </UML:Operation>
67     <UML:Operation stereotype="" package="" xmi.id="57" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
68      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
69     </UML:Operation>
70     <UML:Operation stereotype="" package="" xmi.id="23" type="string" abstract="0" documentation="Renders the widget." name="render" static="0" scope="200" >
71      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template to use to render the widget." name="template" static="0" scope="200" />
72     </UML:Operation>
73     <UML:Attribute stereotype="" package="" xmi.id="21" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
74    </UML:Class>
75    <UML:Class stereotype="" package="BIFE" xmi.id="25" abstract="0" documentation="This is the XML Parser." name="Parser" static="0" scope="200" >
76     <UML:Operation stereotype="" package="" xmi.id="30" type="void" abstract="0" documentation="Constructor." name="BIFE_Parser" static="0" scope="200" >
77      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template to use to render the widgets." name="template" static="0" scope="200" />
78     </UML:Operation>
79     <UML:Operation stereotype="" package="" xmi.id="31" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
80      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;HTML_Template_Sigma" abstract="0" documentation="Template to use to render the widgets." name="template" static="0" scope="200" />
81     </UML:Operation>
82     <UML:Operation stereotype="" package="" xmi.id="32" type="void" abstract="0" documentation="Destructor." name="__destruct" static="0" scope="200" />
83     <UML:Operation stereotype="" package="" xmi.id="33" type="void" abstract="0" documentation="XML parser start of element handler." name="startElement" static="0" scope="200" >
84      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="resource" abstract="0" documentation="XML parser resource." name="parser" static="0" scope="200" />
85      <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="string" abstract="0" documentation="XML tag name." name="name" static="0" scope="200" />
86      <UML:Parameter stereotype="" package="" xmi.id="3" value="" type="array" abstract="0" documentation="XML tag attributes." name="attrs" static="0" scope="200" />
87     </UML:Operation>
88     <UML:Operation stereotype="" package="" xmi.id="34" type="void" abstract="0" documentation="XML parser end of element handler." name="endElement" static="0" scope="200" >
89      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="resource" abstract="0" documentation="XML parser resource." name="parser" static="0" scope="200" />
90      <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="string" abstract="0" documentation="XML tag name." name="name" static="0" scope="200" />
91     </UML:Operation>
92     <UML:Operation stereotype="" package="" xmi.id="35" type="void" abstract="0" documentation="XML parser character data handler." name="characterData" static="0" scope="200" >
93      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="resource" abstract="0" documentation="XML parser resource." name="parser" static="0" scope="200" />
94      <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="string" abstract="0" documentation="XML character data." name="data" static="0" scope="200" />
95     </UML:Operation>
96     <UML:Operation stereotype="" package="" xmi.id="36" type="void" abstract="0" documentation="Parse a string with XML data." name="parse" static="0" scope="200" >
97      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="XML string to parse." name="data" static="0" scope="200" />
98      <UML:Parameter stereotype="" package="" xmi.id="2" value="true" type="bool" abstract="0" documentation="Indicates if is the last string to parse." name="final" static="0" scope="200" />
99     </UML:Operation>
100     <UML:Operation stereotype="" package="" xmi.id="37" type="void" abstract="0" documentation="Parse a XML file returning the rendered output." name="parseFile" static="0" scope="200" >
101      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Filename to parse." name="filename" static="0" scope="200" />
102     </UML:Operation>
103     <UML:Operation stereotype="" package="" xmi.id="38" type="string" abstract="0" documentation="Get rendered output." name="getOutput" static="0" scope="200" />
104     <UML:Attribute stereotype="" package="" xmi.id="26" value="" type="string" abstract="0" documentation="Output string." name="output" static="0" scope="200" />
105     <UML:Attribute stereotype="" package="" xmi.id="27" value="" type="resource" abstract="0" documentation="XML parser resource." name="parser" static="0" scope="200" />
106     <UML:Attribute stereotype="" package="" xmi.id="28" value="" type="HTML_Template_Sigma" abstract="0" documentation="Template to use to render the parsed file." name="template" static="0" scope="200" />
107     <UML:Attribute stereotype="" package="" xmi.id="29" value="" type="array" abstract="0" documentation="BIFE widgets stack." name="stack" static="0" scope="200" />
108    </UML:Class>
109    <UML:Class stereotype="" package="BIFE" xmi.id="61" abstract="1" documentation="Fallback widget to use when no specific widget is implemented." name="Fallback" static="0" scope="200" >
110     <UML:Operation stereotype="" package="" xmi.id="62" type="void" abstract="0" documentation="Constructor." name="BIFE_Fallback" static="0" scope="200" >
111      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Name of the widget to draw." name="name" static="0" scope="200" />
112      <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
113     </UML:Operation>
114     <UML:Operation stereotype="" package="" xmi.id="63" type="void" abstract="0" documentation="Constructor." name="__construct" static="0" scope="200" >
115      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Name of the widget." name="name" static="0" scope="200" />
116      <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="array" abstract="0" documentation="Attributes." name="attrs" static="0" scope="200" />
117     </UML:Operation>
118    </UML:Class>
119   </umlobjects>
120   <diagrams>
121    <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="2" documentation="" type="402" showops="1" showpackage="1" name="Class Diagram" localid="30000" showstereotype="0" showscope="1" font="Helvetica,10,-1,5,48,0,0,0,0,0" linecolor="#ff0000" >
122     <widgets>
123      <UML:ConceptWidget usesdiagramfillcolour="0" width="104" showattsigs="601" usesdiagramusefillcolour="0" x="270" linecolour="#ff0000" y="30" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="42" usefillcolor="1" showattributes="1" xmi.id="3" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
124      <UML:ConceptWidget usesdiagramfillcolour="0" width="145" showattsigs="601" usesdiagramusefillcolour="0" x="160" linecolour="#ff0000" y="130" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="102" usefillcolor="1" showattributes="1" xmi.id="5" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
125      <UML:ConceptWidget usesdiagramfillcolour="0" width="131" showattsigs="601" usesdiagramusefillcolour="0" x="100" linecolour="#ff0000" y="290" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="102" usefillcolor="1" showattributes="1" xmi.id="7" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
126      <UML:ConceptWidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="460" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="59" usefillcolor="1" showattributes="1" xmi.id="14" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
127      <UML:ConceptWidget usesdiagramfillcolour="0" width="120" showattsigs="600" usesdiagramusefillcolour="0" x="190" linecolour="#ff0000" y="460" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="59" usefillcolor="1" showattributes="1" xmi.id="17" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
128      <UML:ConceptWidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="360" linecolour="#ff0000" y="130" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="85" usefillcolor="1" showattributes="1" xmi.id="20" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
129      <UML:ConceptWidget usesdiagramfillcolour="0" width="134" showattsigs="601" usesdiagramusefillcolour="0" x="260" linecolour="#ff0000" y="290" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="59" usefillcolor="1" showattributes="1" xmi.id="61" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,10,-1,5,48,0,0,0,0,0" />
130     </widgets>
131     <messages/>
132     <associations>
133      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="3" widgetaid="5" documentation="" type="500" >
134       <linepath>
135        <startpoint startx="232" starty="130" />
136        <endpoint endx="304" endy="72" />
137       </linepath>
138      </UML:AssocWidget>
139      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="5" widgetaid="7" documentation="" type="500" >
140       <linepath>
141        <startpoint startx="165" starty="290" />
142        <endpoint endx="208" endy="232" />
143       </linepath>
144      </UML:AssocWidget>
145      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="7" widgetaid="14" documentation="" type="500" >
146       <linepath>
147        <startpoint startx="90" starty="460" />
148        <endpoint endx="143" endy="392" />
149       </linepath>
150      </UML:AssocWidget>
151      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="7" widgetaid="17" documentation="" type="500" >
152       <linepath>
153        <startpoint startx="250" starty="460" />
154        <endpoint endx="187" endy="392" />
155       </linepath>
156      </UML:AssocWidget>
157      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="3" widgetaid="20" documentation="" type="500" >
158       <linepath>
159        <startpoint startx="420" starty="130" />
160        <endpoint endx="339" endy="72" />
161       </linepath>
162      </UML:AssocWidget>
163      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="5" widgetaid="61" documentation="" type="500" >
164       <linepath>
165        <startpoint startx="327" starty="290" />
166        <endpoint endx="256" endy="232" />
167       </linepath>
168      </UML:AssocWidget>
169     </associations>
170    </diagram>
171    <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="41" documentation="" type="403" showops="1" showpackage="0" name="Parse" localid="29998" showstereotype="0" showscope="1" font="Helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" >
172     <widgets>
173      <UML:ObjectWidget usesdiagramfillcolour="0" width="71" usesdiagramusefillcolour="0" x="62" linecolour="#ff0000" y="49" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="29" usefillcolor="1" length="250" xmi.id="25" decon="0" localid="29999" multipleinstance="0" drawasactor="0" font="Helvetica,12,-1,5,50,0,0,0,0,0" />
174      <UML:ObjectWidget usesdiagramfillcolour="0" width="74" usesdiagramusefillcolour="0" x="478" linecolour="#ff0000" y="49" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="29" usefillcolor="1" length="250" xmi.id="3" decon="0" localid="29998" multipleinstance="0" drawasactor="0" font="Helvetica,12,-1,5,50,0,0,0,0,0" />
175     </widgets>
176     <messages>
177      <UML:MessageWidget usesdiagramfillcolour="1" width="416" usesdiagramusefillcolour="1" x="98" linecolour="none" y="119" operation="render(template : &amp;HTML_Template_Sigma) : void" widgetbid="29998" usesdiagramlinecolour="1" fillcolour="none" height="8" usefillcolor="1" seqnum="" widgetaid="29999" textid="42" xmi.id="43" font="helvetica,12,-1,5,50,0,0,0,0,0" />
178     </messages>
179     <associations/>
180    </diagram>
181   </diagrams>
182   <listview>
183    <listitem open="1" type="800" id="-1" label="Views" >
184     <listitem open="1" type="801" id="-1" label="Logical View" >
185      <listitem open="1" type="803" id="-1" label="Parser" >
186       <listitem open="1" type="810" id="41" label="Parse" />
187       <listitem open="0" type="813" id="25" label="Parser" >
188        <listitem open="0" type="815" id="30" label="BIFE_Parser" />
189        <listitem open="0" type="815" id="31" label="__construct" />
190        <listitem open="0" type="815" id="32" label="__destruct" />
191        <listitem open="0" type="815" id="35" label="characterData" />
192        <listitem open="0" type="815" id="34" label="endElement" />
193        <listitem open="0" type="815" id="38" label="getOutput" />
194        <listitem open="0" type="814" id="26" label="output" />
195        <listitem open="0" type="815" id="36" label="parse" />
196        <listitem open="0" type="815" id="37" label="parseFile" />
197        <listitem open="0" type="814" id="27" label="parser" />
198        <listitem open="0" type="814" id="29" label="stack" />
199        <listitem open="0" type="815" id="33" label="startElement" />
200        <listitem open="0" type="814" id="28" label="template" />
201       </listitem>
202      </listitem>
203      <listitem open="1" type="803" id="-1" label="Widgets" >
204       <listitem open="0" type="813" id="20" label="Album" >
205        <listitem open="0" type="815" id="22" label="BIFE_Album" />
206        <listitem open="0" type="815" id="57" label="__construct" />
207        <listitem open="0" type="814" id="21" label="attrs" />
208        <listitem open="0" type="815" id="23" label="render" />
209       </listitem>
210       <listitem open="0" type="807" id="2" label="Class Diagram" />
211       <listitem open="0" type="813" id="5" label="Container" >
212        <listitem open="0" type="815" id="48" label="BIFE_Container" />
213        <listitem open="0" type="815" id="50" label="__construct" />
214        <listitem open="0" type="815" id="6" label="addContents" />
215        <listitem open="0" type="814" id="47" label="contents" />
216        <listitem open="0" type="815" id="59" label="render" />
217       </listitem>
218       <listitem open="0" type="813" id="61" label="Fallback" >
219        <listitem open="0" type="815" id="62" label="BIFE_Fallback" />
220        <listitem open="0" type="815" id="63" label="__construct" />
221       </listitem>
222       <listitem open="0" type="813" id="7" label="Generic" >
223        <listitem open="0" type="815" id="10" label="BIFE_Generic" />
224        <listitem open="0" type="815" id="51" label="__construct" />
225        <listitem open="0" type="815" id="11" label="addContents" />
226        <listitem open="0" type="814" id="8" label="attrs" />
227        <listitem open="0" type="815" id="12" label="render" />
228       </listitem>
229       <listitem open="0" type="813" id="14" label="Page" >
230        <listitem open="0" type="815" id="15" label="BIFE_Page" />
231        <listitem open="0" type="815" id="53" label="__construct" />
232       </listitem>
233       <listitem open="0" type="813" id="17" label="Title" >
234        <listitem open="0" type="815" id="18" label="BIFE_Title" />
235        <listitem open="0" type="815" id="55" label="__construct" />
236       </listitem>
237       <listitem open="0" type="813" id="3" label="Widget" >
238        <listitem open="0" type="815" id="4" label="render" />
239       </listitem>
240      </listitem>
241     </listitem>
242     <listitem open="1" type="802" id="-1" label="Use Case View" />
243    </listitem>
244   </listview>
245  </XMI.content>
246 </XMI>