<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title> Allow duplicate definitions </title> <link rel="stylesheet" href="book.css" type="text/css" /> <meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /> <link rel="start" href="index.html" title="HTML_CSS Manual" /> <link rel="up" href="ch05.html" title= "Chapter 5. Parsing data sources" /> <link rel="prev" href="ch05s04.html" title="Parse multi data sources " /> <link rel="next" href="ch06.html" title="Chapter 6. Output" /> <style type="text/css"> /*<![CDATA[*/ body { background-color: white; color: black; } :link { color: #0000FF } :visited { color: #840084 } :active { color: #0000FF } div.c2 {font-family: monospace;} h2.c1 {clear: both} /*]]>*/ </style> </head> <body> <table class="htmlcssHeader"> <tr> <td> <img src="img/pearsmall.gif" align="left" alt="PEAR logo" /> <h1> HTML_CSS : The Definitive Guide </h1> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr> <th colspan="3" align="center"> Allow duplicate definitions </th> </tr> <tr> <td width="20%" align="left"> <a accesskey="p" href="ch05s04.html">Prev</a> </td> <th width="60%" align="center"> Chapter 5. Parsing data sources </th> <td width="20%" align="right"> <a accesskey="n" href="ch06.html">Next</a> </td> </tr> </table> </div><br /> <br /> </td> </tr> </table> <div class="sect1" lang="en" xml:lang="en"> <div class="titlepage"> <h2 class="title c1"> <a name="developers.parse.duplicate" id= "developers.parse.duplicate"></a>Allow duplicate definitions </h2> </div> <p> Internet Explorer <= 6 does not handle box model in same way as others browsers that are better W3C compliant. For this reason, we need to fix boxes size with a hack such as this one you can find in example that follow. You can notice the duplicate 'voice-family' and 'height' properties. </p> <p> To parse these definitions we need to activate the <span class= "bold"><strong>duplicate</strong></span> option of HTML_CSS. </p> <div class="css c2"> <ol> <li class="li1"> <div class="de1"> <span class="re0">#header <span class="br0">{</span></span> </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">background-color</span>: ivory; </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">font-family</span>: <span class= "st0">"Times New Roman"</span>, Times, <span class= "kw2">serif</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">font-size</span>: 5mm; </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">text-align</span>: <span class= "kw2">center</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="coMULTI">/* IE 5.5 */</span> </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">height</span>:81px; </div> </li> <li class="li1"> <div class="de1"> border-top<span class="re2">:1px</span> solid #<span class="nu0">000</span>; </div> </li> <li class="li1"> <div class="de1"> border-right<span class="re2">:1px</span> solid #<span class="nu0">000</span>; </div> </li> <li class="li1"> <div class="de1"> border-left<span class="re2">:1px</span> solid #<span class="nu0">000</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">voice-family</span>: <span class= "st0">"<span class="es0">\"</span>}<span class= "es0">\"</span>"</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">voice-family</span>: <span class= "kw2">inherit</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="coMULTI">/* IE 6 */</span> </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">height</span>: 99px; </div> </li> <li class="li1"> <div class="de1"> <span class="br0">}</span> </div> </li> </ol> </div> <p> There are two ways : </p> <div class="itemizedlist"> <ul type="disc"> <li>global to all functions: set option <span class= "bold"><strong>allowduplicates</strong></span> on class constructor </li> <li>local to a function: set argument <span class= "bold"><strong>duplicates</strong></span> to TRUE </li> </ul> </div> <p> For example here, we could wrote either (allow global duplicate) : </p> <div class="php c2"> <ol> <li class="li1"> <div class="de1"> <span class="kw2"><?php</span> </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">require_once</span> <span class= "st0">'HTML/CSS.php'</span>; </div> </li> <li class="li1"> <div class="de1"> </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$attr</span> = <span class= "kw3">array</span><span class="br0">(</span><span class= "st0">'allowduplicates'</span> => <span class= "kw2">true</span><span class="br0">)</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$css</span> = <span class="kw2">new</span> HTML_CSS<span class="br0">(</span><span class= "re0">$attr</span><span class="br0">)</span>; </div> </li> <li class="li1"> <div class="de1"> </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$strcss</span> = <span class="st0">'</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">#header {</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> background-color: ivory;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> font-family: "Times New Roman", Times, serif;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> font-size: 5mm;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> text-align: center;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> /* IE 5.5 */</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> height:81px;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> border-top:1px solid #000;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> border-right:1px solid #000;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> border-left:1px solid #000;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> voice-family: "<span class= "es0">\"</span>}<span class="es0">\"</span>";</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> voice-family: inherit;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> /* IE 6 */</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> height: 99px;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">}</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">'</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$css</span>-><span class= "me1">parseString</span><span class="br0">(</span><span class= "re0">$strcss</span><span class="br0">)</span>; </div> </li> <li class="li1"> <div class="de1"> </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$css</span>-><span class= "me1">display</span><span class="br0">(</span><span class= "br0">)</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="kw2">?></span> </div> </li> </ol> </div> <p> or also (duplicate on local call) : </p> <div class="php c2"> <ol> <li class="li1"> <div class="de1"> <span class="kw2"><?php</span> </div> </li> <li class="li1"> <div class="de1"> <span class="kw1">require_once</span> <span class= "st0">'HTML/CSS.php'</span>; </div> </li> <li class="li1"> <div class="de1"> </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$css</span> = <span class="kw2">new</span> HTML_CSS<span class="br0">(</span><span class="br0">)</span>; </div> </li> <li class="li1"> <div class="de1"> </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$strcss</span> = <span class="st0">'</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">#header {</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> background-color: ivory;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> font-family: "Times New Roman", Times, serif;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> font-size: 5mm;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> text-align: center;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> /* IE 5.5 */</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> height:81px;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> border-top:1px solid #000;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> border-right:1px solid #000;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> border-left:1px solid #000;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> voice-family: "<span class= "es0">\"</span>}<span class="es0">\"</span>";</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> voice-family: inherit;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> /* IE 6 */</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0"> height: 99px;</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">}</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">'</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$css</span>-><span class= "me1">parseString</span><span class="br0">(</span><span class= "re0">$strcss</span>, <span class="kw2">true</span><span class= "br0">)</span>; </div> </li> <li class="li1"> <div class="de1"> </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$css</span>-><span class= "me1">display</span><span class="br0">(</span><span class= "br0">)</span>; </div> </li> <li class="li1"> <div class="de1"> <span class="kw2">?></span> </div> </li> </ol> </div> </div> <table class="htmlcssFooter"> <tr> <td align="left"> HTML_CSS : The Definitive Guide </td> <td align="right"> v 1.1.3 : February 18, 2007 </td> </tr> </table> <div class="navfooter"> <hr /> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"> <a accesskey="p" href="ch05s04.html">Prev</a> </td> <td width="20%" align="center"> <a accesskey="u" href="ch05.html">Up</a> </td> <td width="40%" align="right"> <a accesskey="n" href="ch06.html">Next</a> </td> </tr> <tr> <td width="40%" align="left" valign="top"> Parse multi data sources </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> <td width="40%" align="right" valign="top"> Chapter 6. Output </td> </tr> </table> </div> </body> </html>