Jag försöker lösenordskydda ett XML-dokument med hjälp av ASP. För maximal säkerhet vill jag skapa XML-sidan dynamisk. Jag har alltså klistrat in XML-koden i ASP-dokumentet. Koden är i princip enligt nedan:
<%
If Request.Form("passwordfField") = "" Then
'Skriver ut ett formulär med HTML för att ange lösenordet.
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
'osv....
<%
ElseIf Request.Form("passwordfield") = "correctPassWord" Then
'Skriver ut XML-datan.
%>
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="cv.xsl"?>
<!DOCTYPE CV SYSTEM "cv.dtd">
'osv....
<%
Else
' Meddelar användaren att lösenordet var felaktigt.
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
'osv....
<%
End If
%>
Allt fungerar fint bara inte användaren reloadar dokumentet efter det att XML-datan visas. Då får jag ett felmeddelande som säger att XML-datan inte kan visas med formatmallen och pekar på den första HTML-formatmallen i ASP-dokumentet. Dvs:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
DTD och XSL-mall finns i samma mapp som ASP-sidan och XML-, XSL och DTD-dokumenten fungerar fint tillsammans om jag inte blandar in ASP
Jag har testat att använda mig av Response.Write i stället för att blanda ASP- och XML-kod men med exakt samma resultat.
Var finns problemet? Är det att Webbläsaren cachar XML-sidan eller? Jag vill ju att XML-sidan skall visas igen efter en reload.
/Razor