Announcement

Collapse
No announcement yet.

Namespace Probleme!!!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Namespace Probleme!!!

    Hi alle zusammen................

    ich habe folgendes XML-Dokument (kleiner auszug):

    <?xml version="1.0 encoding="utf-8" ?>
    <test xmlns="urn:................."
    xmlns: Doc="urn:...................."
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:schemaLocation="urn:...........">

    <bb>
    <aa>2007-11-20</aa>
    </bb>

    <Doc: Dokument>
    <Doc:xxxx>
    <Doc:bbbb>......</Doc:bbbb>
    <Doc:cccc>........</Doc:cccc>
    </Doc:xxxx>
    </Doc: Dokument>
    </test>

    meine XSLT -Stylesheet sieht folgendermaßen aus(kleiner auszug):

    <xsl:stylesheet xmlns:xsl="http://www.3.org/1999/XSL/Transform"
    xmlns:xalan="http://xml.apache.org/xalan" version="1.0"
    xmlns: Doc="urn:......................................... .">

    <xsl: output doctype-public="-//W3C/DTD HTML 4.01 Transitional//EN"/>
    <xsl: output method="html" encoding="utf-8" />

    und auf die Knoten greife ich mit z.B Doc:xxxx zu und dies funktioniert nicht!

    Wenn ich das Doc: überall aus der XML entferne, dann erhalte ich die korrekte Ausgabe!

    Aber die XML darf nicht verändert werden..............

    Kann mir vielleicht jemand dabei Helfen!!!!!!!!!!!!!!!

    Danke im vorraus!

  • #2
    wenn ihr noch mehr informationen benötigt dann sagt einfach bescheid...........

    Ich hoffe hier könnt mir helfen!!!!!!!!!!!

    Comment


    • #3
      Da gibt es einige Fehler bei den Namensräumen, das fängt schon beim xsl-NS an.

      Hier mal ein Test mit etwas umgeschriebenen XML-Daten (speziell abc bzw. xyz):

      XML:
      Code:
      <?xml version="1.0" encoding="utf-8"?>
      <test xmlns="urn:bla" xmlns:Doc="urn:blabla"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:schemaLocation="urn:blablabla">
        <bb>
          <aa>2007-11-20</aa>
        </bb>
        <Doc:Dokument>
          <Doc:xxxx>
            <Doc:bbbb>abc</Doc:bbbb>
            <Doc:cccc>xyz</Doc:cccc>
          </Doc:xxxx>
        </Doc:Dokument>
      </test>
      XSLT:
      Code:
      <?xml version="1.0" encoding="utf-8"?>
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version="1.0" xmlns:xalan="http://xml.apache.org/xalan" 
        xmlns:test="urn:bla" xmlns:Doc="urn:blabla"
        exclude-result-prefixes="Doc test xalan">
        <xsl:output doctype-public="-//W3C/DTD HTML 4.01 Transitional//EN"
          method="html" encoding="utf-8"/>
        <xsl:template match="test:test">
          <xsl:value-of select="Doc:Dokument/Doc:xxxx/Doc:bbbb"/><br />
          <xsl:value-of select="Doc:Dokument/Doc:xxxx/Doc:cccc"/>
        </xsl:template>
      </xsl:stylesheet>
      Ergebnis als unvollständiges HTML:
      <!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.01 Transitional//EN">abc<br>xyz

      Comment


      • #4
        Danke für die Antwort,aber bei mir funktioniert es immer noch nicht!

        Die Html Datei ist komplett leer,wenn ich z.B vor Dokument das Doc: setze ......................

        Wenn man aber aus der XML den Namespace komlett raus nimmt dann funktioniert es auf einmal..........komisch........

        warum erkennt mein XSLT-Programm dieses Namespace in der XML-Datei nicht!

        Comment


        • #5
          Hast Du mein Beispiel ausprobiert und mit welchem XSLT-Prozessor (ich vermute mit Xalan, sollte aber auch kein Problem sein)? Vermutlich liegt das eigentliche Problem an anderer Stelle. Poste mal mehr Code.

          Comment


          • #6
            Danke für die Tips, aber es lag an der Version von xalan............

            Comment

            Working...
            X