Jens Brossmann: <title>...</title> in einem xhtml-document

Hy,

ich bin dabei von HTML zu XHTML / XML zu wechsel. Wie ein XHTML Dokument aufgebaut ist habe ich nachlesen können. Auch die Formatierung mittels CSS oder XSL ist für die sichtbaren Bereiche des Dokuments ist klar.

Aber warum muß ich in der XSL-Datei einen Titel für das Fenster angeben obwohl der schon in der XHTML-Datei steht?!

Hier die Beispieldateien:

Datei TEST.XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>TEST XHTML DOKUMENT</title>
  </head>
  <body>
    <p>Hier steht eigentlich der normale Text!</p>
  </body>
</html>

Datei TEST.XSL

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <html>
      xsl:apply-templates/
    </html>
  </xsl:template>

</xsl:stylesheet>

Als Anzeige im Browser-Fenster (T-Online Browser):

TEST XHTML DOKUMENTHier steht eigentlich der normale Text!

Was ist da Falsch ??????????????

  1. Hi,

    Als Anzeige im Browser-Fenster (T-Online Browser):

    Die Anzeige ist unwichtig. Was steht im Source? Fällt Dir was auf?

    Beschäftige Dich mit apply-templates (und ggf. auch mit copy-of) und informier Dich darüber, was das default-template macht.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Hi,

      Hy,

      Als Anzeige im Browser-Fenster (T-Online Browser):

      Die Anzeige ist unwichtig. Was steht im Source? Fällt Dir was auf?

      was ich erreichen will ist, dass wie bei HTML der Inhalt des title-Tag im XHTML / XML - Dokument auch als Fenstertitel im Browser erscheint und nicht als Inhalt vom body-Tag ?!

      Beschäftige Dich mit apply-templates (und ggf. auch mit copy-of) und informier Dich darüber, was das default-template macht.

      Ich habe es auch mit xsl:copy und value-of probiert, aber der Titel bleibt nur Text.

      cu,
      Andreas

      Danke Jens

  2. Hallo,

    Hier die Beispieldateien:

    Datei TEST.XML

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <?xml-stylesheet type="text/xsl" href="test.xsl" ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>TEST XHTML DOKUMENT</title>
      </head>
      <body>
        <p>Hier steht eigentlich der normale Text!</p>
      </body>
    </html>

    Das das eigentlich keine XML-Datei ist, ist dir schon klar?
    Das ist ein "stink normaler" XHTML-Datei wozu du eigentlich überhaupt keine XSL brauchst.

    Datei TEST.XSL

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
        <html>
          xsl:apply-templates/
        </html>
      </xsl:template>

    </xsl:stylesheet>

    Als Anzeige im Browser-Fenster (T-Online Browser):

    TEST XHTML DOKUMENTHier steht eigentlich der normale Text!

    Was ist da Falsch ??????????????

    Im Grunde nichts. Es passiert genau das was passieren soll: du hast im <html> mit xsl:apply-templates/ einfach alle Text die in der Seite stehen hineingeholt, weil eben in diesem fall bei dir nur die build-in Templates greifen.

    <xsl:template match="/">
        <html>

    <head><title><xsl:value-of select="html/head/title" /></title></head>
    <body>

    <xsl:apply-templates select="body" />

    </body>

    </html>
      </xsl:template>

    <xsl:template match="p">
    <p><xsl:value-of select="." /></p>
    </xsl:template>

    usw.

    erkennst du jetzt, warum es wirklich überfüssig ist deine XHTML-Seite mit XSLT zum selben XHTML zu transformieren?

    Grüße
    Thomas

    1. Hi,

      Das das eigentlich keine XML-Datei ist, ist dir schon klar?
      Das ist ein "stink normaler" XHTML-Datei

      Daß diese Aussagen in sich widersprüchlich sind, ist Dir klar?
      JEDES XHTML-Dokument ist immer auch ein XML-Dokument...

      wozu du eigentlich überhaupt keine XSL brauchst.

      Dem stimme ich dagegen zu...

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
      1. Hallo,

        Das das eigentlich keine XML-Datei ist, ist dir schon klar?
        Das ist ein "stink normaler" XHTML-Datei

        Daß diese Aussagen in sich widersprüchlich sind, ist Dir klar?
        JEDES XHTML-Dokument ist immer auch ein XML-Dokument...

        Ich weiss, aber ich denke, dass es in seinem Fall einfacher ist, wenn er einen Unterschied zwischen einem x-beliebeigen XML-Dokument (und damit sind hier jetzt keine XHTML-Dokumente gemeint) und einem XHTML-Dokument macht. Denn trotz allem ist ein XHTML-Dokument in erster linie immer noch ein HTML-Dokument, wenn auch XML-konform kodiert.

        Grüße
        Thomas