关于约束文档的详细笔记
我们正常的来说,当我们再写一个xml是没有约束的,标记名,属性名,属性值我们都可以按照我们的需求随意的写我们自己的文档。
但是当我们在使用别人的框架的时候,别人的框架要求我们给它提供一个配置文档,那么这个时候,我们提供的配置文档就不能随便写了,因为我们随便写,人家读取不出来,我们得按照它得要求来书写xml文档,这样的要求就是xml约束。
约束文档
约束文档怎么表示
一种是DTD,另一种是Schema
我们利用上面2种来定义约束之后,别人在书写xml文件时就必须按照约束来编写XML文件,如果不符合约束就会报错
dtd文档约束的引入方式
1内部引入:
2外部引入
在xml中使用dtd约束文档
下面选中的这句话代表引入了note.dtd的约束(在xml中使用dtd约束文档)
3.外部引入的网络方式
例如:
当你书写struts的配置文档时,首先,你需要引入struts配置文档的dtd的约束规则
Schema(比DTD要牛逼一点,替代DTD)
Schema本身也是xml文档,后缀是xsd,优点如下:
xml文档可以遵守多个约束文档的,这样就有可能导致,我的xml文档里面会遵守多个schema文档,那多个schema文档可能定义了多个一样的标记,这时候就需要命名空间来替我们区分,这些标记是属于哪个约束文档的
接下来就是如何在xml文档中去使用我们的schema约束文档
schema约束的引入是把约束条件放到我们的根元素里面的,给note(根)标记添加约束
这个命名空间使用了我的note.xsd(schema约束文档)的约束,这样就表示我的note标记要遵守我的note.xsd里面的约束规则