M8TRIX
Mitglied
Ort: Ruhrgebeat
Registriert: 08.02.2010
Beiträge: 3
|
|
Guten Tag Forum,
wir benutzen ein CMS welches eine XML-Datei zur Transformation der Webseiten benutzt.
Ich habe ein Problem bei der Syntax, um dem html Element weitere Attribute zu übergeben.
Der Quelltext der XML-Datei:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user=".">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes" media-type="text/html; charset=iso-8859-1"/>
<xsl:output method="xml" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
<xsl:template match="/">
<xsl:element name="html"> |
Der ausgegebene Quelltext:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>... |
Der Validator sagt zurecht: Im Element 'html' ist das Attribut `xmlns` vorgeschrieben, welches aber fehlt.
In Kurzform: Wie schreibe ich in der XML(xsl) Syntax die Erweiterung für das
Element, damit sowas später rauskommt:
Code:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
Ich dachte an sowas...
Code:
<xsl:element name="html">
<xsl:attribute name="?">?</xsl:attribute>
<xsl:attribute name="?">?</xsl:attribute> |
Ich hoffe ich habe mich nicht all zu kompliziert ausgedrückt!
Vielen Dank für Eure Hilfe
Sandra
|
|
| 08.02.2010 12:07:43 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 654
|
|
Hallo,
Code:
<?xml version="1.0" encoding="UTF-8"?>
<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" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:element name="html">
<xsl:attribute name="xml:lang">en</xsl:attribute>
<xsl:attribute name="lang">en</xsl:attribute>
</xsl:element>
</xsl:template>
</xsl:stylesheet> |
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 08.02.2010 13:21:28 |
|
M8TRIX
Mitglied
Ort: Ruhrgebeat
Registriert: 08.02.2010
Beiträge: 3
|
|
Hallo HTMELL,
vielen Dank für Deine schnelle Antwort.
Die Beiden Attribute unter dem html-Element habe ich erfolgreich hinzufügen können.
Mein XML:
Code:
<xsl:element name="html">
<xsl:attribute name="xml:lang">en</xsl:attribute>
<xsl:attribute name="lang">en</xsl:attribute> |
erzeugt folgende Ausgabe:
Code:
<html xml:lang="en" lang="en"> |
Was der Validator jetzt noch anmeckert ist das fehlende:
Code:
Im Element 'html' ist das Attribut `xmlns` vorgeschrieben, welches aber fehlt. |
Ich habe es so versucht:
Code:
<xsl:attribute name="xmlns">http://www.w3.org/1999/xhtml</xsl:attribute> |
und so:
Code:
<xsl:attribute name="xmlns:xsl">http://www.w3.org/1999/xhtml</xsl:attribute> |
Danach habe ich nur noch eine weiße Seite!
vielleicht hat noch wer einein Rat.
lieben Dank
Sandra
|
|
| 08.02.2010 13:59:28 |
|
M8TRIX
Mitglied
Ort: Ruhrgebeat
Registriert: 08.02.2010
Beiträge: 3
|
|
Hallo Forum,
ich habe es nun etwas anders gelöst und wollte das mit Euch teilen.
Ich habe meinen Code nun etwas geändert und nun klappt es auch mit der Validierung.
Vielleicht geschummelt aber immerhin :)
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user=".">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes" media-type="text/html; charset=iso-8859-1"/>
<xsl:template match="/">
<xsl:text disable-output-escaping="yes"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></xsl:text>
<xsl:text disable-output-escaping="yes"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"></xsl:text> |
Ich hab das html Element als Text geschrieben!
vielen Dank nochmal für die Hilfe
Sandra
|
|
| 09.02.2010 09:33:55 |
|