Ciao, io ho un db in xml. Ho anche il suo schema in xsd. Adesso vorrei convertire questo schema xsd in uno xslt. E' possibile?
Ciao, io ho un db in xml. Ho anche il suo schema in xsd. Adesso vorrei convertire questo schema xsd in uno xslt. E' possibile?
Hai un DB in xml o hai dei campi in xml validati da un xsd?
Ad ogni modo l'xsl(t) trasfroma qualsiasi file xml in qualcos'altro. Un xsd, essendo un file xml, può essere trasformato tramite un xsl in un altro xsl (ma ti conviene?)... non so a cosa ti serva ma si può fare.
Ciao
Io ho un xml validato da un xsd. Vorrei convertire questo xsd in xsl in modo da poter importare questo database in filemaker (database simile ad access).
Potresti spiegarmi come si può fare. Cosa mi serve oltre al xsd?
Io utilizerei il dom per andare sul sicuro... una cosa tipo questa (in php5):
Ovviamente qua si stampa a video.Codice PHP:
<?php
// Load the XML source
$xml = new DOMDocument;
$xml->load('tuoschema.xsd');
$xsl = new DOMDocument;
$xsl->load('trasformo.xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
echo $proc->transformToXML($xml);
?>
Considera che il file trasformo.xsl dovrebbe elaborarti il tuo xsd in modo da restituirti un altro xsl.
xsd e xsl sono cose ben diverse tra loro per cui, non conoscendo filemaker, faccio fatica a capire la necessità di trasformare un xsd in xsl.
Vado un po' alla cieca: non sarebbe opportuno elaborare l'xsd con un sistema tipo Altova?
Ciao
in che modo costruisco trasformo.xsl? C'è una regola generale?
Beh, la regola è quella definita dalla w3: http://www.w3.org/Style/XSL/
Il modo lo devi definire tu visto che solo tu sai che xsl vuoi ottenere.
Di norma un xsl è una cosa di questo tipo:
CiaoCodice HTML:<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ....[vedi tu se definire altri namespace] > <!-- ti consiglio di definire l'output --> <xsl:output method="xml" encoding="UTF-8" ....[vedi tu se aggiungere altre opzioni] /> <xsl:template match="tuotemplate"> [....] </xsl:template> </xsl:stylesheet>