créer un formulaire a partir d'une DTD grace a PHP - PHP - Programmation
Marsh Posté le 15-10-2005 à 02:18:32
Vu que je suis trop endormi pour tenter de comprendre la première question :
pongo59 a écrit : |
Ouais, suffit déjà de jeter un oeil du côté de la Dom XML, voir dans les libs de PEAR consacrées au sujet, il devrait y avoir de quoi faire. (je te renvois donc aux sites pour plus de détails, ils feront ça mieux que moi )
Marsh Posté le 15-10-2005 à 12:46:53
Pour la premiere question,
j'ai une DTD du style:
<!ELEMENT ESPECE (AUTEUR, ...)>
<!ELEMENT AUTEUR (FAMILLE, PRENOM)>
<!ELEMENT FAMILLE (#PCDATA)>
<!ELEMENT PRENOM (#PCDATA)>
Et je veux créer un formulaire qui me demande de remplir les PCDATA
Marsh Posté le 15-10-2005 à 15:16:52
alors je suis pas forcément sûr d'avoir capter tout comme il faut, je dois être encore endormi aussi
mais, DTD pour le formulaire ?
je comprends ton exposé ainsi
récupérer des infos genre FAMILLE, PRENOM, depuis un formulaire d'une page html
créer un doc XML correspondant à la DTD
mais as-tu voulu dire :
parser la DTD
récupérer le nom des éléments PCDATA trouvés
générer formulaire html ad-hoc sur une page html
créer un doc XML correspondant à la DTD
si oui pour la partie DOM XML tu pourras
- générer ton fichier XML avec DOMDocument->save() - pas de fputs ou autre
- le valider contre sa DTD avec DOMDocument->validate()
et pour parser la DTD, bah à part une tite moulinette à DTD, je ne connais pas, mais ce n'est pas pour autant que ...
edit: typo
Marsh Posté le 15-10-2005 à 20:14:00
J'ai en effet voulu dire:
parser la DTD
récupérer le nom des éléments PCDATA trouvés
générer formulaire html ad-hoc sur une page html
et lorsque les données du formulaires sont envoyées
créer un doc XML correspondant à la DTD avec les données du formulaire
Marsh Posté le 15-10-2005 à 20:49:11
donc
1.
- soit tu attaques un objet DOM XML lié à ta DTD pour créer ton formulaire, mais j'en vois pas forcément l'intérêt ...
- soit tu parses la DTD à coup de regex pour récupérer les PCDATA, et ça n'a d'intêret que s'ils changent régulièrement
- soit ils ne changent pas, tu fais un formulaire statique tout con ...
[edit : je vois pas d'autres alternatives ...]
2.
tu te fais une classe Implémentation DOM liée à ta DTD
/*
DOMImplementation
createDocumentType
*/
tu crées un nouveau doc DOM XML selon ton implémentation
tu lui ajoutes tous les enfants neccessaires en fonction des paramètres postés
/*
DOMDocument
createElementNS
createElement
setAttribute
appendChild
createTextNode
*/
et hop à l'écran, dans un fichier, whatever
/*
DOMDocument
save
saveXML
*/
Donc ya du taf ... mais DOM XML est le chemin à suivre ...
edit : un peu de couleur
Marsh Posté le 18-10-2005 à 14:54:05
Laisse tomber les DTD vieillissantes, et passe à XMLSchema. Tu te fais un schéma xsd, puis tu peux le parser avec DOM Et comme ça t'as ta définition du formulaire parsable en dix secondes
Marsh Posté le 19-10-2005 à 17:33:05
je ne connaissais pas... en fait, les schémas XSD, c'est des DTD, mais en XML...? Tu as un tuto sympa?
Merci en tout cas
Marsh Posté le 19-10-2005 à 22:28:27
FlorentG a écrit : Laisse tomber les DTD vieillissantes, et passe à XMLSchema. Tu te fais un schéma xsd, puis tu peux le parser avec DOM Et comme ça t'as ta définition du formulaire parsable en dix secondes |
Qui c'est qui a envoyé a la gueule d'un noob le dtd html4.1 il y a quelques mois parcequ'il en avait marre des questions stupides?
Marsh Posté le 15-10-2005 à 00:57:57
Je souhaite créer un formulaire a partir d'une DTD, pour ensuite enregistrer les data du formulaire dans un fichier XML
Je cherche donc un traitement PHP pour faire
DTD vers formulaire
Si qqn peut me donner des pistes...
En ce qui concerne le traitement PHP pour recupérer les variables et ecrire le fichier XML,
est ce qu'il existe qqch de plus simple que l'ecriture avec des fputs dans un fichier? (grace a la techno PHP-XML)