CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  XML/SOAP

关于根据继承类创建xsd的问题..新手,请多指教

楼主WolfKisser(夏天的飞鸟)2005-08-02 16:37:06 在 Web 开发 / XML/SOAP 提问

<xs:element   name="FlowGraph"   type="FlowGraph"   />  
  <xs:complexType   name="FlowGraph">  
  <xs:complexContent   mixed="false">  
  <xs:extension   base="Graph">  
  <xs:sequence>  
  <xs:element   minOccurs="0"   maxOccurs="1"   name="FlowType"   type="xs:string"   />  
  <xs:element   minOccurs="0"   maxOccurs="1"   name="FlowGraphName"   type="xs:string"   />  
  <xs:element   minOccurs="0"   maxOccurs="1"   name="Description"   type="xs:string"   />  
  </xs:sequence>  
  </xs:extension>  
  </xs:complexContent>  
  </xs:complexType>  
  <xs:complexType   name="Graph">  
  <xs:sequence>  
  <xs:element   minOccurs="1"   maxOccurs="1"   name="NumberOfVertices"   type="xs:int"   />  
  <xs:element   minOccurs="1"   maxOccurs="1"   name="NumberOfArcs"   type="xs:int"   />  
  <xs:element   minOccurs="0"   maxOccurs="1"   name="VertexList"   type="ArrayOfVertex"   />  
  </xs:sequence>  
  </xs:complexType>  
  可是根据此xsd创建xml文档的时候,却不提示基类的element! 问题点数:100、回复次数:7Top

1 楼WolfKisser(夏天的飞鸟)回复于 2005-08-02 16:39:22 得分 0

就是在<FlowGraph>下面添加<NumberOfVertices>这些基类节点的时候,提示出错.  
   
  我是先根据类型创建的xsd和直接根据FlowGraph对象序列化成xml文档,但是此xml文档却不符合xsd规范.这是怎么回事啊.郁闷.  
   
  请高手指教.谢谢!!Top

2 楼ssm1226(雨中人(虚心学习))回复于 2005-08-02 18:06:57 得分 0

没问题~~~~~  
   
  报什么错?Top

3 楼WolfKisser(夏天的飞鸟)回复于 2005-08-03 09:00:35 得分 0

就是在添加<FlowGraph>标记的时候没有列出其父类(也就是extension的base类)中的element.简单的问,如果使用了extension扩展的schema,要使用base中的element需要怎样写出xml文档才符合规范.谢谢Top

4 楼ssm1226(雨中人(虚心学习))回复于 2005-08-03 10:43:47 得分 0

<?xml   version="1.0"   encoding="UTF-8"?>  
  <FlowGraph   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:noNamespaceSchemaLocation="D:\Documents   and   Settings\Administrator\My   Documents\test.xsd">  
  <NumberOfVertices>0</NumberOfVertices>  
  <NumberOfArcs>0</NumberOfArcs>  
  <FlowType/>  
  <FlowGraphName/>  
  <Description/>  
  </FlowGraph>  
  Top

5 楼WolfKisser(夏天的飞鸟)回复于 2005-08-03 10:55:26 得分 0

