Rare tekens in pagina
Ik heb het probleem dat ik tekens als "\n" "Â" "kopiëren" enzo te zien krijg dit dus eigenlijk opgelost zouden moeten zijn met de encoding zoals te zien in de code hieronder.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Het gaat om een xhtml bestand want gegenereerd wordt vanuit een php bestand die een xsl en xml bestand samenvoegt.
Weet iemand hier een oplossing voor, want blijkbaar is er toch iets mis met de encoding in mijn geval lijkt me.
Alvast bedankt.
Waarschijnlijk staan die fout in het bestand (je moet de &xxx code gebruiken) of in de database.
Dat is dus het probleem, het zijn aangeleverde xml bestanden. Dus ik kan helaas niks veranderen aan de xml bestanden of de db waar ze uit gehaald worden.
In welke encoding wordt de XML-input aangeleverd?
Iig heb ik UTF-8 en ISO-8859-1 geprobeert, maar geen resultaat.
Dit is iig de eerste regel van het xml bestand.
Helaas zonder encoding.
Deze gebruik ik vaak, werkt prima. Let ook even op de omit-xml-declaration.
Dit is wat ik nu gebruik. Dus het lijkt ISO-8859-1 te zijn. Maar vreemd dat hij niet de "\n" meteen ook meepakt.
\n is een newline, een enter. Waar komt deze vandaan? Staat deze zo in de XML?
En nog een ander probleempje. Ik heb nu alles perfect staan, alleen die omschrijving hoofden laat ie net zo vaak zien als regels in het specificatieblokje. Is er een functie waardoor ik die titel maar 1 keer kan laten zien?
Dit is het stukje code voor de title.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<xsl:for-each select="CategoryFeatureGroup">
<xsl:variable name="CategoryID" select="@ID"/>
<xsl:for-each select="//ProductFeature">
<xsl:variable name="CategoryGroup" select="@CategoryFeatureGroup_ID"/>
<xsl:if test="$CategoryID=$CategoryGroup">
<xsl:for-each select="//CategoryFeatureGroup">
<xsl:if test="@ID=$CategoryGroup">
<xsl:value-of select="FeatureGroup/Name/@Value"/>
</xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:for-each>
Hij filtert eerst alle categorieën eruit, daarna gaat ie de aantallen aanwezige regels per categorie eruit halen en als 3de stap haalt hij dan per categorie de naam van die categorie erbij. Alleen hij geeft dan elke keer per categorie de naam net zovaak weer als er regels in die categorie zitten.
Ik heb al rondgezocht naar een command zodat hij ipv each maar once doet. Zodat hij met zoeken stopt bij de eerste match die hij tegenkomt.
Gewijzigd op 01/01/1970 01:00:00 door Rico