• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

xsl stylesheet datum wird nicht erkannt

Status
Für weitere Antworten geschlossen.

krackmoe

Neues Mitglied
Hi

Ich hab ein kleines Problem mit meinem xsl Stylesheet. Datum wird mir einfach keines ausgegeben. Der normale Text,Titel und Link werden mir ausgegeben.
Und formatiert wird der Text auch nicht, so wie ich es eigentlich im xsl Stylesheet angegeben habe.

So schaut mein xsl Stylesheet mal aus:
PHP:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

	<xsl:template match="datensatz/*">
		<html>
		<head><title>Referenzen</title></head>
			<body>
				<xsl:for-each select="datensatz">
					<p>
						<b><xsl:value-of select="titel" /></b><br />
						<xsl:value-of select="text" /><br />
						<xsl:value-of select="datum">
						<xsl:value-of select="links" />
					</p>
				</xsl:for-each>
			</body>
		</html>
	</xsl:template>
</xsl:stylesheet>

In meiner PHP Datei ruf ich das so auf:

PHP:
require_once('sqlConnection.php');
    		
			new Ausgabe(1);
    		    		
class Ausgabe{
     private function datenAusgabe($domDoc){
        
        $arrDomList = helpFunctions::getNodes($domDoc, "//datensatz");
        foreach($arrDomList as $domNode){
              echo $domNode->nodeValue;
         }
     }
    /*
     * Daten in RSS-Feed mit XSLT umwandeln
      */
    private function rssAusgabe($domDoc){
        $domXSL = new DOMDocument;    
        $domXSL->load("Rss.xsl");        
        $xslProzessor = new XSLTProcessor;
        $xslProzessor->importStyleSheet($domXSL);
        echo $xslProzessor->transformToXML($domDoc);
    }
    /*
     * Ruft, je nach Modus, automatisch eine ausgabe Funktion auf
     */
    public function __construct($intMode = 0){
        $domDoc = helpFunctions::xmlFromSql();
        switch($intMode){
            case 1:
                $this->datenAusgabe($domDoc);
                break;
            default:
                $this->rssAusgabe($domDoc);
        }
    } 
	}
	class helpFunctions{
		
		public static function xmlFromSql(){
	        $domDoc = new DOMDocument();
	        $domDaten = $domDoc->createElement("daten");
	        require('sqlConnection.php');
	        $sqlQuery = mysql_query("SELECT titel, text, datum, links FROM Blog");
	        while($sqlResult = mysql_fetch_object($sqlQuery)){
	            //Elemente erzeugen
	            $domDatensatz = $domDoc->createElement("datensatz");
	            $domTitel = $domDoc->createElement("titel");
	            $domText = $domDoc->createElement("text");
	            $domDatum = $domDoc->createElement("datum");
	            $domLinks = $domDoc->createElement("links");
	            //Inhalte aus DB einfügen
	            $domTitel->nodeValue = $sqlResult->titel;
	            $domText->nodeValue = $sqlResult->text;
	            $domDatum->nodeValue = $sqlResult->datum;
	            $domLinks->nodeValue = $sqlResult->links;
	            //Elemente zum XML-Baum hinzufügen
	            $domDatensatz->appendChild($domTitel);
	            $domDatensatz->appendChild($domText);
	            $domDatensatz->appendChild($domDaten);
	            $domDatensatz->appendChild($domLinks);
	            $domDoc->appendChild($domDatensatz);
	        }
	        return $domDoc;
    	}
		
	    public static function getNodes(DOMDocument $domDoc, $xpathString) {
	        $xp = new DOMXPath($domDoc);
	        $xp->registerNamespace('x', 'http://www.w3.org/1999/xhtml');
	        $xp->registerNamespace('xhtml', 'http://www.w3.org/1999/xhtml');
	        $xp->registerNamespace('i18n', 'http://apache.org/cocoon/i18n/2.1');
	        $ret = array();
	        $nodes = $xp->query($xpathString);
	        foreach ($nodes as $node){
	        	array_push($ret, $node);
	        	print_r($node);
	        } 
	        return $ret;
	    } 
	}
			
		?>
 
Werbung:
Hi
ich kenn mich jetz zwar nicht so gut aus mit xsl aber ich würde mal sagen dein Problem liegt daran das du dein Datum's Tag nicht geschlossen hast wie deine anderen Tags.

<xsl:value-of select="text" /><br />
<xsl:value-of select="datum">
<xsl:value-of select="links" />
Was du hiermit meinst versteh ich nicht ganz:
Und formatiert wird der Text auch nicht, so wie ich es eigentlich im xsl Stylesheet angegeben habe.
Ich kann in deinem xsl Code keine Formatierung des Textes finden.

Ich hoff mal ich hab dir wenigstens etwas geholfen.
 
Naja mh.. das Problem gibts leider noch immer.

Naja ich dachte wenn ich im xsl stylesheet angebe, wie die xml ausgabe auszusehen hat, das er mir das dann auch so anpasst?

Diese <b> und <br> die ich da reingeschrieben hab, die werden überhaupt ned beachtet.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben