首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WML:<do>元素未定义类型

WML:<do>元素未定义类型
EN

Stack Overflow用户
提问于 2014-02-11 22:03:42
回答 1查看 215关注 0票数 1

我试图在我的WML教科书中找到的变量上运行这个WML示例,但它每次都在同一行/语句中给我一个错误。代码如下:

代码语言:javascript
复制
    <?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行遇到错误。即使类型是在那里定义的,它仍然会给出错误。

EN

回答 1

Stack Overflow用户

发布于 2014-03-02 00:36:08

您发布的示例有一些错误,这些错误会导致验证失败。这些可能只是发布到StackOverflow时的剪切和粘贴问题,或者可能导致解析器失败的真正错误。

第1行: XML声明<?xml version="1.0"?>应该在第一列;在您的示例中,它是缩进的。

第53行:缺少结束的WML标记</wml>

还有两个可能有帮助的次要修复:

第1行:向XML声明添加编码,例如<?xml version="1.0" encoding="UTF-8"?>

第40行:name="card3_var1 "中有一个错误的空格字符,因此变量无法正确更新

有了这些校正,您的W3C将根据With进行验证,所以应该没问题。我在Openwave 6.2.2 SDK中尝试过,它似乎可以正常工作,没有任何错误。

更正示例:

代码语言:javascript
复制
<?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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21704038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档