Datenschutzerklärung

Im Element 'html' ist das Attribut `xmlns` vorgeschrieben

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / XML und WML-Forum /

Im Element 'html' ist das Attribut `xmlns` vorgeschrieben

  Beitrag schreiben
Autor
Beitrag Seiten: 1
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

Code:

html

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
  Beitrag schreiben
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
  Beitrag schreiben
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
  Beitrag schreiben
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">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;</xsl:text>

<xsl:text disable-output-escaping="yes">&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;</xsl:text>

Ich hab das html Element als Text geschrieben!

vielen Dank nochmal für die Hilfe

Sandra


09.02.2010 09:33:55
  Beitrag schreiben
Seiten: 1   Beitrag schreiben
Wechsel zu

Valid HTML 4.01