以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DTD/XML Schema 』 (http://bbs.xml.org.cn/list.asp?boardid=23) ---- 使用XSD验证XML命名空间的问题 (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=22536) |
-- 作者:xiangxiang2000 -- 发布时间:9/26/2005 10:56:00 AM -- 使用XSD验证XML命名空间的问题 需要验证的XML文档是: <?xml version="1.0" encoding="UTF-8"?> <?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:-R3:-dataFormSolution" href="manifest.xsf" solutionVersion="1.0.0.1" initialView="ͼ 1" productVersion="11.0.6357" PIVersion="1.0.0.0" ?> <?mso-application progid="InfoPath.Document"?> <dfs:myFields xmlns:q="http://schemas.microsoft.com/office/infopath/2003/ado/queryFields" xmlns:d="http://schemas.microsoft.com/office/infopath/2003/ado/dataFields" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2005-09-23T03:08:51"> <dfs:queryFields> <q:Student Id="" Name=""></q:Student> <q:XueLiCode XueLiID="" XueLiName=""></q:XueLiCode> </dfs:queryFields> <dfs:dataFields> <d:Student Id="" Name=""> <d:XueLiCode XueLiID="" XueLiName=""></d:XueLiCode> </d:Student> </dfs:dataFields> </dfs:myFields> 我写的XSD文档: <?xml version="1.0" encoding="utf-8" ?> <xsd:schema targetNamespace="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:q="http://leading/infopath/2003/ado/queryFields" xmlns:d="http://leading/infopath/2003/ado/dataFields" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" > <xsd:element name="MyFields"> <xsd:complexType> <xsd:sequence> <xsd:element name="queryFields"> <xsd:complexType> <xsd:sequence> <xsd:element name="Student"> <xsd:complexType> <xsd:attribute name="Id" /> <xsd:attribute name="Name"/> </xsd:complexType> </xsd:element> <xsd:element name="XueLiCode"> <xsd:complexType> <xsd:attribute name="XueLiID"/> <xsd:attribute name="XueLiName"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="dataFields"> <xsd:complexType> <xsd:sequence> <xsd:element name="Student"> <xsd:complexType> <xsd:sequence> <xsd:element name="XueLiCode"> <xsd:complexType> <xsd:attribute name="XueLiID" /> <xsd:attribute name="XueLiName"/> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="Id"/> <xsd:attribute name="Name"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> |
-- 作者:coolstar1204 -- 发布时间:12/21/2005 11:25:00 AM -- 你这个xsd是自己手工打出来的还是工具生成的。。。。 |
-- 作者:flyfoxs -- 发布时间:12/31/2005 7:39:00 PM -- 我也想知道,怎么没有人回答啊! |
-- 作者:98900969r -- 发布时间:1/2/2006 5:49:00 AM -- 对这个实例XML文件,它的验证至少涉及到3个schemas,因为它用到了dfs, q, d这三个命名空间。此外它还声明了前缀my,但实际上没有用到。这三个涉及到schemas应分别定义了dfs, q, d这三个命名空间的元素。 如果是要自己写schema(s)来验证这个实例XML文件,就至少得写3个schemas。一个定义q中的Student和XueliCode元素;一个定义d中的Student和XueliCode元素;还有一个定义dfs中的myFields和queryFields元素。最后这个中,要引进(import)前两个,然后引用其中定义的元素,这通过<xs:element ref="???"/>来实现。 |
-- 作者:foxmishy -- 发布时间:7/10/2006 9:54:00 AM -- 支持,楼上的好厉害哦!学习中! |
-- 作者:weqdd -- 发布时间:7/14/2006 11:37:00 AM -- 受益非浅 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
50.781ms |