Le fichier XML peut contenir des fichier ?

Le fichier XML peut contenir des fichier ? - Divers - Programmation

Marsh Posté le 18-03-2004 à 09:56:47    

Bonjour !
 
J'aimerai savoir si un fichier XML peut contenir un autre fichier ?
 
Par exemple J'aimerai savoir si on peut faire ca avec un fichier XML
 
--------- debut
Nom  du fichier =  
Auteur =
Description =
Taille =
 
Fichier truc.pdf
###############################
###############################
###############################
###############################
 
Signature PGP =
 
----------fin
 
Merci

Reply

Marsh Posté le 18-03-2004 à 09:56:47   

Reply

Marsh Posté le 18-03-2004 à 09:58:46    

Oui mais tu ne peux pas foutre des octets violemment comme ça. Il faut donc convertir tes données en Base64 avant et les inclure en faisant un truc genre <Fichier nom="plouf.pdf">données en Base64</Fichier>

Reply

Marsh Posté le 18-03-2004 à 10:06:50    

Super !  
 
Ca veut dire donc que c'est possible :)

Reply

Marsh Posté le 18-03-2004 à 10:08:56    

Ouais enfin le coût est pas négligeable non plus : ton fichier pèsera 1,4 à 1,5 fois plus lourd une fois en Base64.

Reply

Marsh Posté le 18-03-2004 à 10:15:25    

Taiche a écrit :

Oui mais tu ne peux pas foutre des octets violemment comme ça. Il faut donc convertir tes données en Base64 avant et les inclure en faisant un truc genre <Fichier nom="plouf.pdf">données en Base64</Fichier>
 


 
Pour faire propre, ça serait pas plutôt
 
<Fichier nom="plouf.pdf"><![CDATA[
données en Base64
]]></Fichier>
 
?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-03-2004 à 10:16:12    

Oh ba si, c'est juste que c'est quelque chose que j'fais jamais donc j'ai pas tellement les mécanismes [:ddr555]

Reply

Marsh Posté le 18-03-2004 à 10:33:51    

Merde il faut pas qu'il prenne du poid sinon l'interet devient moins interressant !  
 
.. En fait il faudrais que je puisse avoir un fichier qui en XML laisse paraitre les informations dites sans être separé du fichier texte qui l'accompagne

Reply

Marsh Posté le 18-03-2004 à 10:43:41    

le surpoids de la base64 c +33%. L'encodage prend 3 octets et les transforme en 4 paquets de 6bits significatifs dans un octet. + padding evidememnt
Donc 100 octets deviennent (100/3) = 33*4+1 = 133 octets

Reply

Marsh Posté le 18-03-2004 à 11:04:16    

Taiche a écrit :

Oui mais tu ne peux pas foutre des octets violemment comme ça. Il faut donc convertir tes données en Base64 avant et les inclure en faisant un truc genre <Fichier nom="plouf.pdf">données en Base64</Fichier>
 

Ca peut en effet marcher ainsi, mais il vaudrait mieux utiliser la technique XML prevue pour:
<Fichier nom="plouf.pdf"><![CDATA[données en Base64]]></Fichier>  
Ca evitera au parser de chercher autre chose que ]]> dans tes données afin de voir ou se terminent tes données.
 
 
De toute facon, c'est pas dans l'esprit XML, ou tu adresses ce type de fichier comme une donnés externe accedée comme une entité.
 
Tu pourrais donc avoir un fichier avec un debut comme suir:
 
<!DOCTYPE MyDocumentType [
<!NOTATION pdf SYSTEM "pdfviewer.exe">
<!ENTITY plouf SYSTEM "plouf.pdf" NDATA pdf>
]>
tes données xml, avec l'appel au fichier
<Fichier auteur = "...">&plouf;</Fichier>
reste de tes données
 
Ou bien:
tes données xml, avec l'appel au fichier
<Fichier auteur = "..." file="plouf"/>
reste de tes données
 
Au cas ou ton modele de données pour Fichier le declare avec une declaration du style:
<!ELEMENT Fichier EMPTY>
<!ATTLIST Fichier file ENTITY #REQUIRED  
                  auteur CDATA #IMPLIED
                  ...>
 
Apres, si tu veux tout dans un seul fichier, il faut aller voir:
- Le format mhtml http://www.ietf.org/rfc/rfc2557.txt (c'est le .mht utilise parfois avec IE)
- Le format DZIP de topologi http://www.topologi.com/products/validator/dzip.html
- Des techniques a la SOAP
...
 
A+,


Message édité par gilou le 18-03-2004 à 11:11:47

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 18-03-2004 à 11:09:45    

merci bcp :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed