I'm trying write a simple PIM using XML into HTML with tables and using example useage of, xsl:value-of, xsl:if.
On XML -- I have something like this --
<?xml version="1.0"?>
<!DOCTYPE PHONEBOOK [
<!ELEMENT PHONEBOOK (LISTING)>
<!ELEMENT LISTING (FIRST,LAST,PHONE+,ADDRESS+,CITY+,STATE+,ZIP+)>
<!ELEMENT FIRST (#PCDATA)>
<!ELEMENT LAST (#PCDATA)>
<!ELEMENT PHONE (#PCDATA)>
<!ATTLIST PHONE
TYPE CDATA #REQUIRED>
]>
<PHONEBOOK>
<LISTING>
<FIRST>John</FIRST>
<LAST>Smith</LAST>
<COMPANY>J and S Inc.</COMPANY>
<PHONE TYPE="WORK">1-800-123-4567</PHONE>
<PHONE>1-619-699-9999</PHONE>
<PHONE TYPE="FAX">1-619-676-8900</PHONE>
<ADDRESS TYPE="BUSINESS">123 4th Ave.</ADDRESS>
<CITY TYPE="BUSINESS">San Diego</CITY>
<STATE TYPE="BUSINESS">CA</STATE>
<ZIP TYPE="BUSINESS">92116</ZIP>
<ADDRESS>123 4th Ave.</ADDRESS>
<CITY>San Diego</CITY>
<STATE>CA</STATE>
<ZIP>92116</ZIP>
<EMAIL>jsmith@email.com</EMAIL>
<DOB>01-02-1980</DOB>
</LISTING>
Etc.
On XLS - I have something like ---
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>My Phone Book</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE">
<TABLE BORDER="1">
<xsl:for-each select="//LISTING">
<xsl:sort select="LAST"/>
<TR>
<TD><B>Name:</B></TD>
<TD><FONT COLOR="GREEN"><xsl:value-of select="FIRST"/><BR/>
<xsl:value-of select="LAST"/></FONT></TD>
</TR>
<TR><TD><B>Phone:</B></TD>
<TD><FONT COLOR="RED" SIZE="+2"><xsl:value-of select="PHONE"/>
<xsl:choose>
<xsl:when test="boolean(PHONE/@TYPE) = 1">
- <xsl:value-of select="PHONE/@TYPE" />
</xsl:when>
<xsl:otherwise>
- HOME
</xsl:otherwise>
</xsl:choose>
</FONT>
</TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
I could never maket it to work. Any ideas or suggestions? Thanks.