2014-02-11 3 views
1

WML 예제를 WML 교과서에서 발견 한 변수에 적용하려고하지만 같은 줄/문에서 매번 오류가 발생합니다.WML : <do> 요소에 정의 된 유형이 없습니다.

<?xml version="1.0"?> 
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" 
"http://www.wapforum.org/DTD/wml13.dtd"> 
<wml> 
<card id="card1" title="First Card" newcontext="true"> 
    <p> 
     Card 1... <br/> 
     card1 var1=$(card1_var1) <br/> 
     card2 var1=$(card2_var1) <br/> 
     card3 var1=$(card3_var1) <br/> 
     <do type="accept" label="Next Card"> 
      <go href="#card2"> 
       <setvar name="card1_var1" value="val_1"/> 
      </go> 
     </do> 
    </p> 
</card> 
<card id="card2" title="Second Card"> 
    <p> 
     Card2 ...<br/> 
     Card1 var1 = $(card1_var1) <br/> 
     Card2 var1 = $(card2_var1) <br/> 
     Card3 var1 = $(card3_var1) <br/> 
     <do type="accept" label="First Card"> 
      <go href="#card1"/> 
     </do> 
     <do type="accept" label="Third Card"> 
      <go href="#card3"> 
       <setvar name="card2_var1" value="val_2"/> 
      </go> 
     </do> 
     <do type="prev" label="Previous Card"> 
      <prev/> 
     </do> 
    </p> 
</card> 
<card id="card3" title="Third Card"> 
    <onevent type="onenterforward"> 
     <refresh> 
      <setvar name="card3_var1 " value="val_3"/> 
     </refresh> 
    </onevent> 
    <p> 
     Card 3 ...<br/> 
     Card1 var1 = $(card1_var1) <br/> 
     Card2 var1 = $(card2_var1) <br/> 
     Card3 var1 = $(card3_var1) <br/> 
     <do type="prev" label="Previous"> 
      <prev/> 
     </do> 
    </p> 
</card> 

나는 여전히 오류를 제공, 라인 (26)에 오류가에도 종류가 거기에 정의되어 생각 점점 오전 :이 코드입니다.

답변

0

게시 한 예가 유효성 검사를 실패하게하는 몇 가지 오류가 있습니다. StackOverflow에 게시 할 때 잘라 내기 및 붙여 넣기 문제이거나 파서가 실패 할 수있는 실제 오류 일 수 있습니다.

줄 1 : XML 선언 <?xml version="1.0"?>은 첫 번째 열에 있어야합니다. 귀하의 예에서 그것은 들여 쓰기되어 있습니다.

라인 53 : 닫기 WML 태그 </wml>이 없습니다.

행 1 :


도 도움이 될 수있는 두 가지 사소한 수정 사항이 있습니다 예를 들어, XML 선언에 인코딩을 추가 <?xml version="1.0" encoding="UTF-8"?>

라인 (40)은 그래서 변수가 WML은 W3C 유효성 검사기에 따라 유효성을 검사 장소에 그 수정과 함께 제대로


업데이트되지 않습니다 name="card3_var1 "에서 잘못된 공백 문자가, 그래서 그것을 잘해야한다 . 내가 Openwave 6.2.2 SDK에서 그것을 시도하고 어떤 오류없이 작동하는 것 같습니다.

수정 예 :

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" 
"http://www.wapforum.org/DTD/wml13.dtd"> 
<wml> 
<card id="card1" title="First Card" newcontext="true"> 
    <p> 
     Card 1... <br/> 
     card1 var1=$(card1_var1) <br/> 
     card2 var1=$(card2_var1) <br/> 
     card3 var1=$(card3_var1) <br/> 
     <do type="accept" label="Next Card"> 
      <go href="#card2"> 
       <setvar name="card1_var1" value="val_1"/> 
      </go> 
     </do> 
    </p> 
</card> 
<card id="card2" title="Second Card"> 
    <p> 
     Card2 ...<br/> 
     Card1 var1 = $(card1_var1) <br/> 
     Card2 var1 = $(card2_var1) <br/> 
     Card3 var1 = $(card3_var1) <br/> 
     <do type="accept" label="First Card"> 
      <go href="#card1"/> 
     </do> 
     <do type="accept" label="Third Card"> 
      <go href="#card3"> 
       <setvar name="card2_var1" value="val_2"/> 
      </go> 
     </do> 
     <do type="prev" label="Previous Card"> 
      <prev/> 
     </do> 
    </p> 
</card> 
<card id="card3" title="Third Card"> 
    <onevent type="onenterforward"> 
     <refresh> 
      <setvar name="card3_var1" value="val_3"/> 
     </refresh> 
    </onevent> 
    <p> 
     Card 3 ...<br/> 
     Card1 var1 = $(card1_var1) <br/> 
     Card2 var1 = $(card2_var1) <br/> 
     Card3 var1 = $(card3_var1) <br/> 
     <do type="prev" label="Previous"> 
      <prev/> 
     </do> 
    </p> 
</card> 
</wml>