PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Ne valide pas le format - ajout d'un élément dans un xmlElement validé par un XSD
Ne valide pas le format - ajout d'un élément dans un xmlElement validé par un XSD
Iniciado por X2BF3, 02,mar. 2019 00:51 - No hay respuesta
Miembro registrado
8 mensajes
Publicado el 02,marzo 2019 - 00:51
Bonjour,

Cela fait déjà pas mal de temps que je suis confronté à ce problème.
J'ai un xmlElement validé par XSD dans lequel je peux altérer le contenu existant, mais dans lequel je ne parviens pas à ajouter de nouvel élément validant le format XSD.
Pourtant en manuel après génération du XML ça marche ...
Il y a un truc que je ne comprends pas ...
Qui a une solution pour créer cet élément "description" ?

xml_projet_mis_a_jour est un xmlDocument <Description="nom_du_XSD_de_validation">
VariableRAZ(xml_projet_mis_a_jour) //Au cas où ...

//ici on lit un projet existant et on le stock dans xml_projet_mis_a_jour
xml_projet_mis_a_jour = fonction_de_recherche_du_projet(projet_a_chercher)

//ici pas de problème pour modifier des clés déjà existantes
xml_projet_mis_a_jour.'project-i':version="1.3"
xml_projet_mis_a_jour.'project-i'.project:publicId=projet.code
xml_projet_mis_a_jour.'project-i'.project.name=projet.nom

//ici ça se complique car si l'élément existe ça marche
SI(xml_projet_mis_a_jour.'project-i'.project.description..Existe=1) ALORS
xml_projet_mis_a_jour.'project-i'.project.description=projet.titre
FIN

//Si l'element n'existe pas, je voudrai bien aussi le rajouter mais cette ligne rends le xmlDocument non valide vis à vis du XSD :
//xml_projet_mis_a_jour.'project-i'.project.description=projet.titre // <-- quelqu'un sait comment créer cet élément [description] descrit dans un XSD qui valide le format ?

SI XMLDocumentValide(xml_projet_mis_a_jour) = Faux ALORS
Erreur(ErreurInfo())
FIN

Data est une chaîne = XMLConstruitChaîne(xml_projet_mis_a_jour)

//Une solution de bidouillage consiste si l'élément n'existe pas à le coder manuellement ... - sinon erreur ne valide pas le format
SI(xml_projet_mis_a_jour.'project-i'.project.description..Existe=False) ALORS
Data = Remplace(Data,"</name>","</name>"+"<description>"+ChaîneVersUTF8(projet.titre)+"</description>",MotComplet)
FIN

Data=UTF8VersChaîne(Data)