-- 作者:maiyude
-- 发布时间:3/15/2008 8:30:00 PM
-- [求助]xml xsd 文件阅读提问
最近看不懂代码了。 schema文档是不是指xsd文件呢? Schema实例又是啥呢? <?xml version="1.0" encoding="gb2312"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 这句话是说定义的标准么? xmlns="http://example.org/ord" 这句话啥意思? targetNamespace="http://example.org/ord" 这句话啥意思? <xsd:include schemaLocation="moreBookInfo.xsd"/> 这句话啥意思? <xsd:import namespace="http://example.org/ord" 这句话啥意思? schemaLocation="publish.xsd"/> 这句话啥意思? <!-- ...--!> </xsd:schema> 符合某个模式的文档称为实例。(实例是指xml文档呢,还是xsd文档呢?)。一个模式可能由多个模式文档构成。多个模式文档通过包含或导入机制来形成模式。(这里的模式是指xml文件呢,还是xsd文件呢?0) 书上原文: 要验证xml文档,必须指定schema文档的位置。[模式的位置可以利用带有名称空间模式的xsi:schemaLocation属性以及不带名称空间 xml模式的xsi:noNamespace SchemaLocation属性来指定,它们位于根/顶级元素中或XML文档的任何其他元素中。](这段话说得我云里雾里,[]是说xml文档中的结构呢,还是说xsd文档中的结构呢?谢谢1) {当Schema文档不包括targetNamespace属性时,应当通过XML文档根元素的noNamespaceSchemaLocation属性及W3C的Schema实例名称空间(xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance") 来引用XMLSchema文件。}(这段话说得我云里雾里,{}是说xml文档中的结构呢,还是说xsd文档中的结构呢?谢谢2) 针对上面的实例修改如下: (***以下文件内容是xsd还是xml的呢?3) <?xml version="1.0" encoding="gb2132"?> <book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="books.xsd" isbn="0-764-58007-8"> <!--...--> </book> 然而,如果Schema文档包含了一个targetNamespace属性,在XML文档中就将通过SchemaLocation属性而不是 noNamespaceSchemaLocation属性来引用Schema文档。而且,这个属性所指定的值必须是完整的。(下面一句中的它是指xml文档,还是指xsd文档呢?4)它需要包含以空格分开的两部分。前一部分是URI,这个URI与Schema文档的targetNamespace属性内部引用的URI是一致的;后一部分是Schema文件的完整路径及名称。另外,XML文档的根元素也必须申明Schema实例名称空间(xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance").Schema文档如下所示:(下面这段代码是xsd文件的呢,还是xml文件的呢? 5) <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://tempuri.org/book"> <!-- ... --> </xsd:schema> 则修改上面的实例为:(下面这段代码是xsd文件的呢,还是xml文件的呢?6) <?xml version="1.0" encoding="gb2312"?> <book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tempuri.org/book book.xsd" xmlns="http://tempuri.org/book" (xmls=""是啥意思? 6) isbn="0-764-58007-8"> <!--...--> </book>
|