XML-Transformation in XHTML und SVG gleichzeitig?
Sandra
- xml-derivat
Hallo!
Kann mir jemand sagen, ob es möglich ist, dass der Parser vom IE oder Mozilla eine XML-Datei so verarbeitet, dass eine HTML-Datei entsteht, wobei Teile (z.B. bestimmte Berechnungen) als SVG dargestellt werden?
Die Möglichkeit, aus der XML-Datei eine HTML-Datei mit entsprechender Verknüpfung zu den SVGs (also per Object Tag) zu erstellen, habe ich auch schon ins Auge gefasst.
Es entstünde dabei allerdings das Problem, dass ich so viele verschiedene SVG-Dateien benötigte, da zahlreiche ähnliche - aber nicht gleiche - SVG-Dateien aus der XML transformiert werden müssen.
Hat jemand eine Idee, wie ich das lösen könnte?
Hallo,
Kann mir jemand sagen, ob es möglich ist, dass der Parser vom IE oder Mozilla eine XML-Datei so verarbeitet, dass eine HTML-Datei entsteht, wobei Teile (z.B. bestimmte Berechnungen) als SVG dargestellt werden?
Im IE kann man mit dem ASV-Plug-in SVG-Elemente inline verwenden, z. B.:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xml:lang="de" lang="de">
<head>
<title>Inline-SVG</title>
</head>
<body>
<object id="AdobeSVG" classid="clsid:78156a80-c6a1-4bbf-8e6a-3cd390eeb4e2"></object>
<?import namespace="svg" implementation="#AdobeSVG"?>
<svg:svg width="600" height="300">
<svg:text id="tx" x="20" y="55" style="font-size: 40px">SVG</svg:text>
<svg:rect id="re" x="135" y="20" width="40" height="40" style="fill: #00C"/>
<svg:circle id="kr" cx="230" cy="40" r="20" style="fill: #F00"/>
<svg:polygon id="po" points="280,60 300,20 320,60" style="fill: #090"/>
</svg:svg>
</body>
</html>
Ich verwende diese Technik zum Integrieren von SVG in CHM-Onlinehilfen.
In dieser Richtung kann man auch mittels XSLT vorgehen, also die SVG-Elemente mit dem Namespace-Praefix praeparieren und das object-Element nebst <?import ... ?>-PI einbauen (die Position ist wichtig).
Eine Anleitung ist hier zu finden: http://www.surguy.net/articles/client-side-svg.xml.
MfG, Thomas