ho quasi risolto, in modo un pò incasinato a dire il vero... non so se è il modo migliore. con l'aiuto di un amico (diciamo pure che senza di lui starei ancora provando a smanettare
)
XML:
codice:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="diario.xsl" ?>
<!DOCTYPE diario [
<!ELEMENT diario (blog*)>
<!ELEMENT blog (data, (titolo?, descrizione?)+)>
<!ELEMENT data (#PCDATA)>
<!ELEMENT titolo (#PCDATA)>
<!ELEMENT descrizione (parti+)>
<!ELEMENT parti (testo+,link+, nomelink+)>
<!ELEMENT testo (#PCDATA)>
<!ELEMENT link (CDATA)>
<!ELEMENT nomelink (CDATA)>
]>
<diario>
<blog>
<data>26/10/2004</data>
<titolo>Prova primo giorno</titolo>
<descrizione>
<parti>
<testo>Bla bla bla bla...
</testo>
<link>pippo.html</link>
<nomelink>Pippo</nomelink>
</parti>
<parti>
<testo> di nuovo bla bla bla </testo>
<link>pippo2.html</link>
<nomelink>Pippo 2</nomelink>
</parti>
</descrizione>
</blog>
<blog>
<data>27/10/2004</data>
<titolo>Prova secondo giorno</titolo>
<descrizione>
<parti>
<testo>Bla2 bla2 bla2 bla2...</testo>
</parti>
</descrizione>
</blog>
</diario>
XSL:
codice:
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
result-ns=""
xmlns:rdf="http://w3.org/TR/1999/PR-rdf-syntax-19990105#">
<xsl:template match="/">
<html>
<head>
<title>Diario di Tox</title>
<link rel="stylesheet" href="stile.css" type="text/css" />
</head>
<body>
<div class="intestazione">Il diario di ToX</div>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match = "diario">
<xsl:for-each select="blog">
<div class="data">
<xsl:value-of select="data"/>
</div>
<div class="titolo">
<xsl:value-of select="titolo"/>
</div>
<div class="descrizione">
<xsl:for-each select="descrizione/parti">
<xsl:value-of select="testo"/>
<a target="_blank">
<xsl:attribute name="href">
<xsl:value-of select="link"/>
</xsl:attribute>
<xsl:value-of select="nomelink"/>
</a>
</xsl:for-each>
</div>
<hr/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
l'unica "rottura" è dover aprire e chiudere il tag parti ogni volta che metto un link...