webForumDet fria alternativet

Behöver hjälp med XSLT!

XML

1 svar · 450 visningar · startad av trexter.com

Medlem sedan apr. 20021 203 inlägg
Frågan#1

http://www.trexter.com/trexter/uppdateringar.xml
^^^^^^^^^^^

1. Jag vill att elementen i det dokumentet ska visas på ett snyggt sätt. Skulle vara glad om någon kunde visa hur man t.ex. för in uppgifterna i en HTML-tabell med XSLT!

2. Jag vill att den översta "uppdartering" ska visas på en annan sida!

Kort sagt behöver jag dessa filer:
1. Själva XML-dokumentet (som ju är färdigt)
2. En XSLT (som jag behöver hjälp med)
3. Sidan där den översta "upddatering" ska visas (som jag behöver hjälp med)

Tack på förhand! :bire

Medlem sedan juli 20013 378 inlägg
#2

Hmmm...

Här är två exempelmallar som vardera skapar en komplett html-sida med olika sammanställningar av din xml-fil - var det så du menade?.
Vill du bara ha ut tabellen som resultat får du kapa bort xmlns="..."-attributet från xsl:stylesheet, sätta omit-xml-declaration till "yes" och ta bort överflödiga taggar i <xsl:template match="/uppdateringar">:

  1. Skapar en komplett html-sida med alla uppdateringar sorterade i omvänd datumordning lagda i en tabell
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet 
	version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
	xmlns="http://www.w3.org/1999/xhtml" 
>
<xsl:output 
	method="xml" 
	encoding="ISO-8859-1" 
	omit-xml-declaration = "no" 
	doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 
	doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 
/>
  
<xsl:template match="/uppdateringar">
<html xml:lang="sv" lang="sv">
	<head>
		<title>Uppdateringar</title>
		<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
	</head>
	<body>
		<table>
			<xsl:apply-templates select="uppdatering">
				<xsl:sort select="datum" order="descending"/> 
				<!-- order kan vara ascending eller ascending -->
			</xsl:apply-templates>
		</table>
	</body>
</html>
</xsl:template>

<xsl:template match="uppdatering">
	<tr style="background-color:silver">
		<td><xsl:value-of select="datum" /></td>
		<td><xsl:value-of select="rubrik" /></td>
	</tr>
	<tr>
		<td colspan="2"><xsl:value-of select="text" /></td>
	</tr>
</xsl:template>

</xsl:stylesheet>
  1. Skapar en komplett html-sida med den senaste uppdateringen lagd i en tabell (den sidan kan du sedan lägga in i en <iframe> på de sidor du vill ha med informationen på
    OBS! Det här exemplet förutsätter att den senaste uppdateringen ligger "först" i xml-filen!
<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet 
	version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
	xmlns="http://www.w3.org/1999/xhtml" 
>
<xsl:output 
	method="xml" 
	encoding="ISO-8859-1" 
	omit-xml-declaration = "no" 
	doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 
	doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 
/>
  

<xsl:template match="/uppdateringar">
<html xml:lang="sv" lang="sv">
	<head>
		<title>Senaste Uppdatering</title>
		<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
	</head>
	<body>
		<table>
			<tr style="background-color:silver">
				<td><xsl:value-of select="uppdatering/datum" /></td>
				<td><xsl:value-of select="uppdatering/rubrik" /></td>
			</tr>
			<tr>
				<td colspan="2"><xsl:value-of select="uppdatering/text" /></td>
			</tr>
		</table>
	</body>
</html>
</xsl:template>

</xsl:stylesheet>
267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)