Avatar billede rzj Nybegynder
10. marts 2003 - 18:55 Der er 9 kommentarer og
1 løsning

wml på nogle mobiler, men ikke andre?

Der er noget jeg ikke helt forstår!

Jeg anvender http://www.gelon.net/ til at teste mine WML sider (Wap). Det går også fint! Prøv eksempelvis http://www.baseweb.dk/cms/wapnews.php

Grunden til at det er en php fil er at transformationen naturligvis foregår på serveren (hvilke IKKE skaber nogle problemer).
Foreløbigt går det fint. Jeg tester på forskellige telefoner på Wapalizeren (gelon.net). Så griber jeg fat i min egen mobilos og indtaster møjsommeligt adressen. Herefer får jeg flg. besked:
"Can not display malformed content" ???

Der er intet i vejen med strukturen (og wapalizeren viser jo også at det virke på visse telefoner, men ikke dem alle)...

Jeg har læst at man skal sende en bestemt http-header a la:
text/vnd.wap.wml (http://www.gelon.net/cgi-bin/content_error.cgi), men det virker ikke...

Mit XSL der transformere til WML ser således ud:
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xhtml" encoding="iso-8859-1"
doctype-public="-//WAPFORUM//DTD WML 1.1//EN"
doctype-system="http://www.wapforum.org/DTD/wml_1.1.xml"
indent="yes"/>
<xsl:template match="contentKuben">
  <wml>
    <card id="1" title="Nyheder">
      <xsl:apply-templates select="articles/articleItem/header"/>   
    </card>
  </wml>
</xsl:template>
<xsl:template match="header">
  <xsl:value-of select="@desc"/><br/>
</xsl:template>
</xsl:stylesheet>
Avatar billede rzj Nybegynder
10. marts 2003 - 20:09 #1
jeg har erfaret at det sandsynligvis er et Gateway problem, men kan jeg anvende andre Gateways end mit mobilselskab (Sonofon) og hvis ja, hvordan finder jeg så IP'en på sådan en alternativ Gateway?
Avatar billede janegil Nybegynder
11. marts 2003 - 10:23 #2
Ulovlig whitespace foran XML-prologen.
Og det er ofte et problem med dynamiske sider, selv har jeg slitt med at Cold Fusion pynter sidene med whitespace både foran og bak.
Avatar billede janegil Nybegynder
11. marts 2003 - 10:24 #3
...og "text/vnd.wap.wml" headeren din fungerer da upåklagelig?
Avatar billede rzj Nybegynder
12. marts 2003 - 09:27 #4
janegil>> Kan du ikke forklare mig hvad "XML Prologen" er for en fætter og om det er i mit XML doc eller mit XSL doc at den er gal, så kan jeg komme lidt videre :-)
Men fedt at der endeligt var svar på dette noget mærkelige problem...
/raz
Avatar billede janegil Nybegynder
12. marts 2003 - 09:45 #5
Nei, problemet er nok ikke i hverken XML-filen eller i XSL-filen, men i at noen - trolig PHP - legger inn litt ekstra whitespace. I HTML gjør det jo ingen skade.

Et XML-dokument skal starte med en XML-prolog som denne:
<?xml version="1.0" encoding="iso-8859-1"?>
Men din side starter med et antall linefeed eller lignende. Derfor er den ikke velformet XML. Og http://validator.w3.org/check?uri=http%3A%2F%2Fwww.baseweb.dk%2Fcms%2Fwapnews.php klarer ikke en gang å se hvilket tegnsett du bruker, fordi den leter etter "<?" eller et såkalt Byte Order Mark i starten av fila, og hos deg finner den ingen av delene. Så gir den - med full rett - opp.
Avatar billede janegil Nybegynder
12. marts 2003 - 09:47 #6
oops, det er mer: Et ID-attributt kan ikke starte med et siffer; riktig irriterende er hva det er.
Avatar billede rzj Nybegynder
12. marts 2003 - 10:02 #7
janegil>> Ok så hvis jeg har forstået det rigtigt:
1. Jeg skal finde et sted i php hvor der kommer whitepace ind (fordi det kan validator/DTD ikke li' og også nogle mobiltelefoner?
2. En ID-attribut altså som eksempelvis i <card id="1" title="Nyheder"> må ikke være et tal? Det skal være <card id="n1" title="Nyheder">?
/raz
Avatar billede janegil Nybegynder
12. marts 2003 - 10:25 #8
1) ja, jeg vet at whitespace er forbudt, men ikke sikker på om PHP er synderen

2) ja det er jeg sikker på

Og det stikker dypere enn at validatoren ikke kan håndtere siden din. Saken er at den ikke SKAL godkjenne siden din, fordi siden er feil. I XML prøver vi stort sett å korrigere feol på produksjonssiden, motsatt HTML-kulturen, der det er overlatt til browserne å prøve å gjette hva som egentlig menes med ukorrekt kode.
Avatar billede rzj Nybegynder
12. marts 2003 - 12:46 #9
det virker nu! Det eneste jeg har ændret er:
<card id="1" title="Nyheder">
til:
<card id="n1" title="Nyheder">

Takker mange gange for hjælpen!
/raz
Avatar billede janegil Nybegynder
12. marts 2003 - 12:57 #10
Takk ! Men du er ikke ferdig - du har fortsatt ulovlig whitespace, og lever på nåde. Den dagen siden din skal brukes på en gateway/teleon-kombinasjon som krever at reglene følges, blir det problemer igjen. Men det er en problemstilling som har bedre sjanser for et fornuftig svar i PHP-avdelingen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester