22 August 2005
Fortgeschrittene
Sie sollten meinen vorigen Artikel, XML-Übersicht, gelesen haben.
Wenn Sie meinen früheren Artikel, XML-Übersicht, gelesen haben, wissen Sie, dass XML für den Datenaustausch entwickelt wurde. Die meisten Webanwendungen werden jedoch mit Blick auf den Endbenutzer entwickelt. Deshalb sollten die Informationen in einem lesbaren Format präsentiert werden. Hier kommt XSL ins Spiel: XSL nimmt die Daten aus den XML-Strukturen und verarbeitet sie, damit sie sinnvoll ausgegeben werden. Natürlich können Sie Perl, Java oder PHP verwenden, um das Transformieren von XML-Dokumenten zu umgehen. Da XML jedoch immer wichtiger wird, sollten Sie XSL und die zugrundeliegenden Funktionsweisen verstehen.
Zum Glück ermöglicht Dreamweaver 8 eine visuelle Herangehensweise für XSL-Transformationen, sodass Sie XML-basierte Daten ganz ohne manuelles Kodieren verarbeiten können. Um zu verdeutlichen, wie XML und XSL zusammen verwendet werden können, um Informationen zu verarbeiten und anzuzeigen, gehe ich in diesem Artikel auf XLS-Grundlagen und einige Anwendungsmöglichkeiten ein. Ich beschreibe die grundlegenden XSL-Syntaxregeln und nenne einige Beispiel für das Anwenden von Stilen mit XLS, und ich erläutere den Unterschied zwischen einer serverseitigen und einer clientseitigen Transformation.
XSL ist für XML, was CSS für HTML ist. XSL steht für EXtensible Stylesheet Language. Es handelt sich um eine Sprache, die zur Darstellung von XML-Daten in einem lesbaren Format dient. XSL besteht tatsächlich aus zwei Teilen:
XSLT steht für XSL Transformations und ist der wichtigste Teil von XSL.
XSLT transformiert ein XML-Dokument in ein anderes XML-Dokument, in eine XHTML-Ausgabe oder in einfachen Text. Dies geschieht normalerweise durch das Transformieren der einzelnen XML-Elemente in HTML-Elemente. XSL ist erforderlich, da XML-Tags benutzerdefiniert sind und Browser deshalb nicht wissen, wie die einzelnen Tags zu interpretieren oder wiederzugeben sind. Sie sollen von Menschen, nicht von Maschinen gelesen werden können.
XLST kann auch die folgenden Vorgänge für eine XML-Struktur ausführen:
Wenn Sie Ihre Kenntnisse über die XML-Syntax auffrischen möchten, lesen Sie den Abschnitt über die XML-Syntax in meinem vorigen Artikel über XML.
Wie Sie vielleicht noch aus dem Artikel XML-Übersicht wissen, beginnen alle XML-Dokumente mit einer XML-Deklaration. Das gilt auch für XSL-Stylesheets. Die erste Zeile eines XSL-Dokuments ist tatsächlich eine XML-Deklaration:
<?xml version="1.0" encoding="ISO-8859-1"?>
Ja und nein. Ja, weil dieselben Syntaxregeln gelten (abgesehen von einigen Unterschieden, die ich gleich noch nennen werde). Nein, weil sie unterschiedlichen Zwecken dienen: XML enthält Daten, XSL formatiert sie.
Nach der XML-Deklaration folgt eine XSL-Deklaration, so wie:
<xsl:stylesheet>
oder
<xsl:transform>
In den meisten echten Anwendungen sieht die XSL-Deklaration jedoch etwas komplexer aus:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
Dies liegt daran, dass auch der Namespace und die Version der XSL-Spezifikation angegeben werden, gemäß den Empfehlungen des W3 Consortiums.
Anders als die XML-Deklaration, die in eine einzelne Zeile geschrieben wird und über kein schließendes Tag verfügt, braucht die XSL-Deklaration ein schließendes Tag, welches das Ende des XSL-Stylesheets kennzeichnet:
</xsl:stylesheet>
Dies verstößt nicht gegen die XML-Syntaxregeln: ein XSL-Stylesheet ist ein gültiges XML-Dokument, da es über ein einzelnes Stammelement verfügt, das durch das Tag <xsl:stylesheet> festgelegt wird.
XSL wurde für wenige, spezielle Ziele entwickelt, wodurch es für einige Entwicklungssituationen perfekt geeignet ist, während es in anderen Fällen überhaupt nicht angebracht ist.
Wie passt XSL in das Gesamtbild? Um die fertigen HTML-Seiten für die Besucher Ihrer Website zu produzieren, müssen Sie ein XSL-Stylesheet auf Ihre XML-Datenquelle anwenden. Die eigentliche Transformation kann entweder von Ihrem Webserver oder vom Browser des Clients ausgeführt werden. Die fertige Ausgabe kann eine vollständige HTML-Seite oder ein Teil davon sein, der auf verschiedenen Seiten verwendet wird.
Sowohl der serverseitige als auch der clientseitige Ansatz haben ihre Vor- und Nachteile. Die serverseitige Transformation ermöglicht die Verarbeitung von XML-Dokumenten entweder von Ihrem Server oder von einer anderen Stelle im Internet. Der Server führt den eigentlichen Vorgang aus, bei dem eine HTML-Ausgabe erstellt wird, die jeder Browser laden kann. Auf der anderen Seite benötigen Sie für eine serverseitige XSL-Transformation einen richtig konfigurierten Anwendungsserver, der XML und XSL unterstützt. Nicht alle Hosting-Server sind darauf vorbereitet. Deshalb werde ich in einem meiner nächsten Artikel erläutern, wie die erforderlichen XML/XSL-Bibliotheken für PHP-Server installiert und konfiguriert werden. Dreamweaver 8 unterstützt XSL-Transformationen für ColdFusion-, ASP-, ASP.NET- und PHP-Seiten.
Im folgenden Diagramm sehen Sie den Ablauf der serverseitigen Transformation:
Beachten Sie, dass sich das XML-Dokument nicht auf dem Webserver befinden muss. Es kann auch auf einer Remote-Website platziert werden, von wo es bei Bedarf auf Ihren Server geladen wird.
Bei der clientseitigen Transformation erledigt der Browser des Clients die ganze Arbeit. Der Nachteil dabei ist, dass nicht alle Browser XML/XSL unterstützen, weshalb einige der Clients Ihre Seiten womöglich nicht anzeigen können. Eine Liste aktueller Browser, die über XML/XSL-Funktionen verfügen, finden Sie auf dieser Seite der Website des W3 Consortiums. Außerdem sind Sie mit dem clientseitigen Ansatz auf die Verarbeitung lokaler XML-Dateien beschränkt. Wenn Sie zum Beispiel einen RSS-Datenstrom von einer anderen Website importieren möchten, müssen Sie eine Kopie davon herunterladen und diese dann auf Ihren Server hochladen. Bei jeder Änderung der ursprünglichen RSS-Datei auf der Remote-Website müssen Sie die Datei erneut herunterladen und auf Ihren Webserver platzieren.
Um dem Browser mitzuteilen, welches XSL-Stylesheet für die Verarbeitung des XML-Dokuments verwendet werden muss, müssen Sie die folgende Deklaration direkt nach der XML-Deklaration in die XML-Datei einfügen:
<?xml-stylesheet type="text/xsl" href="company.xsl"?>
Das Attribut href gibt den Pfad zum zu verwendenden XSL-Stylesheet an. Der Mechanismus ähnelt dem Verweis auf ein externes CSS-Stylesheet am Anfang einer HTML-Seite. Im folgenden Diagramm sehen Sie den clientseitigen Ablauf einer XSL-Transformation:
Ich habe schon erwähnt, dass die XSL-Deklaration auch den Namespace des Dokuments enthält. Ein Namespace ist – wie der Name schon sagt – ein "Raum für Namen". Er gibt den Satz von Elementnamen und Attributnamen an, die Sie in einem bestimmten Dokument verwenden dürfen. Der Zweck eines Namespace ist es, Namenskonflikte zu vermeiden. Da XML und andere, XML-bezogene Sprachen benutzerdefiniert sind, könnten Namenskonflikte auftreten. So kann zum Beispiel <table> auf eine Datenbanktabelle, eine Layout-Tabelle, ein Möbelstück oder einen Tisch in einem Restaurant verweisen. Da die meisten Anwendungen mehrere XML-Dokumente gleichzeitig verarbeiten, ist es nicht ungewöhnlich, verschiedene XML-Dokumente zu kombinieren, wobei dann ein bestimmtes Elemente mehrere Bedeutungen haben kann. Indem derselbe Namespace für verschiedene Dokumente verwendet wird, kann sichergestellt werden, dass das Element jeweils dieselbe Bedeutung hat. Auf der anderen Seite gewährleistet die Verwendung unterschiedlicher Namespaces, dass die Elemente unterschiedliche Bedeutungen haben.
In XML werden Namespaces durch das Attribut xmlns der Dokumentdeklaration festgelegt. Sie bestehen aus einem URI (Uniform Resource Identifier), d. h. aus der Adresse einer Website (z. B. http://www.w3.org/1999/XSL/Transform). Der Grund dafür ist, dass URIs eindeutig und einmalig sind, deshalb werden die entsprechenden Namespaces ebenfalls eindeutig sein.
Hinweis: Der URI in der Dokumentdeklaration wird einfach als Name verwendet. Er ist nicht als Hyperlink zu einem XML-Schema oder als Hinweis auf den Eigentümer des Dokuments (das Unternehmen oder die Website, von der das Dokument stammt) gedacht.
Da Sie jetzt eine Vorstellung von Namespaces haben, komme ich zur XSL-Syntax zurück. So wie XML-Dokumente aus einer hierarchisch angeordneten Menge von Elementen bestehen, setzen sich XSL-Dokumente aus Vorlagen oder Regeln zusammen. Jede Vorlage definiert die Regeln, die auf einen bestimmten XML-Knoten angewendet werden. Eine XSL-Vorlage sieht so aus:
<xsl:template match="">
</xsl:template>
Das Attribut match verknüpft eine XSL-Vorlage mit einem XML-Element. Der entsprechende Knoten wird als XPath-Ausdruck angegeben. Über XPath werde ich im nächsten Abschnitt schreiben.
XSL verwendet XPath, um einzelne Elemente der XML-Baumstruktur zu identifizieren, die verarbeitet werden müssen. Einfach ausgedrückt ist XPath ein Navigations-Tool für die Suche nach XML-Elementen. XPath verwendet dieselbe Syntax wie Systempfade in Betriebssystemen (z. B. C:\Programme\Macromedia\ oder /usr/bin/perl). Vergleichbar ist company/department/employee der XPath-Ausdruck, der auf das Element employee in einem XML-Dokument mit Informationen über ein Unternehmen (company) und dessen Abteilungen (department) zeigt. Dreamweaver 8 bietet eine visuelle Benutzeroberfläche und erstellt XPath-Ausdrücke für Sie, dennoch sollten Sie die Grundlagen von XPath verstehen, damit Sie XML-Daten von XSL-Stylesheets aus bearbeiten können.
Im Wesentlichen beachtet die XPath-Spezifikation dieselben Regeln wie die Dateisystemadressierung:
//employee beispielsweise alle employee-Knoten aus dem XML-Dokument./company/department/* zum Beispiel alle untergeordneten Knoten einer Abteilung (department) aus, also alle Mitarbeiter.../employee.@. Der Ausdruck /company/department/employee[@retired] wählt zum Beispiel alle Mitarbeiter aus, für die das Attribut retired festgelegt wurde.Der Inhalt des Elements <xsl:template> ist die Regel, die angewendet werden muss. Dies ist normalerweise HTML-Code, der an den Browser ausgegeben wird.
Erinnern Sie sich an das Dokument company.xml aus meinem vorigen Artikel? Stellen Sie sich vor, Sie müssten eine Regel auf den employee-Knoten anwenden, um die Mitarbeiter in einer Tabelle anzuzeigen:
Die XSL-Regel sieht dann folgendermaßen aus:
<xsl:template match="/">
<table border="1">
<tr>
<th>Name</th>
<th>Job</th>
<th>Salary</th>
</tr>
</table>
</xsl:template>
Beachten Sie, dass es sich bei dem Inhalt zwischen den Tabellen-Tags um reinen HTML-Code handelt. Der Code teilt dem Browser mit, dass die Mitarbeiter in einer Tabelle mit den folgenden Spaltenüberschriften angezeigt werden: Name, Job und Salary.
Der Ausdruck <xsl:template> definiert, wie ein Knoten im Browser aussieht. Um jedoch den tatsächlichen Inhalt des Knotens anzuzeigen, müssen Sie ein weiteres XSL-Konstrukt einsetzen: <xsl:value-of>. Der Name ist schon ziemlich aussagekräftig. Der Knoten, dessen Wert (value) angezeigt wird, wird durch das select-Attribut festgelegt, das einen XPath-Ausdruck als Wert nimmt. Angenommen, Sie möchten den Namen eines Mitarbeiters aus dem Dokument company.xml anzeigen. Der Code wird folgendermaßen aussehen:
<xsl:value-of select="/company/department/employee/name"/>
Zurück zum vorigen Beispiel (die Anzeige des Dokuments company.xml als Tabelle): Um die Werte der Knoten <name>, <job> und <salary> in der definierten XSL-Vorlage anzuzeigen, müssen Sie den folgenden Code schreiben:
<xsl:template match="/">
<table boder="1">
<tr>
<th>Name</th>
<th>Job</th>
<th>Salary</th>
</tr>
<tr>
<td><xsl:value-of select="company/department/employee/name"/></td>
<td><xsl:value-of select="company/department/employee/job"/></td>
<td><xsl:value-of select="company/department/employee/salary"/></td>
</tr>
</table>
</xsl:template>
Um im Browser zu sehen, wie sich der Code auswirkt, führen Sie die folgenden Schritte aus:
<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet type="text/xsl" href="ex_01.xsl"?>
Hinweis: Was dieser Code bewirkt, habe ich im Abschnitt über die clientseitige Transformation weiter oben in diesem Artikel beschrieben. Der Code teilt dem Browser mit, welches XSL-Stylesheet für die Verarbeitung des XML-Dokuments verwendet werden soll. Das Attribut href gibt den Pfad zum zu verwendenden XSL-Stylesheet an.
Um alle Mitarbeiter in der Tabelle anzuzeigen, müssen Sie ein weiteres gebräuchliches XSL-Konstrukt verwenden:
<xsl:for-each select=""> </xsl:for-each>
Der Wert des select-Attributs ist ein XPath-Ausdruck, der den Knotensatz, der angezeigt werden soll, festlegt. Wenn Sie mit anderen Programmiersprachen vertraut sind, merken Sie, dass das Konstrukt <xsl:for-each> die Aufgabe einer typischen for-Schleife übernimmt.
Jetzt sollen alle Mitarbeiter des Unternehmens angezeigt werden:
<xsl:template match="/">
<table border="1">
<tr>
<th>Name</th>
<th>Job</th>
<th>Salary</th>
</tr>
<xsl:for-each select="company/department/employee">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="job"/></td>
<td><xsl:value-of select="salary"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
Beachten Sie, dass die XPath-Ausdrücke für Name, Job und Salary nicht den übergeordneten Knoten einschließen oder mit dem Dokumentstamm beginnen müssen. Dies liegt daran, dass der Pfad zu diesen Elementen anhand des XPath-Ausdrucks ermittelt wird, der im Konstrukt <xsl:for-each> angegeben ist. Damit Sie sehen, wie der Code in Ihrem Browser wirkt, öffnen Sie erneut die Datei company.xml, und ändern Sie den Wert des Attributs href in ex_02.xsl. Zeigen Sie dann eine Vorschau in Ihrem Browser an. Sie sollten die folgende HTML-Tabelle sehen:
Mit XLS haben Sie die Möglichkeit, Elemente zu filtern und zu sortieren sowie Inhalte anhand bestimmter Bedingungen anzuzeigen.
Mit dem Konstrukt <xsl:for-each> können Sie die Ausgabe anhand einer Bedingung filtern. Angenommen, Sie möchten nur diejenigen Mitarbeiter anzeigen, die als Programmierer tätig sind.
<xsl:template match="/">
<table border="1">
<tr>
<th>Name</th>
<th>Job</th>
<th>Salary</th>
</tr>
<xsl:for-each select="company/department/employee[job='Programmer']">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="job"/></td>
<td><xsl:value-of select="salary"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
Damit Sie sehen, wie der Code in Ihrem Browser wirkt, öffnen Sie erneut die Datei company.xml und ändern Sie den Wert des Attributs href in ex_03.xsl. Zeigen Sie dann eine Vorschau in Ihrem Browser an. Sie sehen, dass nur die Programmierer aus dem Dokument company.xml in einer HTML-Tabelle aufgelistet werden:
Bedingungen für XML-Knoten können Sie mit den folgenden Operatoren definieren:
Elemente lassen sich auch alphabetisch sortieren. Verwenden Sie einfach das Konstrukt <xsl:sort />, und geben Sie den Knoten an, nach dem sortiert werden soll. Das Element <xsl:sort /> muss in einem Element <xsl:for-each> verschachtelt sein, damit die Anwendung alle Elemente durchläuft. So können Sie die Mitarbeiter in alphabetischer Reihenfolge anzeigen:
<xsl:template match="/">
<table border="1">
<tr>
<th>Name</th>
<th>Job</th>
<th>Salary</th>
</tr>
<xsl:for-each select="company/department/employee">
<xsl:sort select="name" />
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="job"/></td>
<td><xsl:value-of select="salary"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
Beachten Sie, dass das sort-Element kein entsprechendes schließendes Tag hat. Damit Sie sehen, wie der Code in Ihrem Browser wirkt, öffnen Sie erneut die Datei company.xml und ändern Sie den Wert des Attributs href in ex_04.xsl. Zeigen Sie dann eine Vorschau in Ihrem Browser an. Sie sehen, dass alle Mitarbeiter aus dem Dokument company.xml alphabetisch sortiert in einer HTML-Tabelle angezeigt werden:
Selbstverständlich können Sie problemlos zwischen aufsteigender und absteigender Reihenfolge wechseln, indem Sie einfach ein zusätzliches Attribut in das Element <xsl:sort /> einfügen:
<xsl:sort select="/name" order="descending"/>
Beachten Sie, dass der oben aufgeführte XSL-Code die Struktur des ursprünglichen XML-Dokuments nicht verändert. Die Mitarbeiter werden lediglich in dem generierten HTML-Code, der nach der XSL-Transformation an den Browser gesendet wird, in alphabetischer Reihenfolge aufgeführt.
Wie mit den meisten Sprachen haben Sie auch mit XSL die Möglichkeit, bestimmte Inhalte anhand von Bedingungen anzuzeigen.
Eine einfache Bedingung wird mithilfe der folgenden Syntax definiert:
<xsl:if test="expression">
</xsl:if>
Damit alle Elemente anhand der Bedingung getestet werden und nur diejenigen angezeigt werden, die die Bedingung erfüllen, muss das Konstrukt xsl:if in einem xsl:for-each-Element verschachtelt sein. Im folgenden Beispiel werden nur die Mitarbeiter mit einem Gehalt von mehr als 2700 Dollar angezeigt:
<xsl:template match="/">
<table border="1">
<tr>
<th>Name</th>
<th>Job</th>
<th>Salary</th>
</tr>
<xsl:for-each select="company/department/employee">
<xsl:if test="salary > 2700">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="job"/></td>
<td><xsl:value-of select="salary"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</xsl:template>
Beachten Sie, dass die Zeichen für "kleiner als" (<) und "größer als" (>) durch die entsprechenden HTML-Escape-Sequenzen (< und >) ersetzt wurden. Andernfalls könnten sie leicht mit dem Anfang oder Ende eines Tags verwechselt werden. Damit Sie sehen, wie der Code in Ihrem Browser wirkt, öffnen Sie erneut die Datei company.xml und ändern Sie den Wert des Attributs href in ex_05.xsl. Zeigen Sie dann eine Vorschau in Ihrem Browser an. Sie sehen, dass nur diejenigen Mitarbeiter aus dem Dokument company.xml in der HTML-Tabelle angezeigt werden, deren Gehalt über 2700 Dollar liegt:
Die Operatoren, die Sie in den test-Ausdrücken verwenden können, sind die üblichen konditionalen Operatoren:
Wenn Sie einen Wert mit einer Zeichenfolge vergleichen möchten, müssen Sie die Zeichenfolge in einfache Anführungszeichen setzen (zum Beispiel <xsl:if test="job = 'Software Analyst'">).
Sie können auch komplexere Bedingungen definieren, die den in den meisten Programmiersprachen verwendeten IF-ELSE-Konstrukten ähneln. Die Syntax ist einleuchtend:
<xsl:choose>
<xsl:when test="expression">
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
Damit die Bedingungen für mehrere XML-Knoten getestet werden, muss das Konstrukt <xsl:choose> in einer <xsl:for-each>-Schleife verschachtelt sein.
Angenommen, Sie möchten alle Mitarbeiter, die weniger als 2700 Dollar verdienen, in Grün hervorheben, und alle Mitarbeiter mit einem Gehalt von mehr als 2700 Dollar in Blau:
<xsl:template match="/">
<table border="1">
<tr>
<th>Name</th>
<th>Job</th>
<th>Salary</th>
</tr>
<xsl:for-each select="company/department/employee">
<xsl:choose>
<xsl:when test="salary > 2700">
<tr bgcolor="#66CCFF">
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="job"/></td>
<td><xsl:value-of select="salary"/></td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr bgcolor="#00CC99">
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="job"/></td>
<td><xsl:value-of select="salary"/></td>
</tr>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</table>
</xsl:template>
Das Element <xsl:otherwise> legt die Regeln fest, die standardmäßig angewendet werden sollen, wenn die erste Testbedingung vom XML-Knoten nicht erfüllt wird.
Damit Sie sehen, wie der Code in Ihrem Browser wirkt, öffnen Sie erneut die Datei company.xml und ändern Sie den Wert des Attributs href in ex_06.xsl. Zeigen Sie dann eine Vorschau in Ihrem Browser an. Sie sollten die folgende HTML-Tabelle sehen:
Sie sehen, dass die Mitarbeiter mit weniger als 2700 Dollar Gehalt in Grün und die Mitarbeiter mit einem höheren Gehalt in Blau angezeigt werden.
Das Konstrukt <xsl:choose> kann unkompliziert erweitert werden, um mehrere Bedingungen zu testen, indem Sie ein oder mehrere <xsl:when>-Elemente hinzufügen. Unabhängig davon, wie viele <xsl:when>-Elemente es gibt, muss es immer ein einziges Element <xsl:otherwise> geben, das alle anderen Fälle, in denen die erste Testbedingung nicht erfüllt wird, regelt. Versuchen Sie übungshalber doch einmal, die Liste der Mitarbeiter mit den folgenden Hervorhebungen anzuzeigen:
Eine der neuen Funktionen in Dreamweaver 8, die das Kodieren beschleunigen und vereinfachen, sind die die Codehinweise. Wenn Sie <xsl: eingeben, zeigt Dreamweaver eine Liste mit Optionen zur Vervollständigung der Eingabe an:
Um einen Knoten oder eine Funktion auszuwählen, heben Sie den entsprechenden Eintrag in der Liste hervor, und drücken Sie die Eingabetaste Windows bzw. den Zeilenschalter Macintosh . Mithilfe der Bildlaufpfeile können Sie durch die Liste mit Vorschlägen scrollen. Codehinweise helfen Ihnen, Code fehlerfrei zu schreiben oder zu bearbeiten.
In diesem Artikel habe ich einen kurzen Überblick über XSL geschrieben, sodass Sie nun einige Richtlinien zur Verwendung von XSL in Ihren Webentwicklungsprojekten kennen sollten. Der Artikel geht kurz auf einige neue XML-Authoring-Funktionen in Dreamweaver 8 ein, die Sie als Entwicklungs-Tools für Ihre XML-basierten Anwendungen sicherlich hilfreich finden. Erforschen Sie die vielfältigen Möglichkeiten von XML und XSL.
In meinen beiden nächsten Artikeln beschreibe ich die Verwendung eines RSS-Datenstroms in Ihrer Site mit Dreamweaver 8 sowie die Konfiguration Ihres Servers für serverseitige XSL-Transformationen. Dreamweaver 8 ist bereits erhältlich. Wenn Sie sich über das Macromedia Affiliate Program von InterAKT Online anmelden, erhalten Sie auch eine kostenlose Ausgabe von ImpAKT.
Tutorials and samples |
Dreamweaver user forum |
More |
| 04/23/2012 | Resolution/Compatibility/liquid layout |
|---|---|
| 04/20/2012 | using local/testing server with cs5 inserting images look fine in the split screen but do not show |
| 04/18/2012 | Ap Div help |
| 04/23/2012 | Updating |
Dreamweaver Cookbook |
More |