salve,
ho un problema con un xsl che non riesco a fare funzionare da 3 settimane e ormai non so più dove cercare l'errore. se qualcuno mi potesse dare un indizio sarebbe di molto aiuto.
questo è il codice del foglio di stile xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xslutput method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:element name="smil">
<xsl:element name="head">
<xsl:element name="meta">
<xsl:attribute name="name">
<xsl:text>title</xsl:text>
</xsl:attribute>
<xsl:attribute name="content">
<xsl:value-of select="html/head/title"/>
</xsl:attribute>
</xsl:element>
<xsl:element name="layout">
<xsl:element name="region">
<xsl:attribute name="id">
<xsl:apply-templates select="html/frameset/framset/frame"/>
</xsl:attribute>
</xsl:element>
<xsl:element name="region">
<xsl:attribute name="id">
<xsl:apply-templates select="html/frameset/frameset/frame"/>
</xsl:attribute>
</xsl:attribute>
</xsl:element>
<xsl:element name="region">
<xsl:attribute name="id">
<xsl:value-of select="html/frameset/frame/@name"/>
</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:element>
<xsl:element name="body">
<xsl:element name="par">
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="html/frameset/frame/@src"/>
</xsl:attribute>
<xsl:attribute name="region">
<xsl:value-of select="html/frameset/frame/@name"/>
</xsl:attribute>
</xsl:attribute>
</xsl:element>
<xsl:element name="audio">
<xsl:attribute name="src">
<xsl:value-of select="html/frameset/frameset/frame/@src"/>
</xsl:attribute>
<xsl:attribute name="region">
<xsl:apply-templates select="html/frameset/frameset/frame"/>
</xsl:attribute>
</xsl:element>
<xsl:element name="text">
<xsl:attribute name="src">
<xsl:value-of select="html/frameset/frameset/frame/@src"/>
</xsl:attribute>
<xsl:attribute name="region">
<xsl:apply-templates select="html/framset/frameset/frame"/>
</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template match="html/frameset/framset/frame">
<xsl:if test="@name='media'">
<xsl:value-of select="@name"/>
</xsl:if>
<xsl:if test="@name='text'">
<xsl:value-of select="@name"/>
</xsl:if>
</xsl:template></xsl:stylesheet>
alcune parti del file le ho cavate perchè erano semplicemente delle creazioni di attributi ed elementi "normali" ovvero senza andare a prendere i valori dal file.
il mio problema è questo:
-l'istruzione value-of non mi restituisce il valore dell'attributo richiesto
-l'istruzione apply-templates con l'attributo select non esegue le operazioni inserite nel template match indicato, senza l'attributo select prende sempre e solo il valore dell'attributo title del file dove deve andare a prendere le informazioni.
sotto riporto la pagina html da cui devo prendere i dati.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>titolo della pagina html</title>
<script type="javascript">
//
<![CDATA[
speedup = 1.0;
function getXMLFile()
{
return "sip_vs/sip.xml";
}
//]]>
</script>
</head>
<frameset rows="80%,*">
<frameset cols="30%,*">
<frame src="daniela_2007_05_16_1_media.html" name="media" />
<frame src="daniela_2007_05_16_1_text.html" name="text" />
</frameset>
<frame src="daniela_2007_05_16_1_thumbn.html" name="tumbnails" />
</frameset>
</html>
grazie anticipatamente per l'aiuto.
Stefano

utput method="xml" indent="yes"/>
Rispondi quotando