Anzeige

schemaLocation in einer XSL-Datei

oraclin25

Erfahrenes Mitglied
#1
Hallo zusammen,

ich frage mich was die Information bzgl. schemaLocation in diesem XSL-File mir nutzt:

Code:
<xsl:stylesheet version="1.0"
   ...
   xsi:schemaLocation="http://www.ratna.de ../xsd/meine.xsd">

...
...
</xsl:stylesheet>
Die Transformierung an sich von einem XML braucht meine.xsd ja gar nicht. Ist das vielleicht so gedacht, dass NACH der Transformation, wenn man will, das Transformationergebnis noch gegen meine.xsd validiiert werden kann?

Vielen Dank für Eure Hilfestellungen.

Viele Grüße aus Rheinland,

Eure Ratna
 

saftmeister

Nutze den Saft!
Premium-User
#2
Ist das vielleicht so gedacht, dass NACH der Transformation, wenn man will, das Transformationergebnis noch gegen meine.xsd validiiert werden kann?
So ist es. Ein XML-Validator ist damit in der Lage, das wohlgeformte XML zu validieren. Da es aber nicht automatisch aus dem XSL in das XML übernommen wird, musst du einen Eintrag im XSL vornehmen. Das kannst du mit xsl:copy erledigen.
 

oraclin25

Erfahrenes Mitglied
#3
Hallo saftmeister,

danke für die Hilfestellung. Ich habe nachgeprüft, ES GIBT KEINE schemaLocation-ANGABE IM ERGEBNIS-XML. Seltsam.

Du meintest, man könnte mit xsl:copy die Problematik erledigen. Mhh.. könntest Du mir hierzu bisschen helfen? Ich habe schon versucht, aber schemaLocation wird immer noch nicht mit angezeigt. Ich habe zum Beispiel folgendes probiert:
Code:
  <!-- string for default namespace uri and schema location -->
   <xsl:variable name="ns" select="'namespaceURL'" />
   <xsl:variable name="schemaLoc" select="'namespaceURL pathToMySchema.xsd'" />

   <xsl:template match="/*" priority="1">
     <xsl:element name="{local-name()}" namespace="{$ns}">
       <xsl:attribute name="xsi:schemaLocation"
         namespace="http://www.w3.org/2001/XMLSchema-instance">
  <xsl:value-of select="$schemaLoc" />
  </xsl:attribute>
       <xsl:apply-templates select="@* | node()" />
     </xsl:element>
   </xsl:template>
Hat aber leider nicht getan. Irgendwie aber auch sehr kompliziert.

Vielen Dank für die Hilfe.

Viele Grüße aus Rheinland,

Eure Ratna
 
Anzeige
Anzeige