IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

DTD is prohibited


Sujet :

VBScript

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut DTD is prohibited
    Bonjour, je ne connais rien au VBScript alors j'espère que vous pourrez m'aider (j'ai pas trouvé mon bonheur via google).

    J'ai récemment fait migré un site en ASP d'un serveur (win2000) à un autre (win2003), sur le second certaines librairies sont plus récentes (cf. code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	If MSXML4 Then
    		MSXML_PROGID		= "Msxml2.DOMDocument.6.0"
    		MSXML_PROGID2		= "MSXML2.FreeThreadedDOMDocument.6.0"
    		MSXML_PROGID3		= "MSXML2.XSLTemplate.6.0"
    J'ai lorsque que j'essaie d'accéder au site le message d'erreur suivant :

    Warning : To complete installation, you must install VBScript runtime version 5.6.

    msxml6.dll error '80004005'

    Error while parsing 'file:///C:/users/MyGolfHome/skins/MyGolf/skin.xsl'. DTD is prohibited.

    /Engine/CFullXMLEngine.asp, line 985
    J'ai pourtant bien installer le runtime VBscript 5.6 mais soit, cela n'est pas ce qui me gène le plus.
    Ce problème de DTD me fatigue.

    Code de CFullXMLEngine.asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    		'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    		' Do the transform with a cache handler for xml and xsl (singleThread)
    		'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    		Public Function Transform(XMLPath, XSLPath, XSLCacheName, bCache)
    			Dim proc
    			Dim xsl
    			Dim xslTemplate
    			Dim Item
    			Dim oXMLMember
     
    			'We put the xsl in cache if necessary, otherwise we just grab a pointer
    			if bCache AND USE_CACHE then
    				if isEmpty(Application(XSLCacheName)) or lenb(oFO.Form("Refresh"))>0 then
    					if not isEmpty(Application(XSLCacheName)) then
    						debug "Empty the xsl cache " & XSLCacheName
    						set xslTemplate = Application(XSLCacheName)
    						set xslTemplate = nothing
    					end if
    					set xslTemplate =  cacheXSLTemplate(XSLPath, XSLCacheName)
    				else
    					set xslTemplate = Application(XSLCacheName)
    				end if
    			else
    				set xsl = loadXML(XSLPath)
    				set xslTemplate = server.CreateObject(MSXML_PROGID3)
    			'**************************** la ligne ou se produit l'erreur *********************
    				set xslTemplate.stylesheet = xsl
    			'***********************************************************************************
    			end if
    J'ai lu plein de trucs à propos de propriété "ProhibeDTD" mais ça n'a abouttit à rien.

    Merci pour votre aide.
    Most Valued Pas mvp

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    le chemin du DTD auquel tu dois accéder se trouve dans skin.xsl.
    Arrives tu à y accéder manuellement ?

    Si je me souviens bien le DTD est utilisé pour valider le fichier xml ou xsl. Si le fichier est inaccessible il est possible d'avoir ce genre d'erreur. J'avais eu le problème mais en C#. Je voulais lire un fichier XML qui s'appuyait sur un DTD mais ce DTD était généré par une application lorsqu'elle se lançait; Mais je ne voulais pas lancer l'application.
    J'ai alors opté pour la solution d'ouverture du fichier en mode texte. Suivis de la suppression de la ligne qui posait problème. Réouverture du fichier avec les librairie XML. et à la fin des opérations réinsertion de la ligne supprimé.
    C'est peut être une piste.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    En fait, je n'ai trouvé aucune référence à un DTD dans le fichier.

    Mais bon, j'ai "abandonné" le problème. Merci quand même.
    Most Valued Pas mvp

Discussions similaires

  1. Forcer la validation suivant DTD externe
    Par iceman dans le forum Valider
    Réponses: 9
    Dernier message: 30/12/2003, 09h54
  2. [XML][DTD] Creer un parser à partir d'une DTD
    Par schnekre dans le forum Valider
    Réponses: 4
    Dernier message: 15/12/2003, 13h59
  3. Réponses: 2
    Dernier message: 29/07/2003, 13h52
  4. Faire respecter une DTD !!!
    Par haypo dans le forum Valider
    Réponses: 3
    Dernier message: 12/07/2003, 20h20
  5. Placement des balises avec DTD
    Par Keul125 dans le forum Valider
    Réponses: 4
    Dernier message: 28/05/2003, 13h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo