新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> DTD, XML Schema(XMLS), RELAX NG
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DTD/XML Schema 』 → [求助]菜鸟问题.xsd和所谓的xml格式的Schema是什么关系? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 52303 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]菜鸟问题.xsd和所谓的xml格式的Schema是什么关系? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     fxh312b 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:82
      门派:XML.ORG.CN
      注册:2004/10/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给fxh312b发送一个短消息 把fxh312b加入好友 查看fxh312b的个人资料 搜索fxh312b在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看fxh312b的博客11
    发贴心情 

    XSD是W3C推荐的XML SCHEMA标准,SCHEMA即描述XML的结构和元素关系的规则模式,他规定了一个xml文档可以使用那些元素、元素的类型以及一些限制规则。schema和DTD一样,都是描述xml的,只不过SCHEMA的内容更丰富,更具有扩展性,同时他本身也是一个xml文档,更方便解析。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/10/22 18:58:00
     
     andy_caowei 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:55
      门派:XML.ORG.CN
      注册:2005/3/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给andy_caowei发送一个短消息 把andy_caowei加入好友 查看andy_caowei的个人资料 搜索andy_caowei在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看andy_caowei的博客12
    发贴心情 
    XSD是XML Schema Definition的缩写,它本身也是XMl的一个变形子集,用于规定XMl文档的格式。举个例子说:“XMl是C语言,那么XSD就是你用C语言编写的类,而某个XMl数据文档就是你用刚刚编写的那个类的实例化,也就是按照类的定义申请了一个内存空间,并存储相应的数据。”
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/15 10:24:00
     
     killerli 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:14
      积分:104
      门派:XML.ORG.CN
      注册:2005/3/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给killerli发送一个短消息 把killerli加入好友 查看killerli的个人资料 搜索killerli在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看killerli的博客13
    发贴心情 
    还是没有很明白!不过谢谢!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/22 5:15:00
     
     difuk 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:55
      门派:XML.ORG.CN
      注册:2005/3/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给difuk发送一个短消息 把difuk加入好友 查看difuk的个人资料 搜索difuk在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看difuk的博客14
    发贴心情 

    XML schema 包括 XML Schema 和 DTD 两种,(注意官方文件中的大小写)
    他们都是用来规定 存放数据的 XML文档  的格式性文档。
    前者是扩展名是.xsd,后者扩展名是.dtd。
    初学拙见,不对请指正。QQ:12017449 无验证,欢迎交流。并诚邀高手加我。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/23 9:35:00
     
     stlsm 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:68
      门派:XML.ORG.CN
      注册:2005/3/23

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给stlsm发送一个短消息 把stlsm加入好友 查看stlsm的个人资料 搜索stlsm在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看stlsm的博客15
    发贴心情 
    怎么用XSD来验证XML啊,如果验证不成功,返回什么信息?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/23 11:53:00
     
     stlsm 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:68
      门派:XML.ORG.CN
      注册:2005/3/23

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给stlsm发送一个短消息 把stlsm加入好友 查看stlsm的个人资料 搜索stlsm在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看stlsm的博客16
    发贴心情 
    怎么用XSD来验证XML啊,如果验证不成功,返回什么信息?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/23 11:56:00
     
     stlsm 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:68
      门派:XML.ORG.CN
      注册:2005/3/23

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给stlsm发送一个短消息 把stlsm加入好友 查看stlsm的个人资料 搜索stlsm在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看stlsm的博客17
    发贴心情 
    怎么用XSD来验证XML啊,如果验证不成功,返回什么信息?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/23 11:58:00
     
     kenthz 帅哥哟,离线,有人找我吗?水瓶座1983-2-11
      
      
      等级:大一新生
      文章:3
      积分:77
      门派:XML.ORG.CN
      注册:2005/3/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给kenthz发送一个短消息 把kenthz加入好友 查看kenthz的个人资料 搜索kenthz在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看kenthz的博客18
    发贴心情 
    如果你使用java编程,可以Java API(Java API for XML Processing, JAXP)1.2 对xml文档进行模式验证。
    import java.lang.String;
    import java.io.*;
    import org.xml.sax.*;
    import javax.xml.parsers.*;

    public class ValidateXML {
     static String SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";

     static String XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";

     static String SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";

     static boolean validatechecksuccess;

     static void validate(String xmlfilename, String shemafilename) {
      validatechecksuccess = true;
      File input = new File(xmlfilename);
      File schema = new File(shemafilename);
      SAXParserFactory factory = SAXParserFactory.newInstance();
      factory.setNamespaceAware(true);
      factory.setValidating(true);
      try {
       SAXParser parser = factory.newSAXParser();
       parser.setProperty(SCHEMA_LANGUAGE, XML_SCHEMA);
       parser.setProperty(SCHEMA_SOURCE, schema);
       parser.parse(input, new SAXErrorPrinter());
      } catch (SAXNotRecognizedException e) {
       System.err.println("Unknown property specified:" + e.getMessage());
      } catch (SAXNotSupportedException e) {
       System.err.println("Unsupported property specified:"
         + e.getMessage());
      } catch (ParserConfigurationException e) {
       System.err.println("Your SAX parser is not JAXP 1.2 compliant."
         + e.getMessage());
      } catch (SAXException e) {
       System.err.println("Your SAX parser is not JAXP 1.2 compliant."
         + e.getMessage());
      } catch (IOException e) {
       System.err.println("Your SAX parser is not JAXP 1.2 compliant."
         + e.getMessage());
      } catch (Exception e) {
       System.err.println("Your SAX parser is not JAXP 1.2 compliant."
         + e.getMessage());
      }
     }
    }
    这个类的静态方法validate第一个参数是需要验证的xml文档(*.xml),第二个是相对应的schema文档(*.xsd)。其中还注册了一个ErrorHandler,在贴一个处理程序。
    import java.text.*;
    import org.xml.sax.*;
    import org.xml.sax.helpers.*;

    public class SAXErrorPrinter extends DefaultHandler {
     private MessageFormat message = new MessageFormat("({0}: {1}, {2}): {3}");

     private void print(SAXParseException x) {
      String msg = this.message.format(new Object[] { x.getSystemId(),
        new Integer(x.getLineNumber()),
        new Integer(x.getColumnNumber()), x.getMessage() });
      System.err.println(msg);
      ValidateXML.validatechecksuccess = false;
     }

     public void warning(SAXParseException x) {
      this.print(x);
     }

     public void error(SAXParseException x) {
      this.print(x);
     }

     public void fatalError(SAXParseException x) throws SAXParseException {
      this.print(x);
      throw x;
     }
    }

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/23 21:09:00
     
     颜焰 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:4
      积分:70
      门派:XML.ORG.CN
      注册:2005/3/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给颜焰发送一个短消息 把颜焰加入好友 查看颜焰的个人资料 搜索颜焰在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看颜焰的博客19
    发贴心情 
    xml 是文件具体的内容,XSD是SCHEMA存档的拓展名??
    DTD 其实是SCHEMA 的一种,SCHEMA 的功能是为了使XML 格式化,让XML有个通用且固定的格式,XSL 是 XML具体在SCREEN显示的格式?
    DOM是什么呢?
    这样理解对不对?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/17 12:28:00
     
     那面海 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:10
      积分:94
      门派:XML.ORG.CN
      注册:2005/3/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给那面海发送一个短消息 把那面海加入好友 查看那面海的个人资料 搜索那面海在『 DTD/XML Schema 』的所有贴子 引用回复这个贴子 回复这个贴子 查看那面海的博客20
    发贴心情 
    这说法不对
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/18 16:54:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DTD/XML Schema 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/10 7:13:56

    本主题贴数23,分页: [1] [2] [3]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms