![]() |
购物专题 | 基金专题 | 性专题 | 饮食专题 | 教育专题 | 生活大参考 | 园林资讯 | 园艺库 | 健康专题 | |
| 论文专题 | 家庭养花 | 园林景观 | 盆景奇石 | 激情图库 | 农业资料库 | 园林古建 | 英文站 | 花卉栽培 |
我写了一个schema, 可是相应的xml不受它控制。也就是说,不在schema描述内的标志或错误的标志仍然可以在IE中正常显示而不报错阿。
哪位帮帮忙?????说说如何让schema工作起来???
---------------------------------------------------------------
简单例证:
asp服务器端验证,包含数据book.xml,schema文件scm.xml,asp验证文件scm.asp
book.xml
<?xml version="1.0" encoding="gb2312"?>
<moonpiazza>
<book>
<书名>基于XML 的 ASP.NET开发</书名> -->节点名称修改成<bookName>测试
<定价>42</定价> -->节点值修改成42.00测试
<作者>Dan Wahlin/王宝良</作者>
</book>
<book>
<书名>XML应用的UML建模技术</书名>
<定价>32</定价>
<作者>David Carlson/周靖 侯奕萌 沈金河等</作者>
</book>
</moonpiazza>
scm.xml
<?xml version="1.0" encoding="gb2312"?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="moonpiazza" content="textOnly" />
<ElementType name="book" content="eltOnly" order="seq">
<element type="书名"/>
<element type="定价"/>
<element type="作者"/>
</ElementType>
<ElementType name="书名" content="textOnly" />
<ElementType name="定价" content="textOnly" dt:type="int" />
<ElementType name="作者" content="textOnly" dt:type="string" />
</Schema>
scm.asp
<%@ language="VBScript" %>
<%
Option Explicit
Dim cXML
Dim objXMLDOM, objXMLDOM_Scm
Dim objRootNode,objRootNode_Scm
Dim objData
Dim nParseError
Dim cReturnHtml
Set objXMLDOM = Server.CreateObject("MSXML2.DOMDocument.3.0")
Set objXMLDOM_Scm = objXMLDOM
objXMLDOM.async=false
objXMLDOM.load(server.mappath("book.xml"))
’***** 给根节点增加schema属性,设置schema文件路径
set objRootNode = objXMLDOM.documentElement
objRootNode.setAttribute "xmlns","x-schema:" & server.mappath("scm.xml")
objXMLDOM_Scm.validateOnparse = true ’设置必须验证
objXMLDOM_Scm.async=false
objXMLDOM_Scm.loadxml(objXMLDOM.xml)
set objRootNode_Scm = objXMLDOM.documentElement
nParseError = objXMLDOM_Scm.parseError.errorCode
cReturnHtml = ""
IF (nParseError<>0) Then
’参看书籍教程中parseError对象属性
cReturnHtml = cReturnHtml & "代码:" & objXMLDOM_Scm.parseError.errorCode & "<br>"
cReturnHtml = cReturnHtml & "错误原因:" & objXMLDOM_Scm.parseError.Reason & "<br>"
cReturnHtml = cReturnHtml & "错误字符串:" & objXMLDOM_Scm.parseError.srcText & "<br>"
cReturnHtml = cReturnHtml & "错误行号" & objXMLDOM_Scm.parseError.line & "<br>"
cReturnHtml = cReturnHtml & "错误列数:" & objXMLDOM_Scm.parseError.linepos & "<br>"
Else
cReturnHtml = cReturnHtml & "验证通过!"
End If
Call closeObj
Response.Write cReturnHtml
’ 关闭 objXMLDOM
’*****************************************************
Sub closeObj
Set objXMLDOM = Nothing
Set objXMLDOM_Scm = Nothing
Set objRootNode = Nothing
Set objRootNode_Scm = Nothing
End Sub
%>
:_)
浙ICP备 :07003766号 Copyright © 2001-2007 JUBAO163,All rights reserved. |