webForumDet fria alternativet

Problem med wml

Webbutveckling

12 svar · 345 visningar · startad av AG

Medlem sedan mars 20001 266 inlägg
Frågan#1

Fattar inte varför följande kod ej vill fungera:

<%@ page import="java.util.Date"%>
<%
response.setContentType("text/vnd.wap.wml");
java.text.SimpleDateFormat date = new java.text.SimpleDateFormat("yyyy-MM-dd");
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="TravResultat">
>

<table columns="2">
<tr>
<td>Bana:</td>
<td><select name="track">
		<option value="" selected>Välj bana</option>           
		<option value="S">Solvalla</option>         
		<option value="J">Jägersro</option>           
		<option value="Å">Åby</option>          
		<option value="Ax">Axevalla</option>           
		<option value="B">Bergsåker</option>          
		<option value="E">Eskilstuna</option>          
		<option value="F">Färjestad</option>          
		<option value="G">Gävle</option>         
		<option value="Hd">Halmstad</option>           
		<option value="Kr">Kalmar</option>          
		<option value="Mp">Mantorp</option>        
		<option value="Ro">Romme</option>          
		<option value="U">Umåker</option>         
		<option value="Ö">Örebro</option>          
		<option value="Ar">Arvika</option>           
		<option value="Bo">Boden</option>           
		<option value="Bs">Bollnäs</option>          
		<option value="D">Dannero</option>           
		<option value="H">Hagmyren</option>          
		<option value="Hg">Hoting</option>          
		<option value="Kh">Karlshamn</option>           
		<option value="L">Lindesberg</option>           
		<option value="Ly">Lycksele</option>           
		<option value="Ov">Oviken</option>         
		<option value="Rä">Rättvik</option>           
		<option value="Sk">Skellefteå</option>          
		<option value="Sä">Solänget</option>           
		<option value="Ti">Tingsryd</option>           
		<option value="Tt">Täby Trav</option>           
		<option value="Vg">Vaggeryd</option>           
		<option value="Vi">Visby</option>           
		<option value="Åm">Åmål</option>          
		<option value="År">Årjäng</option>           
		<option value="Ös">Östersund</option>
                </select>
       </td>

</tr>
<tr>
	<td>
		Datum: (ååååå-mm-dd)&nbsp;</td>
	<td>
		<input type="text" size="12" name="date" maxlength="10" value="<%=date.format(new java.util.Date())%>" style="width:99"/></td>
	
</tr>
<tr>
	<td>
		Lopp nr:</td>
	<td>
		<select name="race" size="1" style="width:100">
	   	<option value="" selected>Välj Lopp</option>
		<option value="1">1</option>           
		<option value="2">2</option>            
		<option value="3">3</option> 
		<option value="4">4</option>            
		<option value="5">5</option>            
		<option value="6">6</option> 
		<option value="7">7</option>            
		<option value="8">8</option>            
		<option value="9">9</option>            
		<option value="10">10</option>
		</select></td>
</tr>
</table>

</p>
</card>

</wml>

tack
Andreas

Medlem sedan mars 20023 561 inlägg
#2

Kanske skulle byta ut [code] mot [kod]? ;)

Sedan är ju alltid ett felmeddelande bra att ha som utgångspunkt. :)

Medlem sedan mars 20007 896 inlägg
#3

Jag vet varför den inte fungerar utan att se felmeddelandet. :p

AG har fått in en extra > efter 'card1'-taggen.

Medlem sedan mars 20023 561 inlägg
#4

SPiN skrev:

AG har fått in en extra > efter 'card1'-taggen.

Nu ser jag det också! :p ;)

Medlem sedan mars 20001 266 inlägg
#5

oki, tog bort det ">" men får fortfarande felmeddelande:
XML error - unexpected element (before or at line 7)

Andreas

Medlem sedan mars 20007 896 inlägg
#6

Du borde även sätta rätt teckenformatering i processinstruktionen 'xml':

<?xml version="1.0" [b]encoding="ISO-8859-1"[/b]?>

Eftersom att du använder dig av svenska tecken. :)

Medlem sedan mars 20023 561 inlägg
#7

/red: Damn, du hann precis före... ;)

Medlem sedan mars 20023 561 inlägg
#8

Ett tips är att kolla in den här: http://www.stg.brown.edu/service/xmlvalid/

Får en del fel om man validerar din kod. ;)

Medlem sedan mars 20007 896 inlägg
#9

Men det verkar ju inte vara det som är felet... Rad 7 är som jag utläser det raden med <table>?

F.ö. finns inte heller attributet selected för elementet <option> i WML. Ta bort, ta bort. :)

Medlem sedan mars 20007 896 inlägg
#10

När jag ändå är här och håller på så passar jag på att flytta tråden till ett mer lämpligt forum. Flyttas alltså från XML till Webutveckling - Övrigt. :)

