J'utilise PHP + curl pour récupérer un fichier XSL, mais d'abord je veux faire une validation minimale que le fichier est vraiment un fichier XSL.En-têtes HTTP reçus incorrects/inattendus pour le type de fichier XSL
Je m'assure que le fichier existe, a le code d'état 200 OK, et qu'il a l'extension de fichier correcte, mais ensuite je veux vérifier l'en-tête pour le Content-Type. Je fais cela en utilisant la fonction curl_getinfo()
. Tout va bien.
Mais les fichiers XSL renvoient toujours "application/xml
" ou "text/xml
" comme type de contenu, qui est pour les fichiers XML. Je crois qu'un en-tête XSL devrait être "application/xslt+xml
". Alors, que se passe-t-il ici et comment puis-je m'assurer que c'est un document XSL?
Ainsi, une requête exécuté de DOMXPath pour xmlns: xsl = "http://www.w3.org/ 1999/XSL/Transformer "??? réellement de la mémoire Je pense que les éléments d'interrogation de domxpath avec un deux-points dans lui comme xmlns: xsl ne fonctionnera tout simplement pas? (Parce que personne ne l'a mis à jour depuis très longtemps!) Ce qui signifie que je devrais faire une expression régulière pour le trouver ... bugger! Y a-t-il un autre moyen de le faire? – EddyR
... ou trouver l'élément racine xsl comme @andygeers suggère d'être plus facile? – EddyR
@EddyR: domxpath prend en charge l'espace de noms, regardez la fonction 'registerNameSpace()'. Vous devez enregistrer le préfixe d'espace de noms "xsl" avant la requête, mais cela fonctionnerait. – Tomalak