xml schema是定义xml的数据定义文件,以.xsd作为文件的扩展名。它也以被用来定义一类xml文件。
通常,一些特殊含义的数据不能通过系统预设的数据结构(类型)清楚地描述。
XML Schema 规范中声明:可以通过facet来限制(restriction)简单类型,从而产生一些新的原子类型(Atomic types)。
Facet有pattern, enumeration,等等;
这里要说的是其中非常有用的一项是:
pattern+ 正则表达式语言(regular exPRession language)
结合正则表达式的强大功能,就可以进行一些复杂的数据结构的描述
Examples可以通过xmlspy, xmlwrite,或js/vbs 等进行验证,下面举出了js验证的例子(需要msxml4.0支持)
有关定义 XML Schema 的信息,可以在W3C 的 XML Schema 规范的第一部分中找到。有关内置数据类型及其可用的局限性方面的信息,请检 查 XML Schema 规范的第二部分。关于 这两部分 XML Schema 规范的简易摘要,请查看 W3C Primer on XML Schema。
有关正则表达式,可以去http://www.regexlib.com/看看
examples:
/*** examples.xml ***/ test moonpiazza@hotmail.com 127.0.0.1 #000000 guest guest@371.net 202.102.224.25 #FFFFFF /*** examples.xsd ***/ /*** examples.htm ***/function validate(){ var oXML ; var nParseError; var sReturnVal; oXML = new ActiveXObject("MSXML2.DOMDocument.4.0") ; oXML.async = false ; oXML.validateOnParse = true; oXML.load("examples.xml") ; nParseError = oXML.parseError.errorCode ; sReturnVal = "" ; if (0 != nParseError) { //参看书籍教程中parseError对象属性 sReturnVal = sReturnVal + "代码:" + oXML.parseError.errorCode + "\n" ; sReturnVal = sReturnVal + "错误原因:" + oXML.parseError.Reason + "\n" ; sReturnVal = sReturnVal + "错误字符串:" + oXML.parseError.srcText + "\n" ; sReturnVal = sReturnVal + "错误行号" + oXML.parseError.line + "\n" ; sReturnVal = sReturnVal + "错误列数:" + oXML.parseError.linepos + "\n" ; } else { sReturnVal = sReturnVal + "验证通过!" } alert(sReturnVal);}function window.onload(){ validate();}
以上就是使用正则表达式进行xml数据验证的代码实例详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1428903.html
微信扫一扫
支付宝扫一扫