Home
Über mich
Veröffentlichungen

XML XML-Schema XPath XSL-T XSL-FO XQuery XProc SVG

SVG / svg:svg / Lokaler SVG Namespace im XSL-Output

Lokaler SVG Namespace im XSL-Output

Lokaler SVG Namespace im XSL-Output

➪ Bei der XSL-generierten Einbettung von SVG-Grafiken in HTML-Dokumente ist es erforderlich, dass das svg-Element keinen Namespace-Prefix aufweist, sondern ausschliesslich den lokalen Default-Namespace xmlns="http://www.w3.org/2000/svg".

Die Lösung: Definieren Sie das SVG-Element lokal mit dem notwendigen Namespace.


<xsl:stylesheet 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  version="1.0">
  <xsl:output method="html" indent="yes"/>
  <xsl:template match="/">
    <html 
      xmlns="https://www.w3.org/1999/xhtml" 
      lang="de-DE" xml:lang="de-DE">
      <body>
        <h3>Hallo</h3>
        <svg xmlns="http://www.w3.org/2000/svg"
          width="380"
          height="235"
          style="fill:gray;">
          <rect x="5"
            y="5"
            width="375"
            height="230"
            style="fill:none; stroke:black"/>          
          <line stroke="blue" 
                x1="210" 
                x2="210" 
                y1="90" 
                y2="{100 + count(/Orte/Ort)*15}"/>
          <xsl:for-each select="/Orte/Ort">
            <text 
              x="250"
              y="{90 + position() * 15}"
              style="font:italic 9px sans-serif; fill:blue"
              text-decoration="underline">
              <xsl:value-of select="name"/>
            </text>
            <line stroke="blue" 
                  x1="200" 
                  x2="240" 
                  y1="{87 + position() * 15}" 
                  y2="{87 + position() * 15}"/>
            <circle r="2" 
                  cx="210" 
                  cy="{87 + position() * 15}" 
                  stroke="blue" 
                  fill="white"/>
          </xsl:for-each>          
        </svg>        
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

wg / 17. Juni 2020



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.




SVG

svg:svg



Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/svg_namespace_html_inline.html