xml中xsd、xsi、xmlns的含义
XML是可扩展标记语⾔,它定义了按格式编码⽂件的⼀系列规则[3],编码的⽂件是机器可读和⼈可读的。XML⽂件对于机器可读是基于XSD(XML Schema Definition)[1]的。XSD是受W3C推荐的XML⽂件的结构描述⽂件的规范⽂档,其中详细说明了如何正式描述XML⽂件中的元素[3];也就是说,XSD是XML⽂件的结构描述⽂件(⽐如.xsd⽂件,⼀个XSD的实例,它是依照XSD的规范来书写的)的规范⽂档。编译xml的⽅式是跨语⾔的,不同语⾔的解析⽅式相同,只是具有不同的语⾔形式。java中解析XML的⽅式之⼀是DOM解析,他是基于jdk的lang包中DocumentBuilderFactory类的,如下所⽰[2]。
public class DOMTest {
public static void main(String[] args) {
//创建⼀个DocumentBuilderFactory的对象
DocumentBuilderFactory dbf = wInstance();
//创建⼀个DocumentBuilder的对象
try {
//创建DocumentBuilder对象
DocumentBuilder db = wDocumentBuilder();
//通过DocumentBuilder对象的parser⽅法加载l⽂件到当前项⽬下
Document document = db.parse("l");
//获取所有book节点的集合
NodeList bookList = ElementsByTagName("book");
//通过nodelist的getLength()⽅法可以获取bookList的长度
System.out.println("⼀共有" + Length() + "本书");
}
}
}
我刚开始接触XML时,对.xsd和XSD的区别⽐较困惑。既然有了.xsd,为什么还要XSD,这个我后⾯会说。说到超⽂本标记语⾔,html 是我们最常⽤的超⽂本标记语⾔。html和xml的重要区别是,在xml中可以⾃定义标签。html和xml的区别如下图:
spring怎么读取xml文件<xs:schema xmlns:xs="/2001/XMLSchema"
xmlns="/POM/4.0.0"
elementFormDefault="qualified"
targetNamespace="/POM/4.0.0">
targetNamespace表⽰该.xsd只对该⽬标命名空间⽣效。
在⼀个xml⽂件中可以定义多个命名空间,⽐如在l⽂件中,它的⽂件头信息如下:
XSD是XML Schema语⾔中的⼀⽀。它受到DTDs和其它早期XML Schema(⽐如DDML,SOX,XML-Data和XDR)的影响。XSD采取了⼀些他们的特点,但同时也是他们之间的妥协。
相⽐于DTD,XSD最显著的特点是命名空间和数据类型的⽀持,在XSD中元素属性值可以为整形或⽇期类型,⽽不仅仅是⼆进制⽂本。[3]
参考资料:
[1]
[2]
[3]
[4]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论