Page 1 sur 1

Purebasic et XML ?

Publié : dim. 27/févr./2005 21:58
par Flype
Noël est déjà passé, ceci dit, sera-t-il possible un jour de voir Purebasic gérer nativement la technologie - importante de nos jours - XML ?

C'est déjà possible depuis longtemps en ce qui me concerne grâce à la DLL 'xmlparser.dll' et le wrapper que j'ai écris.
Mais pour x ou y raisons ce serait excellent de le voir un jour intégré.

Si tu es intéressé Fred, j'ai remis l'archive en ligne. elle contient :

- 1 version en fichier .pbi pour une inclusion ou...
- 1 version en fichier .pbl pour une importation avec DLL Importer
- 1 exemple - version 'include'
- 1 exemple - version 'imported'
- 1 petit fichier xml de test
- la DLL libre d'utilisation 'xmlparser.dll'

http://www.penguinbyte.com/apps/pbwebst ... rapper.zip

Purebasicement votre !

Publié : dim. 27/févr./2005 22:32
par gansta93
C'est pas le bon endroit, mais comment ça fonctionne le xml ?
J'ai jamais compris...

Publié : lun. 28/févr./2005 17:57
par Oliv
gansta93 a écrit :C'est pas le bon endroit, mais comment ça fonctionne le xml ?
J'ai jamais compris...
Bah si :wink:
FLYPE : Merci pour cet exemple :D

Publié : mar. 01/mars/2005 5:12
par Flype
bon du coup, je fais une userlib. j'espere qu'elle vous plaira parce que
j'ai essayé de faire quelquechose de très simple à utiliser.

c'est en beta test...
alors n'hesitez pas à tester tout çà et à me remonter les bugs.

voici une copie de la doc qui résume l'ensemble des fonctions :

Code : Tout sélectionner

----------------------------------------------------------------------
 Name       PureXML
 Version    1.0 Beta
 Date       Feb. 2005
            
 Descr.     A Purebasic XML Userlibrary based on the 'xmlparser.dll'
            Written by Philippe Carpentier - flype@altern.org
            
 Compil.    Compiled with Purebasic 3.93 Beta 3
            UserLibrary made with TailBite 1.2 Beta 2
            Tested on Windows 98, 2000, XP
            
 Requir.    You must place the xmlparser.dll in same directory
----------------------------------------------------------------------

Main functions :

  Result.b = PureXML_ParseFile(xmlFile.s)
  Result.b = PureXML_ParseString(xmlString.s)
  Result.s = PureXML_LastError()

The goal of this UserLib is two read XML data from
a file or from a string. Here are the functions :-)

----------------------------------------------------------------------

Callback functions ( no return value ) :

  PureXML_SetOpenHandler(*funcPtr.l)
  PureXML_SetCloseHandler(*funcPtr.l)
  PureXML_SetDataHandler(*funcPtr.l)
  PureXML_SetCommentHandler(*funcPtr.l)
  PureXML_SetInvalidHandler(*funcPtr.l)

You should set those functions to catch XML  events.
Then you can easily process what you need for each tag name.

;-
Procedure MyXML_o()
  debug PureXML_Name()
EndProcedure

PureXML_SetOpenHandler(@MyXML_o())
;-

----------------------------------------------------------------------

Properties functions :

  Result.s = PureXML_Name()
  Result.s = PureXML_Data()
  Result.s = PureXML_Attr(attrName.s)

This help you process data from XML tags.
  
  An example :

  <software id='0' name='purebasic'>
    A great 'not so basic' language
  </software>
  
  PureXML_Name()       >>> "software"
  PureXML_Data()       >>> "  A great 'not so basic' language"
  PureXML_Attr("id")   >>> "0"
  PureXML_Attr("name") >>> "purebasic"

----------------------------------------------------------------------

Have fun
flype - 2005
Liens de PureXML Version 1.0 Beta :
http://www.penguinbyte.com/apps/pbwebst ... ureXML.zip

Publié : mer. 02/mars/2005 11:50
par gansta93
Bonjour,

Je vien de télécharger ta lib en espèrant qu'elle me face comprendre les rudiments du XML.:-)
Y aura-t-il lors d'une autre version éventuelle une doc au format CHM ?

@+ :-)

Publié : mer. 02/mars/2005 12:05
par Flype
tu sais que je l'ai fais en partie pour que toi et les autres comprennent... :P

pour la version CHM de la doc je vais essayer pour la 1ere fois l'outil de Gnozal 'PureHELP Maker'... on va voir...

Publié : mer. 02/mars/2005 20:30
par Flype
bon la doc est finie en html ( générée par PureHELP Maker )
reste la version française à faire ( oui je sais c'est paradoxal :) )
et à compilé tout çà en CHM.

@gangsta
Je vien de télécharger ta lib en espèrant qu'elle me face comprendre les rudiments du XML
et comprends tu mieux maintenant :?: :)

Publié : mer. 02/mars/2005 20:37
par gansta93
Je comprand le principe (à peux près), mais une fois que vien la pratique de la lib... ça... plante :-) ça vien sûrement de moi.
Faut dire que je m'attaque pas à un petit truc, mais aux fichiers de traduction de Trillian.
En tout cas merci pour cette lib dont j'attand la version française avec impatience, car elle m'a fait me plonger un peu dans le xml. :-)

Publié : mer. 02/mars/2005 21:57
par Flype
attention la dll xmlparser qui evidemment n'est pas de moi ( trop dur à faire un parser exhaustif ) est très rigoureuse quant à la syntaxe xml.
certaines libertés prisent dans certains documents xml que j'ai essayé et piochés sur divers sites ne sont pas ouvert et génère une erreur.
par contre avec mes propres fichiers xml ca fonctionne bien.

je sais deja que les balises <!CDATA ne sont pas reconnues, certaines balises d'entete XML aussi. et ensuite les balises du genre <item id=0 nom=toto>
ne sont pas reconnue car ce devrait etre <item id="0" nom="toto"> ( avec les guillemets )

peut etre existe t il une version plus recentes de xmlparser. je vais verifier. voir meme yeuté sur une autre lib ( celle de microsoft par ex. )

par ailleurs verifiez bien avec 'Debug PureXML_LastError()' juste apres PureXML_ParseFile( filename$ ) pour avoir une idée plus précise du problème.

Publié : mer. 02/mars/2005 22:18
par Flype
et aussi là haut j'ai fait une bourde :

c'est pas :
PureXML_SetOpenHandler(@MyXML_o)

mais
PureXML_SetOpenHandler(@MyXML_o())
les parentheses...