Medlem sedan mars 20001 266 inlägg
#11

WAP-sidan kan nås i dess helhet på:
https://www.mycgiserver.com/~lair/wap.jsp

Koden som används är:

<%@ page import="java.util.Date"%>
<%
response.setContentType("text/vnd.wap.wml");
java.text.SimpleDateFormat date = new java.text.SimpleDateFormat("yyyy-MM-dd");
%>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="TravResultat">
<do type="accept" label="Answer">
  <go href="#card2"/>
</do>
<p>
<table columns="2">
<tr>
<td>Bana:</td>
<td><select name="track">
		<option value="">Välj bana</option>           
		<option value="S">Solvalla</option>         
		<option value="J">Jägersro</option>           
		<option value="Å">Åby</option>          
		<option value="Ax">Axevalla</option>           
		<option value="B">Bergsåker</option>          
		<option value="E">Eskilstuna</option>          
		<option value="F">Färjestad</option>          
		<option value="G">Gävle</option>         
		<option value="Hd">Halmstad</option>           
		<option value="Kr">Kalmar</option>          
		<option value="Mp">Mantorp</option>        
		<option value="Ro">Romme</option>          
		<option value="U">Umåker</option>         
		<option value="Ö">Örebro</option>          
		<option value="Ar">Arvika</option>           
		<option value="Bo">Boden</option>           
		<option value="Bs">Bollnäs</option>          
		<option value="D">Dannero</option>           
		<option value="H">Hagmyren</option>          
		<option value="Hg">Hoting</option>          
		<option value="Kh">Karlshamn</option>           
		<option value="L">Lindesberg</option>           
		<option value="Ly">Lycksele</option>           
		<option value="Ov">Oviken</option>         
		<option value="Rä">Rättvik</option>           
		<option value="Sk">Skellefteå</option>          
		<option value="Sä">Solänget</option>           
		<option value="Ti">Tingsryd</option>           
		<option value="Tt">Täby Trav</option>           
		<option value="Vg">Vaggeryd</option>           
		<option value="Vi">Visby</option>           
		<option value="Åm">Åmål</option>          
		<option value="År">Årjäng</option>           
		<option value="Ös">Östersund</option>
                </select>
       </td>

</tr>
<tr>
	<td>
		Datum: (ååååå-mm-dd)&nbsp;</td>
	<td>
		<input type="text" size="12" name="date" maxlength="10" value="<%=date.format(new java.util.Date())%>" style="width:99"/></td>
	
</tr>
<tr>
	<td>
		Lopp nr:</td>
	<td>
		<select name="race" size="1" style="width:100">
	   	<option value="">Välj Lopp</option>
		<option value="1">1</option>           
		<option value="2">2</option>            
		<option value="3">3</option> 
		<option value="4">4</option>            
		<option value="5">5</option>            
		<option value="6">6</option> 
		<option value="7">7</option>            
		<option value="8">8</option>            
		<option value="9">9</option>            
		<option value="10">10</option>
		</select></td>
</tr>
</table>

</p>
</card>

<card id="card2" title="Answer">
<p>
You selected: $(track)
</p>
</card>

</wml>

http://www.w3schools.com/wap/wml_validate.asp skriver ut felet som:

Validate WML
Result of Validating: http://www.mycgiserver.com/~lair/wap.jsp
Error in line 14 position undefined

Error Code: -1072898028

Error Reason: Element content is invalid according to the DTD/Schema. Expecting: #PCDATA, em, strong, b, i, u, big, small, br, img, anchor, a.
Error Line: <td><select name="track">

Detta tycker jag verkar konstigt

Andreas

Medlem sedan juli 20013 378 inlägg
#12

Njae - egentligen är det inte så konstigt...
Validatorn talar ju om för dig att du inte får ha en <select> inne i en <td>... - vilket ju också stämmer om man kollar upp definitionen av <td> i DTD:n ;)

<!ELEMENT td ( %text; | %layout; | img | anchor | a )*>

<select> är *bara* med i %fields; - och de enda taggar som tillåter att man stoppar %fields; i dem är <p> och <fieldset>...

Så vill du använda en <select> så måste den antingen ligga i ett <p> eller ett <fieldset>.

I ditt fall hjälper säkert inte den informationen heller - eftersom du varken får ha <p> eller <fielset> inuti en <td> heller - utan bara

#PCDATA, em, strong, b, i, u, big, small, br, img, anchor, a

(#PCDATA är alltså löpande text ) ;)

Jag är rädd att du får tänka om din kort-design lite - tyvärr ;)

Medlem sedan mars 20001 266 inlägg
#13

Ok, tack.
Nu fungerar allt.

Förresten hur gör man ifall man endast vill tillåta nummer, och avgränsa med "-". Sett det på Föreningssparbankenshemsida.

Andreas

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)