热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

应用XMLSchema模式定义简化开发技巧

技巧:应用XMLSchemaStandardTypeLibrary简化开发应用模式定义简化例程验证XML验证让您能够创立复杂规矩以定义可接收的数据。但是假如您不应用这些规矩,那么它们就毫无用处。在本

  技巧: 应用 XML Schema Standard Type Library 简化开发

  应用模式定义简化例程验证

  XML 验证让您能够创立复杂规矩以定义可接收的数据。但是假如您不应用这些规矩,那么它们就毫无用处。在本文中,您将学习应用 XML Schema Standard Type Library 简化获取格局化数据(如电子邮件地址和电话号码)的过程。

  本文假定您熟悉 XML 并至少对 XML Schema 有必定程度的懂得。文中的示例将应用 XForms,但不强迫请求懂得 XForms。(假如您想要运行示例,可下载针对 Firefox 的 XForms 扩大。 )

  验证 XML 或确保满足基于类型的某些限制是语言自身所固有的才能;Document Type Definitions 是 XML 规范的一部分。不久之后,对更高机动性和更强功效的需求逐渐明显,从而产生了 XML Schema。XML Schema 使您能够创立具有很多特别指定的定义。您可以指定元素必需包含特定数目标附加元素,或属性必需包含 datetime 值,文本符合某种模式,或任何其他结构。

  例如,考虑以下 XForms 表单(参见清单 1)。

  清单 1. 基础表单


      xmlns:xforms='http://www.w3.org/2002/xforms'
      xmlns:xsd='http://www.w3.org/2001/XMLSchema'>


   

   

      
         
            
            
            
         

      


                                                    action='.' />

   


   




   

Contact information

   
        Name:
   

   

   
        Email:
   

   

   
        Phone:
   

   

   
       Submit
   


  此表单很简略,只是查找用户的姓名、电子邮件地址和电话号码,如图 1 所示。

  应用XML Schema 模式定义简化开发技巧

                                                              图 1. 表单

  在本例中,将电子邮件或电话号码的条目束缚为有效的电子邮件或电话号码 — 或者至少将其束缚为准确的情势,都会有所帮助。为此,您需要向文档添加模式(见清单 2)。

  清单 2. 添加模式

...

   

        
           
              
              
              
           

        


      

      
         
            
            
            
         

      

...

  然后您可以添加事件,用以在条目无效时告诉用户(见 源代码 中的应用方法)。

  留心,此时电子邮件和电话号码定义没有附带类型。原因是大多数程序员都不愿意卷进检查类型的麻烦。电子邮件地址有多种格局,但是有一种尺度格局。同样,电话号码的情势也花样繁多,如 “带区号”、“不带区号”、“带分机号” 等等,并且这还不包含国家区号。

  谁愿意往做所有的这些工作?反正我不愿意。所幸的是,存在电话号码或电子邮件地址的常见类型库。您可以从 http://www.codesynthesis.com/projects/xsstl/ 下载 XML schema standard type library。导进准确的名称空间和文档即可将该库添加到模式中(见清单 3)。

  清单 3. 导进模式定义


      xmlns:ev='http://www.w3.org/2001/xml-events'
      xmlns:xforms='http://www.w3.org/2002/xforms'
      xmlns:xsd='http://www.w3.org/2001/XMLSchema'
      xmlns:stl='http://www.codesynthesis.com/xmlns/xsstl'>


   

   

                   xmlns:stl='http://www.codesynthesis.com/xmlns/xsstl'>

                     namespace='http://www.codesynthesis.com/xmlns/xsstl'
            schemaLocation='xsstl.xsd'/>

        

推荐阅读
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • Spring框架入门指南:专为新手打造的详细学习笔记
    Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 在使用 Android Studio 进行开发时,经常会遇到 XML 文件中的视图元素无法正确格式化的问题,特别是在手动添加或修改 `` 元素时。本文将详细介绍如何解决这一常见问题,并提供一些实用的技巧,帮助开发者高效地管理和优化 XML 布局文件。建议将本文收藏以备后续参考。 ... [详细]
  • SpringBoot启动脚本详解:BAT文件应用与基础入门指南(SpringBoot系列第1篇)
    如果你还在为SSM框架的复杂搭建过程和繁琐的配置文件而烦恼,那么SpringBoot将是你的一大福音。作为SpringBoot系列的第一篇文章,本文详细介绍了如何使用BAT文件来启动SpringBoot应用,并提供了基础入门指南,帮助开发者快速上手,简化开发流程。 ... [详细]
  • 探讨.NET技术与Silverlight中控件拖放及复制功能的实现方法
    Silverlight拖动复制控件,就是将控件从一个容器中向另一个容器中拖动时,不是移动控件而把该控件到另一个容器中。这种情形在程序中经常遇到ÿ ... [详细]
  • 三周学会小程序第七讲:提交问题
    截止到上一讲可以支持数据库存储了,所以这一讲开始讲解怎么从小程序发布一个问题并存储到服务器端。下面简单罗列一下本讲的知识点。对了老规矩,文末附源码。对小 ... [详细]
  • 个人总结_软件工程课程——个人总结
    本文由编程笔记#小编为大家整理,主要介绍了软件工程课程——个人总结相关的知识,希望对你有一定的参考价值。前言时长4个与的软件工程实践结束。Alpha与B ... [详细]
  • IIS启用Gzip的方法与优缺点分析是千自学中一篇关于Discuz论坛的文章简介:现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的C ... [详细]
  • 导读:今天编程笔记来给各位分享关于PHP的前端用什么工具的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: ... [详细]
  • 开始实现之前先上个效果图tips网络图片需先配置download域名,可通过wx.getImageInfo转为临时路径;个人习惯问题,我习 ... [详细]
  • asp:radiobuttonlist改css样式_web前端入门到实战:CSS的逻辑属性与盒子模型
    首先开篇之前先提个问题:为什么Flexbox跟Gridbox的是以start、end为排列规则,而不是常规的top、right、bottom跟left& ... [详细]
  • NVIDIA最新推出的Ampere架构标志着显卡技术的一次重大突破,不仅在性能上实现了显著提升,还在能效比方面进行了深度优化。该架构融合了创新设计与技术改进,为用户带来更加流畅的图形处理体验,同时降低了功耗,提升了计算效率。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • Django新手指南:第三步——构建你的首个项目
    在本教程中,我们将引导你完成创建第一个Django应用的步骤。通过实际操作,你将逐步了解Django框架的核心概念和基本功能。从项目结构到视图和模板的实现,我们将详细介绍每个环节,帮助你快速上手并构建出一个功能完整的Web应用。 ... [详细]
author-avatar
Json
技术QQ交流群:294088839.
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有