以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DOM/SAX/XPath 』 (http://bbs.xml.org.cn/list.asp?boardid=11) ---- 请高手帮个忙啊,解析XML Schema文件 (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=13763) |
-- 作者:onlyyou -- 发布时间:1/18/2005 7:07:00 PM -- 请高手帮个忙啊,解析XML Schema文件 我现在的任务是要在浏览器里把一个XML Schema文件的结构显示出来,浏览器初始页显示的是 XML Schema的一级子目录,点击其中一个子目录则显示改子目录的下一级子目录,而且只要显示其中xs:complexType元素的子目录。我是想用DOM处理XML Schema文件,但是由于XML Schema文件比一般的XML文件复杂些。而且我用DOM处理XML Schema也不是很熟。所以我想请高手们指点一下。 XML Schema文件如下: <?xml version="1.0" encoding="UTF-8" ?> - <!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by speedyli (BIRM) --> - <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> - <xs:element name="WorkSpaceServerProject"> - <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> - <xs:complexType> - <xs:sequence> <xs:element ref="ResearchProject" /> <xs:element ref="ProjectParticipatingLaboratoryInformation" maxOccurs="unbounded" /> - <xs:element name="Document" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> <xs:element name="Title" type="xs:string" /> <xs:element name="category" type="xs:string" /> <xs:element name="Purpose" type="xs:string" /> <xs:element name="IntendedReaders" type="xs:string" /> <xs:element name="Submitter" type="xs:string" /> <xs:element name="Administrator" type="xs:string" /> <xs:element name="Email" type="xs:string" /> <xs:element name="DateTime" type="xs:dateTime" /> <xs:element name="FileURI" type="xs:anyURI" /> <xs:element name="Abstract" type="xs:string" /> <xs:element name="KeyWord" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="Comment" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="AvailableWorkSpaceRootFileSystemURI" type="xs:anyURI" maxOccurs="unbounded" /> <xs:element name="CurrentWorkSpaceRootFileSystemURI" type="xs:anySimpleType" /> <xs:element name="WorkSpaceRootWebServerURI" type="xs:anyURI" /> <xs:element ref="DataCollectionLog" maxOccurs="unbounded" /> <xs:element ref="WorkSpaceAbstract" maxOccurs="unbounded" /> - <xs:element name="DBUserGroups" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> <xs:element name="GroupName" type="xs:string" /> <xs:element name="Authorization" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="UesrAccount" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> <xs:element name="Account" type="xs:string" /> <xs:element name="Password" type="xs:string" /> - <xs:element name="UserGroup"> - <xs:simpleType> - <xs:restriction base="xs:string"> <xs:enumeration value="Administrator" /> <xs:enumeration value="ProjectReader" /> <xs:enumeration value="Laboratory" /> <xs:enumeration value="GeneralReader" /> <xs:enumeration value="Guest" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Description" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="DataCollectionLog"> - <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element name="SubmissionSerialNumber"> - <xs:simpleType> - <xs:restriction base="xs:integer"> <xs:minInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="LaboratoryAbbreviation" type="xs:string" /> <xs:element name="SubmissionDataTime" type="xs:dateTime" /> <xs:element name="WorkSpaceName" type="xs:string" /> <xs:element name="PackageName" type="xs:anyURI" /> <xs:element name="SubmissionPersonName" type="xs:string" /> <xs:element name="Email" type="xs:string" /> - <xs:element name="SubmitSuccessfully" type="xs:boolean"> - <xs:annotation> <xs:documentation>"True" means the submitted package has passed the submission validity examination.</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="CommitStatus" type="xs:string"> - <xs:annotation> <xs:documentation>"Ture" means the submitted package hasn't been withdrawn.</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="ValidationStatus" type="xs:string" minOccurs="0"> - <xs:annotation> <xs:documentation>"True" means the submitted contents hava been checked and accepted as valid data.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DataBaseReady" type="xs:boolean" /> <xs:element name="DBImportedDataTime" type="xs:dateTime" /> <xs:element name="DataCollectorName" type="xs:string" /> <xs:element name="DataCollectorTelephone" type="xs:string" /> <xs:element name="DataCollectorEmail" type="xs:string" /> <xs:element name="CollectorSoftware" type="xs:string" /> <xs:element name="Comments" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="ProjectParticipatingLaboratoryInformation"> - <xs:annotation> <xs:documentation>Description of the project participating laboratory.</xs:documentation> </xs:annotation> - <xs:complexType> - <xs:sequence> <xs:element name="SerielNumber" type="xs:integer" /> - <xs:element name="Laboratory"> - <xs:complexType> - <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Code" type="xs:string" /> <xs:element name="Nation" type="xs:string" /> <xs:element name="Address" type="xs:string" /> <xs:element name="Telephone" type="xs:string" /> <xs:element name="Fax" type="xs:string" /> <xs:element name="HomePage" type="xs:anyURI" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="LaboratoryAbbreviation" type="xs:string" /> <xs:element name="Password" type="xs:string" /> - <xs:element name="PrincipalInvestigator"> - <xs:complexType> - <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Telephone" type="xs:string" /> <xs:element name="FAX" type="xs:string" /> <xs:element name="Email" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="PersonResponsibleForSubmissions"> - <xs:complexType> - <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Telephone" type="xs:string" /> <xs:element name="Email" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="RegistrationDate" type="xs:date" /> - <xs:element name="TeamMember" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Email" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="ResearchProject"> - <xs:complexType> - <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="StartTime" /> <xs:element name="EndTime" minOccurs="0" /> - <xs:element name="Organization" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> <xs:element name="LeaderOrganization" maxOccurs="unbounded" /> - <xs:element name="Committee"> - <xs:complexType> - <xs:sequence> - <xs:element name="Chair" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Affiliation" type="xs:string" /> <xs:element name="Email" type="xs:anyURI" minOccurs="0" /> <xs:element name="Telephone" type="xs:string" minOccurs="0" /> <xs:element name="CorrespondingAddress" type="xs:string" minOccurs="0" /> <xs:element name="Comment" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="Member"> - <xs:complexType> - <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Title" type="xs:string" /> <xs:element name="Responsibility" type="xs:string" /> <xs:element name="Affiliation" type="xs:string" /> <xs:element name="Email" type="xs:anyURI" minOccurs="0" /> <xs:element name="Telephone" type="xs:string" minOccurs="0" /> <xs:element name="CorrespondingAddress" type="xs:string" minOccurs="0" /> <xs:element name="Comment" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Description" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="WorkSpaceAbstract"> - <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> - <xs:complexType> - <xs:sequence> <xs:element name="WorkSapceName" type="xs:string" /> <xs:element name="DataCollectorName" type="xs:string" /> <xs:element name="DataSchemaFileName" type="xs:string" /> <xs:element name="MainXMLFileName" type="xs:string" /> <xs:element name="WSLogFileName" type="xs:string" /> - <xs:element name="WSFileList" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="SerielNumber"> - <xs:simpleType> - <xs:restriction base="xs:integer"> <xs:minInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="XMLSchemaElement" type="xs:string" /> <xs:element name="SourceFileURI" type="xs:anyURI" /> <xs:element name="TargetFileWSRelatedURI" type="xs:anyURI" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> |
-- 作者:fogsky -- 发布时间:3/30/2005 11:45:00 AM -- 帮忙顶一下,我也要处理这个问题 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
78.125ms |