我复制你的代码,只是改变targetSchema属性,但是报错:活动架构不支持元素"NumberOfVertices";  
  那看个更简单的Schema:  
  <?xml   version="1.0"   encoding="utf-8"   ?>  
  <xs:schema   id="AddressSchema"   targetNamespace="http://tempuri.org/AddressSchema.xsd"   elementFormDefault="qualified"  
  xmlns="http://tempuri.org/AddressSchema.xsd"   xmlns:mstns="http://tempuri.org/AddressSchema.xsd"  
  xmlns:xs="http://www.w3.org/2001/XMLSchema">  
  <xs:complexType   name="address">  
  <xs:sequence>  
  <xs:element   name="street"   type="xs:string"   />  
  </xs:sequence>  
  </xs:complexType>  
  <xs:complexType   name="USAddress">  
  <xs:complexContent>  
  <xs:extension   base="address">  
  <xs:sequence>  
  <xs:element   name="state"   type="xs:string"   />  
  </xs:sequence>  
  </xs:extension>  
  </xs:complexContent>  
  </xs:complexType>  
  <xs:element   name="Person">  
  <xs:complexType>  
  <xs:sequence>  
  <xs:element   name="name"   type="xs:string"   />  
  <xs:element   name="address"   type="USAddress"   />  
  </xs:sequence>  
  </xs:complexType>  
  </xs:element>  
  </xs:schema>  
   
  <?xml   version="1.0"   encoding="utf-8"   ?>  
  <Person   xmlns="http://tempuri.org/AddressSchema.xsd">  
  <address>  
  <state></state>  
  <street></street>  
  </address>  
  </Person>  
  xml文档添加steet标记时报错:活动架构不支持元素"street".请问:怎样才能使用基类的属性啊.谢谢  
  Top

6 楼WolfKisser(夏天的飞鸟)回复于 2005-08-03 10:59:30 得分 0

我复制你的代码,只是改变targetSchema属性,但是报错:活动架构不支持元素"NumberOfVertices";  
  那看个更简单的Schema:  
  <?xml   version="1.0"   encoding="utf-8"   ?>  
  <xs:schema   id="AddressSchema"   targetNamespace="http://tempuri.org/AddressSchema.xsd"   elementFormDefault="qualified"  
  xmlns="http://tempuri.org/AddressSchema.xsd"   xmlns:mstns="http://tempuri.org/AddressSchema.xsd"  
  xmlns:xs="http://www.w3.org/2001/XMLSchema">  
  <xs:complexType   name="address">  
  <xs:sequence>  
  <xs:element   name="street"   type="xs:string"   />  
  </xs:sequence>  
  </xs:complexType>  
  <xs:complexType   name="USAddress">  
  <xs:complexContent>  
  <xs:extension   base="address">  
  <xs:sequence>  
  <xs:element   name="state"   type="xs:string"   />  
  </xs:sequence>  
  </xs:extension>  
  </xs:complexContent>  
  </xs:complexType>  
  <xs:element   name="Person">  
  <xs:complexType>  
  <xs:sequence>  
  <xs:element   name="name"   type="xs:string"   />  
  <xs:element   name="address"   type="USAddress"   />  
  </xs:sequence>  
  </xs:complexType>  
  </xs:element>  
  </xs:schema>  
   
  <?xml   version="1.0"   encoding="utf-8"   ?>  
  <Person   xmlns="http://tempuri.org/AddressSchema.xsd">  
  <address>  
  <state></state>  
  <street></street>  
  </address>  
  </Person>  
  xml文档添加steet标记时报错:活动架构不支持元素"street".请问:怎样才能使用基类的属性啊.谢谢Top

7 楼zmy0611(zmy)回复于 2005-11-10 17:20:03 得分 0

UPTop

相关问题

  • 如何创建继承两个类的派生类?
  • 如何创建一个从CBitmap类继承的类
  • 从TBitBtn继承的类中,怎么不能创建定时器?
  • 我创建了一个CListView类为CmylistView.现在我怎么继承它呢?
  • 请问,怎样在从WinThread继承的类中创建一个OnTimer()?????
  • 可以继承BUTTON创建USER_CONTROL吗?
  • 如何创建一个继承CWnd的透明窗口
  • socket 创建失败一般是什么原因(从csocket继承)
  • 如何在从CFrameWnd继承下来的窗口中创建BUTTON?
  • 关于继承于MainMenu创建自定义组件的问题

关键词

  • 文档
  • 架构
  • 属性
  • schema
  • xml
  • 创建
  • xsd
  • 谢谢
  • 添加
  • 标记

得分解答快速导航

  • 帖主:WolfKisser

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo