# schemaLocation in einer XSL-Datei



## oraclin25 (29. Mai 2014)

Hallo zusammen,

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


```
<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 (29. Mai 2014)

oraclin25 hat gesagt.:


> 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 (29. Mai 2014)

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:

```
<!-- 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


----------



## saftmeister (29. Mai 2014)

Schau mal hier: http://stackoverflow.com/questions/10940541/xslt-xsischemalocation-is-not-showing-on-xml
Oder hier: http://bytes.com/topic/net/answers/688808-how-include-schema-declaration-xslt-output


----------

