新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML网站展示,XML源代码,XML编程示例。 本版仅接受原创、转贴、网站展示,具体的技术交流请前往各相关版块。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML源码及示例(仅原创和转载) 』 → XML加ASP实现网页“本地化”(一) 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5622 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
     * 贴子主题: XML加ASP实现网页“本地化”(一) 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     hsower 帅哥哟,离线,有人找我吗?狮子座1983-8-21
      
      
      威望:7
      等级:大四寒假(收到IBM的Offer啦)
      文章:72
      积分:1606
      门派:XML.ORG.CN
      注册:2004/4/3

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hsower发送一个短消息 把hsower加入好友 查看hsower的个人资料 搜索hsower在『 XML源码及示例(仅原创和转载) 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hsower的博客楼主
    发贴心情 XML加ASP实现网页“本地化”(一)

    想让你的站点能被来自多个国家的冲浪者看明白吗?无疑,这就需要提供多个语言版本的页面内容,也就是所谓的“本地化”功能。最容易想到的方法就是分别编写多种语言的页面内容,然后放置到不同的目录下,再在首页上添加导航到各自语言位置的链接。很明显,这样的处理方式将浪费许多包含公共元素以及设计框架的空间,而且修改、维护也很烦琐。有什么好方法吗?当然,本文就介绍如何结合使用XML与ASP技术实现这个目的。

      本文将讨论如下几个方面的内容:创建包含语言资源的XML文档、使用ASP创建Web页面模板、使用XPath语法和MSXML3分析器定位XML文档中的目标内容以及动态地在HTML流中插入语言字符串。

    准备条件
      本文讨论的技术涉及到以下方面:IIS4 或者 PWS(包含ASP功能),MSXML 版本 3。

    功能展示
      本文要讨论的例程是一个简单的HTML表单,用以提交名字和地址信息。


      采用本文论述的技术,你就可以非常简单地通过更新一个XML文件实现为站点添加多种语言的功能。

    创建包含语言资源的XML文档
    首先,使用喜爱的页面编辑器创建一个叫做xmltrans.asp的Web页面文件。我发现使用静态占位符文字(比?quot;First name ")设计页面最容易。当XML准备好后,就可以使用变量替换这些静态文字。要下载例程文件请点击这里。
      完成基本页面的功能设计后,开始创建一个包含语言字符串的良好格式XML文档。在这里,我使用纯文本编辑器Notepad编写初始的XML语言集-英语版本。Notepad使我感觉更接近于源代码。XML文件命名为xmltrans.xml。下面列出了包含English、French和Spanish字符串的XML文件代码内容:

      <?xml version="1.0" encoding="UTF-8"?>

      <languages>

       <language xml:lang="en" engname="English" langname="English" charset="Windows-1252">

       <title>Localize ASP with XML</title>

       <firstname>First name</firstname>

       <lastname>Last name</lastname>

       <prefix>Prefix</prefix>

       <suffix>Suffix</suffix>

       <address1>Address</address1>

       <address2>Address 2</address2>

       <address3>Address 3</address3>

       <city>City</city>

       <region>State/Province</region>

       <postalcode>Postal code</postalcode>

       <areacode>Area code</areacode>

       <telephone>Telephone number</telephone>

       <submit>OK</submit>

       <lang>en</lang>

       <charset>Windows-1252</charset>

       <langname>English</langname>

       </language>

       <language xml:lang="fr" engname="French" langname="franζais" charset="Windows-1252">

       <title>Localize ASP with XML - French</title>

       <firstname>Prénom</firstname>

       <lastname>Nom</lastname>

       <prefix>Préfixe (M., Mme, Mlle)</prefix>

       <suffix>Suffixe/Titre</suffix>

       <address1>Rue</address1>

       <address2/>

       <address3/>

       <city>Ville</city>

       <region>Région/Province</region>

       <postalcode>Code postal</postalcode>

       <areacode>Indicatif régional</areacode>

       <telephone>Numéro de téléphone</telephone>

       <submit>OK</submit>

       <lang>fr</lang>

       <charset>Windows-1252</charset>

       <langname>French</langname>

       </language>

       <language xml:lang="sp" engname="Spanish" langname="Espanol" charset="Windows-1252">

       <title>Localize ASP with XML - Spanish</title>

       <firstname>Nombre</firstname>

       <lastname>Apellido paterno</lastname>

       <prefix>Prefijo (Sr., Sra., Srta.)</prefix>

       <suffix>Sufijo o título</suffix>

       <address1>Línea 1 de dirección</address1>

       <address2/>

       <address3/>

       <city>Ciudad</city>

       <region>Región, estado o provincia</region>

       <postalcode>Código postal</postalcode>

       <areacode>Código de área</areacode>

       <telephone>Número de teléfono </telephone>

       <submit>OK</submit>

       <lang>sp</lang>

       <charset>iso-8859-1</charset>

       <langname>Spanish</langname>

       </language>

      </languages>

      xmltrans.xml文件的第一行是XML声明。其中的version属性告诉读者文档符合XML 1.0的标准,encoding属性指示解析器使用压缩版本的Unicode:

      <?xml version="1.0" encoding="UTF-8"?>

      一个XML文档需要一个包含其他元素的根元素。因为这里的例程是包含一些语言,所以就命名根元素为languages:

      <languages>

      作为集合类型,languages元素包含了一个或多个language元素:

      <language xml:lang="en" engname="English" langname="English" charset="Windows-1252">

      以上language标记包含4个属性。xml:lang属性是其中最重要的,在ASP程序中将通过这个属性值的2字母语言代码搜索字符串组。其他的属性,比如charset,可以为将来的功能扩充而用。

      每种语言节点中,我都添加了一个元素作为变量,其中含有显示在HTML页面上的文字。XML允许使用有含义的名字作为自定义标记,比如,我使用<title>元素包含HTML页面的标题。同样,<firstname>元素包含字符串"First name"。

      <title>Localize ASP with XML</title>

      <firstname>First name</firstname>

      最后,良好格式的XML文档包含了一整套对应于HTML页面的字符串。下图显示了XML文件中的标记和English语言字符串。注意,现在这里只讨论English版本,以后可以添加更多种语言。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/6/19 13:44:00
     
     GoogleAdSense狮子座1983-8-21
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML源码及示例(仅原创和转载) 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/28 6:11:17

    本主题贴数1,分页: [1]

     *树形目录 (最近20个回帖) 顶端 
    主题:  XML加ASP实现网页“本地化”(一)(4880字) - hsower,2004年6月19日

    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    50.781ms