Gurumeditation Dépoussiérant | Salut a tous !
Apres une recherche qui n'a pas répondu a mes attentes, je pose la question :
j'utilise QT 3.2.1 (et je ne peux pas en utiliser d'autre).
J'ai un fichier contenant un DTD, et un autre contenant un fichier XML .
J'aimerai vérifier le fichier XML par le DTD en premier, et ensuite lire les valeurs des nodes de mon fichier XML. Pour l'instant j'arrive a parcourir les nodes et avoir leur nom, mais rien de plus (en utilisant QDomNode.tagName() )
Qt assistant n'arrive pas a me sortir la tete de l'eau non plus, pas plus que les bouquins sur QT que j'ai .
Si quelqu'un peut me filer un coup de main ca sera pas de refus.
Mes fichiers XML et DTD :
le XML :
<FILTRECOMBINE nom= "seuillage rouge puis binaire" nbfiltres= "2">
<DESCRIPTIONGLOBALE>
"Ce filtre produit un seuillage sur le rouge et transforme ensuite l'image en binaire"
</DESCRIPTIONGLOBALE>
<FILTRE nom= "seuillageRVB" nbparam= "6" >
<DESCRIPTION>
"filtre de seuillage selon les couleurs RVB"
</DESCRIPTION>
<ACCES type= "dll" >
"./seuillageRVB.dll"
</ACCES>
<PARAM type_visuel= "regle" nom= "Rmin" min="0" max="255" valeur="10" type_donnee="short unsigned int">
"rouge min"
</PARAM>
<PARAM type_visuel= "regle" nom="Rmax" min="0" max="255" valeur="60" type_donnee="short unsigned int">
"rouge max"
</PARAM>
<PARAM type_visuel="regle" nom="Vmin" min="0" max="255" valeur= "0" type_donnee="short unsigned int">
"vert min"
</PARAM>
<PARAM type_visuel= "regle" nom= "Vmax" min="0" max="255" valeur="0" type_donnee="short unsigned int">
"vert max"
</PARAM>
<PARAM type_visuel="checkbox" nom="Bmin" min="0" max="255" valeur="0" type_donnee="short unsigned int">
"bleu min"
</PARAM>
<PARAM type_visuel="regle" nom="Bmax" min="0" max= "255" valeur="0" type_donnee="short unsigned int">
"bleu max"
</PARAM>
</FILTRE>
<FILTRE nom= "binaire" nbparam="2">
<DESCRIPTION>
"Ce filtre transforme une image en binaire: toutes les valeurs de couleur comprises dans la fenetre sont passees a 1, les autres a 0"
</DESCRIPTION>
<ACCES type= "dll" >
"./binaire.dll"
</ACCES>
<PARAM type_visuel= "regle" nom="Smin" min="0" max="255" valeur="0" type_donnee="short unsigned int" >
"Seuil mini"
</PARAM>
<PARAM type_visuel="regle" nom="Smax" min="0" max="255" valeur= "60" type_donnee="short unsigned int">
"Seuil maxi"
</PARAM>
</FILTRE>
</FILTRECOMBINE>
|
le DTD : <?xml version="1.0"?>
<!DOCTYPE DEFINITIONFILTRE [
<!ELEMENT filtrecombine (descriptionglobale?,(filtre,filtrecombine)+)>
<!ELEMENT descriptionglobale (#PCDATA)>
<!ATTLIST filtresauve nom CDATA #REQUIRED >
<!ATTLIST filtresauve nbfiltres CDATA #REQUIRED >
<!ELEMENT filtre (description?,acces,param*)>
<!ELEMENT description (#PCDATA)>
<!ATTLIST filtre nom CDATA #REQUIRED>
<!ATTLIST filtre nbparam CDATA #REQUIRED>
<!ELEMENT acces (#PCDATA)>
<!ATTLIST acces type (dll|so|exe) #REQUIRED>
<!ELEMENT param (#PCDATA)>
<!ATTLIST param type_visuel (regle|radio|checkbox|editbox|pmbox) #REQUIRED>
<!ATTLIST param nom CDATA #REQUIRED>
<!ATTLIST param min CDATA #REQUIRED>
<!ATTLIST param max CDATA #REQUIRED>
<!ATTLIST param valeur CDATA #REQUIRED>
<!ATTLIST param type_donnee CDATA #required>
]>
|
merci d'avance!
|