以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XML源码及示例(仅原创和转载) 』 (http://bbs.xml.org.cn/list.asp?boardid=32) ---- XML加ASP实现网页“本地化”(三) (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=8368) |
-- 作者:hsower -- 发布时间:6/19/2004 1:45:00 PM -- XML加ASP实现网页“本地化”(三) 在ASP页面中插入语言字符串 知道了如何从XML元素中选取文字并赋值给变量,就可以将变量值插入到HTML流中了。为了使代码简洁,创建一个叫做getstring()的函数,如下: function getstring(instring) temp=selectednode._ selectSingleNode _ (instring).text getstring= _ server.htmlencode(temp) end function getstring()函数的输入值是元素名,元素值要从XML文档中取回。比如,将"firstname"传递给getstring(),getstring函数就选择firstname元素并返回它的文本数值。为保险起见,在返回给调用者前,我们使用ASP的server.htmlencode方法转换文本为合法的HTML代码。在ASP页面中,调用代码类似如下: <td> <%=getstring("firstname")%>: </td> 如果选择了XML文档的English部分,HTML输出结果如下: <td>First name:v/td> 如果选择了French,HTML输出结果如下: <td>Prénom:</td> 为了使添加的语言立即生效,要增加一个程序,用它判断文件中不同语言的种类数量,并返回语言代码和语言名称。如下面的代码段所示,我们可以将数据格式化处理以创建一个HTML列表框。当用户提交表单时,2字母表示的语言种类代码被存储到ASP会话变量choselang中。 <select name="chosenlang"> <% for i=0 to selectednodes.length - 1 response.write "<option value=" & _ chr(34) & _ selectednodes.item(i)._ selectSingleNode("lang").text & chr(34) if (selectednodes.item(i)._ selectSingleNode("lang").text = _ session("chosenlang")) then response.write " selected>" else response.write ">" end if response.write selectednodes.item(i)._ selectSingleNode("langname").text & _ "</option>" & vbcrlf next %></select> 添加提示信息以及字符集数据 <charset>x-sjis</charset> 然后,就可以使用ASP将字符集类型插入到HTML流中: <meta HTTP-EQUIV="Content-Type" content="text/html; charset= <%=getstring("charset")%>" /> 最后的HTML代码包括了Japanese字符集参考: <meta HTTP-EQUIV="Content-Type" content="text/html; charset=x-sjis" /> 下图显示了使用Japanese字符集的页面。记住,要看到正确的内容,操作系统以及浏览器必须支持Unicode并安装了相应字符。否则,就会看到一些奇怪的文字,可能是一些问号,也可能是一些方块符号等等。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |