Toon posts:

[asp-vb/xsl] automatisch de goede header sturen

Pagina: 1
Acties:

Verwijderd

Topicstarter
in xsl kan je dmv de xsl:output declaratie de content-type (media-type) van je document specificeren, bijv:
code:
1
2
3
4
5
6
7
8
  <xsl:output method="xml" 
              encoding="ISO-8859-1"
              omit-xml-declaration="no"
              media-type = "text/vnd.wap.wml"
              version="1.0"
          doctype-system="http://www.wapforum.org/DTD/wml_1.1.xml"
          doctype-public="-//WAPFORUM//DTD WML 1.1//EN"
          indent="yes"/>

Nu verwacht ik eigenlijk dat als ik m'n xml-document parse samen met mijn xsl-stylesheet en uitprint, mijn xmldom automatisch de juiste header naar de browser stuurt, in dit geval dus text/vnd.wap.wml

Dat doet ie alleen niet :'(

Is er een bepaalde functie die ik nog niet ken om dit te bewerkstelligen?

Verwijderd

Kent die XML parser die je gebruikt wel dat mediaformat? Oude MSXML parsers (v2.0 en ouder) hadden hier nog wel wat moeite mee.

Verwijderd

Topicstarter
ik krijg geen error oid...

Wat is volgens jou de juiste asp-syntax om de header te laten sturen? (afgezien v/h feit dat hij deze media-type wel of niet kent)

Verwijderd

Geen idee, vnd.wap.wml klinkt me niet bekend en staat voor een vendor specific format, niet een algemeen bekend format, maar zou kunnen, ik heb geen verstand van wap/wml.

Wat komt uberhaupt aan bij je wml browser, niets?

Verwijderd

Topicstarter
ik heb het nog niet in een wap-browsertje getest, maar als de header niet gestuurd wordt zal ie daarin ook niet werken. Nu wordt gewoon text/html gestuurd. Ik kan er wel een work-around voor bouwen (lees xsl-bestand in, select de media type en stuur dat als header) maar het zou mooier zijn als de dom daar zelf al zorg voor draagt...

het gaat niet alleen om wml, maar om allerlei mogelijke formaten.

Verwijderd

Je hebt het format wel geinstalleerd op de webserver? (wellicht domme vraag, maar goed, standaard zit het MIME format wat jij gebruikt niet geinstalleerd op IIS5 bv)

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Op maandag 14 januari 2002 11:55 schreef Mas*Mind het volgende:
ik krijg geen error oid...

Wat is volgens jou de juiste asp-syntax om de header te laten sturen? (afgezien v/h feit dat hij deze media-type wel of niet kent)
Response.ContentType = "text/vnd.wap.wml"

