Tim Van Wassenhove

Passionate geek, interested in Technology. Proud father of two

23 Jan 2005

Playing with XML and XSL

// add stuff to an xml document in php4
$doc = domxml_open_mem($xml);
$root = $doc->document_element();
$inner = $doc->create_element('inner');
$root = $root->append_child($inner);

// add stuff to an xml document in php5
$doc = new DomDocument('1.0', 'UTF-8');
$doc->loadXML($xml);
$root = $doc->getelementsByTagName('resultset')->item(0);
$inner = $doc->createElement'inner');
$root = $root->appendChild($inner); 

XHTML does not allow to have an empty list, . Therefore we need to test first if there are any nodes we want to put in that list. The code to do this looks like:

<xsl:for-each select="//resultset/entity">

  <div class="mainitem">
    <div class="maintitle">
      <xsl:value-of select="title"/>
    </div>
    <div class="maincontent">
      <xsl:if test="count(items/item) > 0">
        <ul>
          <xsl:for-each select="items/item"> 
            <li>
              <a href="{link}"><xsl:value-of select="title"/></a>
            </li>
          </xsl:for-each> 
        </ul> 
      </xsl:if>
    </div>
  </div> 
</xsl:for-each>