Announcement

Collapse
No announcement yet.

XML Datei verweis auf ein Bild

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

  • XML Datei verweis auf ein Bild

    Hallo an alle.
    Wir haben ein Projekt laufen und mit XML noch nicht so viel erfahrung.

    Es geht darum, dass wir eine XML schreiben wollen wo auch eine Grafik eingebunden werden soll. Also die XML steht, jedoch bekommen wir die Grafik nicht rein.

    Die XML soll dann mittels xslt ausgelesen werden, was auch schon funktioniert, nur die Grafik geht nicht richtig.

    Danke im voraus

    Mit freundlichem Gruß
    DerSpanier

  • #2
    jedoch bekommen wir die Grafik nicht rein.
    Und was könnte das heissen?

    Ihr könnte den Dateinamen nicht reinschreiben?
    Die Binärdaten der Grafik selber gehen nicht rein?

    Für letzteren Fall empfiehlt es sich diese Binärdaten nach Base64 zu kodieren....
    Christian

    Comment


    • #3
      Wie soll die Grafik eingebunden werden? Sinnvoll wäre im XML-Dokument eine Referenz auf das extern liegende Bild. Diese Referenz wird dann per Transformation z. B. bei HTML-Ausgabe dem src-Attribut eines img-Elements zugewiesen.

      Comment


      • #4
        Also die vorläufige XML sieht so aus

        <?xml version="1.0" encoding="utf-8" ?>
        <handbuch>
        <ueberschrift>DIAGRAMME</ueberschrift>
        <unterkapitel>
        <unterkapitel_ueberschrift>Balkendiagramme</unterkapitel_ueberschrift>
        <absatz>
        <unterkapitel_text>In allen Tabellen lassen sich die Werte durch verschiedene...</unterkapitel_text>
        <bild></bild>
        </absatz>
        </unterkapitel>
        <unterkapitel>
        <unterkapitel_ueberschrift>Diagramme definieren</unterkapitel_ueberschrift>
        <absatz>
        <unterkapitel_text>Es gibt mehrere Möglichkeiten, aus einer Tabelle ein...</unterkapitel_text>
        <bild></bild>
        </absatz>
        </unterkapitel>
        <unterkapitel>
        <absatz>
        <unterkapitel_ueberschrift>Diagrammbearbeitung</unterkapitel_ueberschrift>
        <unterkapitel_text>Mit der "Zoom-horizontal" Funktion können Sie...</unterkapitel_text>
        <bild></bild>
        </absatz>
        </unterkapitel>
        </handbuch>

        Ich würde gern in dem TAG Bild einen Verweis auf einem Bild machen, welches auf dem Server liegt.
        Wir lesen die XML Datei mit XSLT aus. Wie gesagt das mit den Texten funktionieren soweit.

        ~/beispiel.jpg

        geht zum beispiel nicht.

        Comment


        • #5
          Also ich kann da prima "~/beispiel.jpg " in das Tag setzen.

          geht zum beispiel nicht.
          ist kein Fehler!

          Vielleicht beschreibst du mal was wo nicht geht, den den Text kann man ins Tag setzen.

          Wir lesen die XML Datei mit XSLT aus.
          auslesen? würde sagen transformieren(in was?); vermutlich geht es doch da schief. Könnte natürlich auch sein, dass es am "~" liegt. Welches Dateisystem versteht dieses Zeichen an dieser Stelle?
          Zuletzt editiert von Christian Marquardt; 10.01.2009, 08:26.
          Christian

          Comment


          • #6
            Also wir arbeiten mit Visual Studio 2008 und haben einen Ordner "Image" wor die Bilder abgelgt sind.

            Ich will jetzt das beim Aufrufen eines LINKS die XML ausgeführt wird. XSLT formatiert mir diese so wie ich sie haben möchte und das Bild soll auch angezeigt werden.

            Bis auf das Bild funktioniert alles

            Comment


            • #7
              XSLT formatiert mir diese so wie ich sie haben möchte
              offenbar aber nicht
              Christian

              Comment


              • #8
                Ja das habe ich mir gestern auch schon gedacht, aber so wirklich nicht viel gefunden. Also ich schicke noch mal die XML und die XSLT vielleicht kann man so besser meinen fehler erkennen

                XML:

                <?xml version="1.0" encoding="utf-8" ?>
                <handbuch>
                <ueberschrift>DIAGRAMME</ueberschrift>
                <unterkapitel>
                <unterkapitel_ueberschrift>Balkendiagramme</unterkapitel_ueberschrift>
                <absatz>
                <unterkapitel_text>In allen Tabellen lassen sich die Werte durch verschiedene...</unterkapitel_text>
                <bild image="/images/dgr_002_mis___de.gif">Ich sollte ein Bild sein</bild>
                </absatz>
                </unterkapitel>
                <unterkapitel>
                <unterkapitel_ueberschrift>Diagramme definieren</unterkapitel_ueberschrift>
                <absatz>
                <unterkapitel_text>Es gibt mehrere Möglichkeiten, aus einer Tabelle ein...</unterkapitel_text>
                <bild image="/images/dgr_002_mis___de.gif">Ich sollte ein Bild sein</bild>
                </absatz>
                </unterkapitel>
                <unterkapitel>
                <unterkapitel_ueberschrift>Diagrammbearbeitung</unterkapitel_ueberschrift>
                <absatz>
                <unterkapitel_text>Mit der "Zoom-horizontal" Funktion können Sie...</unterkapitel_text>
                <bild image="/images/dgr_002_mis___de.gif">Ich sollte ein Bild sein</bild>
                </absatz>
                </unterkapitel>
                </handbuch>

                XSLT:

                <?xml version="1.0" encoding="utf-8"?>
                <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
                <xslutput method="html" indent="yes"/>

                <xsl:template match="/">
                <html>
                <body>
                <xsl:apply-templates />
                </body>
                </html>
                </xsl:template>
                <!--
                XML Inhalt wird formatiert
                -->
                <xsl:template match="handbuch">
                <p style="font-family:Verdana; font-size:13px; color:black">
                <xsl:apply-templates />
                </p>
                <br />
                </xsl:template>
                <!--
                XML Überschrift wird formatiert
                -->
                <xsl:template match="ueberschrift">
                <span style="font-weight:bold; color:red; font-size:large">
                <xsl:apply-templates/>
                </span>
                </xsl:template>
                <!--
                XML Überschrift des Unterkapitels wird formatiert
                -->
                <xsl:template match ="unterkapitel_ueberschrift">
                <p style="font-family:Verdana; font-size:13px; color:blue">
                <xsl:apply-templates />
                </p>
                <br />
                </xsl:template>
                <xsl:template match="bild">
                <xsl:apply-templates />
                </xsl:template>

                </xsl:stylesheet>

                Und hier die ASPX

                <%@ Page Language="C#" MasterPageFile="~/Navigation.Master" AutoEventWireup="true" CodeBehind="diagramme.aspx.cs" Inherits="online_hilfe_manserv.WebForm1" Title="Unbenannte Seite" %>
                <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
                </asp:Content>
                <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
                <asp:Xml ID="Xml1" runat="server" DocumentSource="~/XML/diagramme.xml"
                TransformSource="~/XML/xml_manserv.xslt"></asp:Xml>
                </asp:Content>

                Danke im voraus

                Comment


                • #9
                  Das bild-Template benötigt den HTML-gemäßen Inhalt:
                  Code:
                  <xsl:template match="bild">
                    <img src="{@image}" alt="{.}" />
                  </xsl:template>

                  Comment


                  • #10
                    Originally posted by Thomas Meinike View Post
                    Das bild-Template benötigt den HTML-gemäßen Inhalt:
                    Code:
                    <xsl:template match="bild">
                      <img src="{@image}" alt="{.}" />
                    </xsl:template>

                    Es klingt logisch, wenn man es erstmal gesehen hat. Wie kann ich mir dieses Wissen weiter aneignen? Ich habe zwar ein Video training, und auch einige Internet seiten, jedoch gehen diese nicht so sehr ins Detail

                    Comment


                    • #11
                      Arbeite die Spezifikationen und gute Tutorials durch, z. B. das von SELFHTML.

                      Comment

                      Working...
                      X