ThomasM: Namespace Grundlagenfrage

Beitrag lesen

Hallo Pauli,

Wofür braucht man "xmlns="http://www.w3.org/2001/XMLSchema" ?

Dafür, dass man in bestimmten, vorgegebenen Grenzen/Vorgaben/... bleibt. Woher weiss das Programm das diese Vorgaben umsetzen soll, was da die Grenzen/Vorgaben/... sind?

In diesem Artikel steht eigentlich das Wesentliche.

Typischerweise möchte man verschiedene XML-Standards mischen und es können ggf. gleichnamige Elemente/Attribute auftreten, z. B. ein title-Element in einer SVG-Vektorgrafik, welche wiederum direkt in HTML eingebettet sein kann und dort gibt es auch ein title-Element. (Es gibt title als Kindelement von svg, aber auch von circle, rect, path usw.)

Oder man möchte Markup via XSLT erzeugen. Dann stehen die xsl:*-Elemente für die eigentliche Programmsyntax und innerhalb stehen die Ausgaben:

<xsl:template match="/">
  <html>
    <!-- hier HTML-Code ausgeben … -->
  </html>
</xsl:template>

Instruktiver bei der Excel-Generierung mit dem ganzen Office-Foo:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:fn="http://www.w3.org/2005/xpath-functions"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:x="urn:schemas-microsoft-com:office:excel"
  exclude-result-prefixes="fn xs">
  
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>


  <xsl:template match="/">
    <!-- weitere Ausgaben … -->
    
    <Row>
      <Cell>
        <Data ss:Type="Number">
          <xsl:value-of select=""/>
        </Data>
      </Cell>
      <!-- weitere Ausgaben … -->
    </Row>

    <!-- weitere Ausgaben … -->    
  </xsl:template>
  
</xsl:stylesheet>

Grüße,
Thomas