Generation XML /XSLT et Format Blob

Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007 - 20 avril 2007 à 15:31
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007 - 23 avril 2007 à 09:18
Bonjour

J'ai trois problemes problèmes assez complexe, enfin de mon point de vue :

J'ai un page jsp qui recupere des données d'un formulaire avec entre autres un ou plusieurs champs de pieces jointes (plusieurs pourquoi ? j'utilise un script javascript qui on va dire genere dynamiquement des input files et peut aussi les supprimer bref).

J'arrive parfaitement à récuperer les données de mon formulaire. A présent je dois générer un document word en xml (Version de Word : 2000 2002 2003) grâce à un modele xml que j'ai deja defini .

Mon fichier XML , je l'ai ouvert sous Word pour voir mais bon a part le code xml il affiche rien d'autres ce serait trop simple.

J'ai commencé à me renseigner sur le XML, et c'est la catastrophe, on s'y retrouve plus. Entre le Open Document, le Open XML, le WordML (apparement mis en oeuvre seulement sous Office 2007). Il est difficile de déchiffrer ce qui marche et avec quelle version ?

Questions sur le XML :
Quelqu'un peut-il me dire s'il connait une bonne methode efficace pour generer mon document xml lisible sous Word?
Quels sont les schemas XML à respecter ?

Deuxieme probleme :
D'après ce que j'ai pu comprendre , le XML sous Word me permettrait d'afficher les données, mais pour pouvoir avoir une document dynamique et ergonomique je devrais utiliser ce qu'ils appellent je crois une feuille de style XLST.

Questions sur le XLST :
- Est ce que l'on peut dire que le XLST a à peu près les mêmes propriétés qu'une feuille de style CSS (mettre de la couleur, en gras, styler des paragraphes ) ?
- Quelqu'un connait il un bon lien pour faire des feuilles de style XLST ? je dois avouer que je débute dans ce domaine

Troisème questions :

Une fois, la generation de document XML / XLST, je dois ajouter les données du formulaire dans une base de données.
J'ai cherché pendant pas mal de temps, je n'ai pas trouvé mon bonheur.
Je desirerais creer un champ de type blob dans ma table (taille : je ne suis pas très sur encore mais maximum 5 mo c'est clair).

Questions sur le Format Blob :
  - J'ai lu que le Text empecher la casse mais pas le blob, y a til moyen en java s'il y a de la casse, d'annuler l'ajout à la base de données, ou alors avant d'ajouter de calculer eventuellement la taille totale de l'ensemble des pieces jointes ?
- Comment declare-t-on un champ blob ?
- Comment peut charger sur le champ blob de la bd, une piece jointe ?
- Peut on charger sur un champ blob plusieurs pieces jointes ? faut il preciser un separateur pour les pieces jointes dans le java ?

Je sais que ca fait beaucoup de questions mais c'est toute un ensemble, dsl.
Je precise que je n'attend pas de code tout fait, mais quel exemple, des explications, et peut etre 2 3 liens assez specifiques parce que y a trop de diversités sur le net.

Merci d'avance à tous pour vos reponses
Maiku

PS : Au pire si y a pas sous 2000 il me faudrait absolument le 2002, toute la societe l'utilise.

4 réponses

bensFouad Messages postés 39 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 11 mai 2008
20 avril 2007 à 19:35
Bonjour;
A la différence d'autre langages de style comme CSS, XSl modifie la structure du document pour en produire un nouveau.
pour éditer de l'xml, l'xsl, la version d'évaluation d'altova(xmlSpy) est pas mal, il génère meme le shema d'un xml.
pour génèrer de l'xml dans une application java , tu dois implémenter le model DOM de java

Exp:

 // Write out the DOM to a new XML file
  try {
   XMLSerializer out = new XMLSerializer(new FileWriter(invoiceXml),
     new OutputFormat("XML","ISO-8859-1",true));
   out.serialize(facture);
  } catch (IOException ex) {
   System.out.println("cannot write output facture.xml file ");
   ex.printStackTrace();
  }
 }
0
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
21 avril 2007 à 17:12
Bonjour

xmlSpy est un logiciel qu'on trouve sur le site d'altova c'est ça ? il me semble avoir cu ça quelque part.
J'ai deja implementer le Dom de Java pour tester l'analyse d'un document XML.
Mais si je lui precise pas le chemin du fichier XML il va automatiquement dans le chemin d'eclipse.
Le Code que tu as noté c'est pour créer un nouveau fichier xml mais le modele xml je le creer a la main, je veux utiliser ce modele pour en créer un identique et le modifier.

Merci de ton aide
Maiku
0
bensFouad Messages postés 39 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 11 mai 2008
21 avril 2007 à 21:21
Bonjour,
Pour qu'on soit d'accord ,le dom tu dois lui passé un fichier xml pour qu'il le parse et il génère aprés une arbre en mémoire de ton xml, en se basant sur ton premier fichier xml, tu peux creée un autre fichier xml si tu veux:
exp:
// méthode qui parse un fichier xml
public static Document parseDocument(String uri) throws Exception {
  DOMParser parser = new DOMParser();
  parser.parse(uri);
  Document document = parser.getDocument();
  return document;
 }
.........
Document commande = parseDocument("commande.xml"); //par exemple

pour cree un autre fichier xml selom ta guise, y a plein de methodes pour ca (createElement(..),createTextNode(..)..).
il y a pas un model xml, par contre il ya des fichier xml qui suivent un schéma(fichier.xsd)ou un dtd(moin utilisé), c'est toi qui défini un schéma que tes fichiers xml doivent respecter.
a+
0
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
23 avril 2007 à 09:18
Salut

Ok je vais regarder ça mais je pense pas qu'on gardera le format XML en fin de compte.
Toute la société utilise Office 2002 et manque de bol le XML n'apparait que sous le 2003.
Donc si je veux pouvoir faire du XML et affiche les infos sous Office 2002 il faudrait que je puisse convertir les .xml et .doc tout en gardant intact les données.
J' ai encore trouvé sur ça.

Maiku
0
Rejoignez-nous