Zie bv Create dynamic WAP pages with WML and ASP - By Michael Wright
(was trouwens 1 van de 1e links gevonden op google toen ik zocht op "text/vnd.wap.wml asp" (zonder ")

Exact expert nodig?


Verwijderd

Topicstarter
duh...

/me zal het iets duidelijker uitleggen:

het gaat om de juiste syntax van de dom-component zodat die automatisch de juiste error stuurt na het parsen van de stylesheet

Verwijderd

Topicstarter
Op maandag 14 januari 2002 14:14 schreef Otis het volgende:
Je hebt het format wel geinstalleerd op de webserver? (wellicht domme vraag, maar goed, standaard zit het MIME format wat jij gebruikt niet geinstalleerd op IIS5 bv)
nope, maar is dat dan wel nodig? gaat de dom-parser eerst kijken of het desbetreffende mime-type wel op de iss-server geinstalleerd is? Lijkt me wat erg resource-gevoelig...

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Mas*Mind: het gaat om de juiste syntax van de dom-component zodat die automatisch de juiste error stuurt na het parsen van de stylesheet
Een DOM bevat helemaal geen notie van Content-Type (althans, de W3C DOM niet). Ik vraag me dan ook af wat je wilt bereiken: als de XSLT processor een DOM oplevert of serializeert naar een stream kan hij in principe niets doen met het media-type.

Alleen voor applicaties die zelf de stylesheet toepassen zoals een browser of een server-side component die transformeert heeft het zin. Dit is echter geen punt voor de XSLT engine zelf.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
ok, thnx; ik had al het eea bij de msdn toolkit gevonden:
The <xsl:output> command includes one additional attribute: media-type. This attribute is not used directly by the XSLT parser in generating output, but it can be read from the style sheet through the DOM, and used to set the Response.ContentType property. ContentType creates a header in the returning HTTP message. This header tells the browser how it should handle given mime-types. The following style sheet is an example.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Mas*Mind: ok, thnx; ik had al het eea bij de msdn toolkit gevonden
Wat een na-praters daar bij MSDN ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
hmm...het werkt alleen (nog) niet, met de volgende code:
code:
1
xslDom.selectSingleNode("//xsl:output/@media-type")

krijg ik deze error:

Reference to undeclared namespace prefix: 'xsl'.

xsl:output tag:
code:
1
2
3
4
5
6
7
8
  <xsl:output method="xml" 
              encoding="ISO-8859-1"
              omit-xml-declaration="no"
              media-type = "text/vnd.wap.wml"
              version="1.0"
          doctype-system="http://www.wapforum.org/DTD/wml_1.1.xml"
          doctype-public="-//WAPFORUM//DTD WML 1.1//EN"
          indent="yes"/>

Verwijderd

Zet er een XSL header boven, dat wil nog wel eens helpen :)
dus zoiets als:
code:
1
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

(maar wellicht heb je dat al)

Welke versie van de MSXML parser gebruik je btw? Elke versie lager dan 3.0sp2 is niet volledig. Download de MSXML4.0 parser die ook een up to date 3.0 versie heeft.

Verwijderd

Topicstarter
header staat er idd al :?

Ik gebruik als het goed is de laatste versie: 4.0

Verwijderd

Topicstarter
het vage is dat zelfs al declareer ik de namespace ook in de xsl:output tag ik nog steeds dezelfde foutmelding krijg :?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Lijkt mij een (vervelend) probleem in de XPath evaluator. Probeer eens wat varianten... bijvoorbeeld zonder namespace in de XPath expressie...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
al geprobeerd, werkt ook niet. Erg raar, aangezien exact hetzelfde voorbeeld in de xml 4.0 parser sdk wordt gegeven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function getMimeType(processor){
    var stylesheet=processor.stylesheet;
    var localTypeNode=stylesheet.selectSingleNode("//xsl:output/@media-type");
    if (""+localTypeNode=="undefined"){
      var localMethodNode=stylesheet.selectSingleNode("//xsl:output/@method");
      if (""+localMethodNode =="undefined"){
        mimeType="text/html";
        }
      else {
        localMethodName=localMethodNode.text;
        switch(localMethodName){
            case "text":mimeType="text/plain";break;
            case "html":mimeType="text/html";break;
            case "xml":mimeType="text/xml";break;
            }
        }
      }
    else {
      mimeType=localTypeNode.text;
      }
    return mimeType;
    }

Verwijderd

Topicstarter
hm... het werkt wel als ik Msxml2.FreeThreadedDOMDocument gebruik, niet als ik Msxml2.FreeThreadedDOMDocument.4.0 gebruik...

Lekker vaag, nieuwste versie is nog niet helemaal bugvrij dus lijkt wel...

Verwijderd

En als je doet:

set oFTDOM = server.createobject("msxml2.FreeThreadedDOMDocument40")

?

In VB moet je nl die progid gebruiken (zie help van IXMLDOMDocument/DOMDocument in MSXML40 docs)

Verwijderd

Topicstarter
nope: [quote]
Invalid ProgID. For additional information specific to this message please visit the Microsoft Online Support site located at: http://www.microsoft.com/contentredirect.asp.[/quote]

/me weet het ook niet meer
Pagina: 1