<?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> Parse multi data sources </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="ch05s03.html" title="Parse a file contents" /> <link rel="next" href="ch05s05.html" title="Allow duplicate definitions" /> <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"> Parse multi data sources </th> </tr> <tr> <td width="20%" align="left"> <a accesskey="p" href="ch05s03.html">Prev</a> </td> <th width="60%" align="center"> Chapter 5. Parsing data sources </th> <td width="20%" align="right"> <a accesskey="n" href="ch05s05.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.data" id="developers.parse.data"></a>Parse multi data sources </h2> </div> <p> We have already seen two single sources where CSS data could come from. The last one allow to parse data from multiple sources at once. <code class="methodname">HTML_CSS::parseData()</code> function take an array as first argument. Each item is either a filename (with .css extension) or a string. Each source is merge to produce at end a unique style sheet. </p> <p> In script below we load selector definitions from two independent sources: a string and a css file which contents duplicate definitions (parseFile() 2nd argument to set to true to catch this situation; see next section for explains). Internet Explorer). </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="co1">// 1. a string to parse</span> </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">body, p { background-color: white; font: 1.2em Arial; }</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">p, div#black { color: black; }</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">div{ color: green; }</span> </div> </li> <li class="li1"> <div class="de1"> <span class="st0">p { margin-left: 3em; }</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="co1">// 2. a css file with duplicate definitions</span> </div> </li> <li class="li1"> <div class="de1"> <span class="re0">$css</span>-><span class= "me1">parseFile</span><span class="br0">(</span><span class= "st0">'iehack.css'</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="ch05s03.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="ch05s05.html">Next</a> </td> </tr> <tr> <td width="40%" align="left" valign="top"> Parse a file contents </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> <td width="40%" align="right" valign="top"> Allow duplicate definitions </td> </tr> </table> </div> </body> </html>