




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XML教程XML 结构 XML语言,XML名域和DOM是W3C建议的,这是W3C发展过程中决定性的一步。由于它们已经成为正式的规范,开发人员能够用XML的格式标记和交换数据。XML在三层架构上为数据处理提供了很好的方法。使用可升级的三层模型,XML可以从存在的数据中产生出来。使用XML结构化的数据可以从商业规范和表现形式中分离出来。数据的集成、发送、处理和显示是下面过程中的每一个步骤.我们看下图的总结:数据结构,名域XML名域允许开发人员在可识别的情况下定义元素的名称,以避免同名元素间产生冲突。在一个文档中使用的元素,比如购买单,可以在不同的schemas中被定义。名域保证元素名称不会产生冲突,并且阐明了各个元素的来源,但是不能决定如何处理元素。解析器必须知道每个元素的意义和如何处理它们。来源于不同名域中的标记可以混合在一起,这是从不同来源过来的数据所必须具备的。有了名域,元素既可以存在于相同的以XML为基础的文档中,也可以存在于不同的schemas中,说明唯一的语义。例如,在书店的购买单上,一个”title”元素可以包含一个书名,另一个”title”元素可以包含作者名。W3C已经发布了XML的名域,允许元素服务于URI。即使不同的作者选择同样的元素名称,也不会辨识不清。随着任何人都能发布自己的主页或者浏览他人的主页,名域的功能允许使用者定义个人的术语字典或者使用公布的公用名域。 Layman Andrew 1997-03-17 1234567890 这段编码告诉读者如果一个元素是以dsig打头,它的意义是由的名域所定义的。同样,以”person”打头的元素的意义是由/people的名域所定义的。名域保证元素名称不会冲突,也阐明了元素是由谁定义的。它并不给出如何处理元素的指令。读者仍然需要知道元素的意义,并且决定如何处理它们。名域只是针对元素名称。处理人员能够定义元素的数据类型和内容的格式。可以使用数据类型名域的dt属性来达到这一目的。1997-03-17在这里,data说明sold-on元素的内容是按照标准格式的,这种格式是由数据类型名域说明的。有了元素名称,处理人员终于可以设计他们自己的数据类型,也能使用共享的类型。微软正同W3C一起定义一套标准类型,并且已经在IE5中提供部分支持XML Schema的第一份数据类型清单。数据发送,处理由于XML是开放的、基于文本的格式,它可以通过HTTP像HTML一样传送.桌面上的数据可以用DOM处理.代理商将支持XML更新功能,使得中间层或数据服务器上数据的变化可以传递给客户,反之亦然.因此,代理商能够从客户端得到更新的数据,并把数据传送到储存服务器上.解析XMLIE5中的XML解析器能够读入一串XML数据,经过处理,产生一棵结构树,并且使用DOM把所有数据元素作为对象。解析器用CSS或XSL样式表显示数据,或者用脚本把数据进行进一步的处理,或者把数据移交给另外的应用软件或对象进行进一步的处理。DOM用扩展方式支持名域、数据类型、查询和XSL转化。使用文档对象模式(DOM)处理和编辑数据DOM实际上是一个应用编程接口(API),用来定义一种标准方法。通过这种方法,开发人员能够处理XML结构树的元素。对象模式控制着使用者如何同结构树交流,并且把所有树的元素作为对象暴露出来。用HTML显示XML数据XML文档自身不能决定如何显示信息。XML数据只包含事实。HTML是一个理想的显示语言。举个例子来说,网上书店的店员可以访问主页寻找订单。在后端,个人数据记录是用XML表示的。但是,在前端,它们是用HTML表示的。为了构造这个主页,Web服务器和Web浏览器都需要把XML数据记录转变为用HTML来表示。数据捆绑和样式表可以用来把XML数据组织成形象化的表达形式,并加上交互功能。数据捆绑是动态HTML(DHTML)的一个方面,它把单独的数据从信息源(例如XML文档)移动到HTML显示上来,允许把HTML作为显示XML数据的模块。微软把XML数据源对象(XML DSO)作为IE5的一部分。XML DSO能够在XML数据岛基础上被调用。XSL(可扩展类型语言)能够进一步加强这一过程。一个XSL样式表包括如何从XML文档中拿出信息以及如何把它转变为另一种格式的指令。XML转变为另一种格式,比如HTML,采用的是一种公布了的方法,这比采用脚本编写简单而且容易理解。另外,XSL把XML作为它的语法,使XML的编写者不用去掌握另外的标识语言。CSS仍然被应用于结构简单的XML数据,并且也很有用。但是,CSS不提供与数据源结构不同的数据显示结构。使用XSL,可以产生与原来的XML数据结构完全不同的表达结构。如下所示。XSL提供内容和表现形式的语义和结构独立性。增加HTML给HTML页增加语义信息并不容易。很多程序曾经试图用一些非标准的方法来解决这一问题,比如在HTML注释中隐藏数据。但是,这样的注释是很难使用的,对象模式并不能理解它们。为了解决这一问题,W3C定义了一个格式,用来把基于XML的数据放到HTML页中。通过使用数据岛(data islands),扩展HTML允许很大范围的应用软件使用HTML作为主要文档和显示格式,并且使用这些文档中内含的XML保存数据。一个HTML页包含有关这一页主题的特殊数据。例如,如果这一页显示一位作者最近一部小说的广告,这一页也包括有关这本书的XML数据,比如ISBN序号、出版者或者是价格。这些信息显不显示并不重要,重要的是这些信息作为数据可被获得和理解。转换和查询XML随着XML作为在Web上交换数据的一种标准方式的出现,不可避免地种种需要就会产生,比如查询XML、制作压缩数据、对数据分类和过滤以及转换XML语法。XSL和XSL模式语言提供了满足这些需要的一种方法。XSL模式是简明的语法用来识别XML文档的节点,建立在节点类型、名称、内容和与树中其他节点相关的前后联系的基础上。XSL提供了一种语法,使XSL模式查询的结果与模板有关,使XML源文档中的数据具体化。XML语法可以输出,以供分类和过滤,或者把一个schema中的数据转化到另一个schema中去。设置字符和编码XML中的信息都是用统一的字符编码标准编写的。包括元素的内容和名称。因此XML支持所有的国际字符的表现形式。统一的字符编码标准可以直接转换为16位字符,但更通常的是把它转换为方便使用的或者是简化的某种语言的编码。XML支持广泛的编码,只要一个文档中使用同一种编码。空格符不同于HTML在多数情况下忽略空格符,XML是针对数据的,因此通过xml:space属性可以保留空格。例如,下面两种情况是不同的:Tchaikovskys First Piano Concerto Tchaikovskys First Piano Concerto在IE5中xml:space=default这一取值在标记间加入了一些装饰用的空格符。编写结构完整的XML文档一个XML文档如果符合一些基本的规范,那它就是结构规范的。XML格式有一套比HTML简单的解析规则,允许XML解析器不需要外部描述或了解数据含义就可以解析XML数据。1) 起始标签和结束标签必须匹配 XML元素可以包含正文和其他元素,在它的schema中用严格的规范给出了文档的类型。但是,元素必须严格嵌套:每个起始标签必须有对应的结束标签。2) 元素不能交迭 下面的例子不符合XML语法。Evolution of Culture in Animals by John T. Bonner改正后符合语法的形式是:Evolution of Culture in Animals by John T. Bonner 3) XML标签对大小写是敏感的 下面是不同的元素。 4) 表示空元素 XML对空元素有速记办法:一个标签以/符号结尾就表示空元素。例如,下面两行是等效的:5) 保留字符 一些字符是XML句法结构的一部分。如果你想要在XML数据中引用它们,必须用特殊的字符来替代它们。下面列出这些字符。>"'例如,Melons cost $1 at the A&P要写成Melons cost < $1 at the A&P.。每个XML文档必须有唯一的根元素 例如,在天气报告中,元素表示这个XML文档唯一的根元素。处理XML元素XML是一种标识语言。一个XML元素是由开始标签、结束标签以及标签之间的数据构成的。开始和结束标签用来描述标签之间的数据。标签之间的数据被认为是元素的值。例如,在下面一个XML元素的例子中,元素“director”的值是“Ed Wood”。Ed Wood元素名(“director”)允许你把“Ed Wood”这个值标出来,这样你就能把这些数据同另外类似的数据区分开来。例如,有可能另一个元素的值也是“Ed Wood”。Ed Wood由于每个元素都有不同的标签名,所以你能很容易把上面两个元素的值区别开来。如果没有办法把数据标出来,两个有同样值的元素会混淆起来。处理XML文档一个基本的XML文档就是一个XML元素,它可以嵌套XML元素。例如,下面的XML元素“books”就是一个有效的XML文档。 The Great Shark Hunt Hunter S. Thompson 构建一个基本的XML文档需要记住关键的三点:所有元素必须有结束标签;所有元素必须正确的嵌套(不允许交迭元素);所有特征值必须加引号。处理XML数据岛数据岛是指存在于HTML页面中的XML代码。数据岛允许你在HTML页面中集成XML,对XML编写脚本,不需要通过脚本或标签读取XML。几乎所有能够存在于一个结构完整的XML文档中的东西都能存在于一个数据岛中。包括处理指示、DOCTYPE声明和内部子集。(注意,编码串不能放在数据岛中。)数据岛的XML可以是内嵌的: Herbert Hanley 81422 或者在XML标签中通过SRC属性引用:简单处理XML。把XML放到一个XML元素中,并且给这个XML元素一个ID。类似于文档对象访问一个XML数据岛XML文档对象是指一个拥有属性和方法的对象,你可以利用这些属性和方法访问和处理XML文档。当一个XML数据岛被读取和解析时,就会创建一个XML文档对象。怎样访问XML数据岛?下面是一个带有数据岛的HTML页面。数据岛在元素中。 HTML with XML Data Island Within this document is an XML data island. Calinda Cabo Baja Na Balam Resort 你能通过ID属性访问数据岛,“resortXML”成为文档对象的名称。你能利用这个对象的方法和属性访问它的根节点和孩子节点。在上面的例子中,根节点是,孩子节点是。下面列出了一些属性和方法,可用来访问XML文档的节点。XMLDocument:返回对XML文档对象模式的引用。documentElement:返回XML文档的根节点。childNodes:返回节点的孩子节点目录。item:通过索引访问目录中的个别节点。索引值是从0开始的,所以item(0)返回第一个节点。text:返回节点的内容。下面的代码访问第二个孩子节点并返回它的内容“Na Balam Resort”。resortXML.XMLDocument.documentElement.childNodes.item(1).text访问XML对象模式微软IE5中的XML解析器揭示了XML对象模式,允许你访问和处理XML文档中的节点。当解析器读取并且解析一个XML文档时,它将建立一棵节点树,每个节点都能通过脚本来访问。例如,如果解析器读取并且解析下面的XML文档,它将创建一个能通过文档ID值(xmlDocument)被引用的文档对象,一个表现根节点的对象和一个表现树中其余节点的对象。怎样访问树中的节点?请试着在下面的数据岛中找出访问每个节点所需要的代码。 Jane Smith 3.8 在XML文档中使用数据类型微软提供的XML Schema版本支持数据类型。作为一项预先展示的技术,它对于那些想要用schema和丰富的数据类型构造原型和增长经验的开发者来说是很有用的。微软积极参与制定逐步形成的W3C的XML Schema标准。开发者需要注意这个版本的XML Schema是要变化的。在微软IE5当中,元素值能被指定数据类型。数据类型能够通过XML Schema或根据实际情况被指定。以前,XML元素值只有一种类型(字符串),所以开发者要处理XML文档必须花时间转换元素值。键入你的XML数据,解析器会进行数据类型转换。另外,由于元素值有特定的数据类型,所以元素值的改变也要符合数据类型。这给你提供了一种确认使用者输入的方法。如何指定XML元素值的类型?通过XML Schema指定元素值的类型,你必须在XML Schema的开头声明数据类型的名域和schema的名域。dt前缀用来在schema中表示指定数据类型的类型属性。通过dt属性指定元素类型,你必须在XML文档的开头声明数据类型的名域。dt前缀用来给一个元素的例子指定数据类型。 44533访问经过类型定义的XML值经过类型定义的XML值是指在XML Schema中被指定数据类型的元素值。XML解析器使用schema来确认文档。微软提供的XML Schema版本支持数据类型。作为一项预先展示的技术,它对于那些想要用schema和丰富的数据类型构造原型和增长经验的开发者来说是很有用的。微软积极参与制定逐步形成的W3C的XML schema标准。开发者需要注意这个版本的XML Schema是要变化的。除了拥有字符串值以外,每个XML元素也可以有经过类型定义的值。例如下面的XML元素:1970-09-30值可以是“1970-09-30”,也可以是经过类型定义的“Web Sep 30 00:00:00 PDT 1970.”如何访问经过类型定义的XML值?可以通过XML对象模式访问经过类型定义的数据。就好象你能根据元素节点的节点值性质找到元素值一样,你能根据元素本身的节点类型值找到经过类型定义的元素值。例如,考虑一下下面的XML文档: 1970-09-30 67.5“weatherSchema.xml”是下面这个文件: 如果你要处理“degrees”这个元素(xmlDocument.documentElement.childNodes.item(1)),你可以根据节点类型值来访问它的值(xmlDocument.documentElement.childNodes.item(1).nodeTypedValue)。XML SchemaW3C XML Activity Page 声明:“尽管XML1.0提供了一种机制,文档类型定义(DTD)给标记的使用加了限制,但是对XML文档的自动处理需要更严格更全面的工具。需要主要体现在对应用软件各部分的结合、文档结构、属性和数据类型等等的约束。W3C XML Schema工作组正忙于定义XML文档的结构、内容和语义。”微软IE5支持XML Schema,这项预先展示的技术是建立在递交给W3C的XML-Data草案的基础上的。XML Schema可被认为是XML-Data草案的子集,它符合文档内容描述(DCD)提议的特点。IE5中的XML解析器能够根据文档类型定义(DTD)或XML Schema解析XML文档。XML Schema是用来声明内容模式的基于XML的语法。它有DTD所有的功能,并且还有其他的功能如数据类型定义。如何建立XML Schema?请在下面的XML文档中找一找每个节点的schema声明。 Jane Smith 3.8 你会注意到在上面文档中默认的名域是“x-schema:classSchema.xml”。这告诉解析器根据URL(“classSchema.xml”)上的schema(x-schema)来解析整个文档。下面是上面那个文档的完整的schema。注意schema的根元素中的名域声明。第一个(xmlns=”urn:schemas-microsoft-com:xml-data”)表明这个XML文档是一个XML Schema。第二个(xmlns:dt=”urn:schemas-microsoft-com:datatypes”)允许schema处理者在“ElementType”和“AttributeType”声明中的“type”属性前加“dt”前缀来说明元素的类型和内容的特征。 schema用“Schema”元素开头,“Schema”元素包括schema名域的声明,在本例中还包括数据类型名域的声明。Schema的内容以“AttributeType”和“ElementType”的声明开头。这些声明接下来的是刚声明过元素的父亲元素的“ElementType”声明。 这个过程继续下去,直到所有元素都已经声明了。不同于DTDs,XML Schema允许有一个开放的内容模式,你可以进行定义数据类型、使用默认值等等操作而不必限定内容。在下面的schema中,“GPA”元素的类型被定义并有一个默认值,但在“student”元素中没有其他节点被声明。 上面的schema允许你只确认你所关心的区域。这使你对文档有更多的控制,并允许你使用schema提供的一些特性而不必严格确认。一些说明:“ElementType”和“AttributeType”声明必须放在“attribute”和“element”内容声明之前。例如,在上面的schema中,“GPA”元素的“ElementType”声明必须放在“student”元素的“ElementType”声明之前。 “order”属性的默认值是建立在“content”属性的值上的。当content值为“eltOnly”时,order默认值是“seq”。当content值为“mixed”时,order默认值是“many”。 XML中的Namespaces在XML中,用户可以自己定义tag和元素。但我们可以很容易想到,如果把多个XML文件合并为一个时,就很可能出现冲突。Namespaces(名域)就是为了解决这个问题的。对XML namespace严格的定义是:namespace是用URI加以区别的,在XML文件的元素和属性中出现的所有名称的集合。有了namespace,用户就可以保证在他的文件中使用的名称是独一无二的。 在没有namespace的XML 1.0文件中,元素和属性中出现的名称无异于一族没有结构的字符。我们称它们为local names(当地名称)。当地名称在网络上是极不合适的。可以想象,网上会有成千上万的人使用同一个名称,而它们却代表了不同的意义。 Namespace通过URI区别同名的标识。我们已经完全可以相信不会出现冲突了,因为URI是独立的。Namespace的声明要用到前缀xmlns 。声明的namespace位于指定的URI,同样的,它也有个名字,我们称这个名字为:namespace名。Namespace名必须独有而一致。有它修饰过的元素就莫认为它由指定URI处的namespace约束。让我们有一些例子来看一下几种不同namespace的声明。例一: x是元素的标识tag名称。Xmlns指出一个namespace在这个元素中被用到。如果不特殊说明,元素内的标识都要收它的约束。HTTP的地址表明了特定的schema namespace位置。Edi是在当地,这个namespace的名称。例二: 32.18 这个例子给我们展示了edi在元素内部的作用。例三: Frobnostication Moved to here. 第三行中html:html说明这个元素的tag名是html,并且,html已在当地的namespace中说明过了。例四: Cheaper by the Dozen1568491379 This is a funnybook! 第三行中book xmlns=urn::books说明,如果没有特别说明,在book元素中的标准namespace在urn::books 。所有的tag标识都被默认在这个namespace中。使用XML解析器从HTML到XML很长时间我一直认为XML从最简单的方式来看不过是在HTML基础上的些许改进。但是当我把六万五千字的HTML原稿转换为结构良好的XML时,原来的想法彻底改变了。利用一些文本编辑的宏,只用了一小时这些转换就大功告成了。转换过程的第一步要封闭所有的标记(tag)。你需要用匹配每一个, 对于所有成对的标记都如此。象这样的空标记也要闭合。就变成了这样:。然后, 我必须给所有的属性项加上引号。这种形式就不能再出现了。 也没有了象这样的缺省属性。那必须变为。最后,我要处理逸出(Escape)实体。我的原文使用了许多的HTML结构,因此尖括弧写为。 如果有这样的符号,XML就要求有多一个层次级别。这些实体必须变为<和>。XML 处理器处理外层信息;而浏览器处理里层的内容。新的成为一些W3C技术测试容器的Amaya 浏览器现在已经能够读入HTML 写出满足三项要求的相应的XML。它也是HTML/XML的编辑器,适用文本和结构的浏览。如果你感兴趣,在有 Win32和Unix风格的版本。现在,我可以用Perl的XML:Parse模块来解析原稿。在James Clark 的expat ( Mozilla 5中的XML引擎)的基础上,这一新的Perl 模块发展很快;在 上的Perl-XML邮件列表有详细的讨论。 (如果你在使用ActiveState的新版ActivePerl, 你可以Perl软件包管理器Perl Package Manager安装该解析器。)这儿说明了如何在Perl中解析XML文档: use XML:Parser;my $xml = XML:Parser-new(Style = Stream);$xml-parsefile(/jon/book/book.htm);当你在流方式中使用XML:Parser,解析事件调用Perl方法中StartTag, EndTag和 Text。见表1的实例。StartTag 方法存储当前的标记 (如h1) 和属性(如class=chapter)。当Text 方法被调用时例如,chapter 1 中h1标记的文本 用所得的信息与章节号给该章的标题添加一个数字。EndTag方法检查内容刚被Text方法释放出的标记是否是应该后续注释链接的标记(如p,li等)。看,不是DTD!请注意expat不是有效性检查的解析器, XML:Parser也不是。它仅检查一个XML文档是否结构良好(well-formed) ,不必遵循DTD的规定。缺少DTD, 我的脚本从哪儿获取决定何为章节、何为图表或列表的信息?从CSS。也即为,用下面的形式替代虚构的XML化的“我的书”的表示法:ConferencingNNTP tools./figures/fig.gif我用CSS类的属性兼做风格和结构的表示,象这样: ConferencingNNTP tools长远来看,这种方法会毫无意义。IE 5.0 已开始能够显示与CSS相结合的纯XML。一旦性能成熟且广泛使用, 就不必将XML转换为XML然后递交浏览器。但目前,这种XML/HTML/CSS的混合战略很有意思。确实既然我正通过脚本运行我的XML资源,我能写纯粹的XML并完全依靠脚本为浏览器提供内容。但不是每个人都想那样做。通过CSS将结构化的信息编码, 你生成直接在现在的浏览器中显示的XML。后来我意识到混合的途径并不排除使用DTD。通常你先写DTD, 再基于它建立XML文档。但在使用HTML中常用到一隐指的DTD。使我吃惊的是发现和格式化十分容易。因为expat不能检查有效性,我需要一解析器来做这件事。开始我用DXP, DataChannel的第一个基于Java的解析器。它起初是Norbert Mikula的 NXP, 现已被Microsoft/DataChannel的 DCXML所取代。DXP告诉了我需要知道的一切。首先它“埋怨”没有定义元素(element)。因此我不得不象这样写出定义: 有人奇怪为什么XML不能就用XML描述之,但该由SGML演变来的语法正是我们所需要的。第一个声明表示存在a 元素,它包含了解析的字符数据。第二个声明表示存在p 元素,它包含解析的字符数据或所列的一系列元素。我还规定了我正在使用的CSS属性。这里是标志特殊元素的p标记的变量: 当我接着重新运行解析器,我分清一些在各处使用的规则。例如,我曾想在表中不用图象。解析器找到了这些地方促使我决定是否允许DTD中这种结构或是相应地改变源文件。它也会出现一个惊人的错误:在第二章打开的一个div标记直到第七章才找到相应的结束标记。对于不检查有效性的解析器,错上加错,会得至正确!整个过程只花了数小时。转换对于文件的改动不大,但使得他们倍添价值。在OReilly 和Associates的产品群机于接受HTML ,不管它有多么整洁。当他们得知会得到结构良好和有效的XML,他们真是欣喜若狂。这个方法不是最理想的。你牺牲了DTD的许多优点。例如,你能这样做:这个声明定义一图表作为单个复杂对象,它由三个必要成分组成的。XML 打算这样做,下次类似情况我可能用这种方法。然而即使你真的这样利用DTD,它的文件结构的声名强制性可能仍不够。比方一些属性有数千个允许的值。你能在DTD中将其列出,但你可能想要在数据库中查找。有时需要依赖于解析器的程序代码补充DTD的声名功能。微软的XML解析器当我利用表一的转换方法对我的书的XML进行转换,它产生的HTML输出可以在任何的4.x浏览器中浏览。我用了CSS普通的一部分。(遗憾的是,目前Netscape和Microsoft的产品的CSS的实现状况使这种转换比应有的更艰难.)尽管都在Microsoft的环境下操作,你也可以采用表二的方法.它展示了在JScript控制下MSIE 5中的C+ 解析器.该解析器不是面向事件而是面向树(Tree)型结构.你一旦建立了整个的树来表示你的文档,你能横贯、转换和显示该树.在实际应用中,两种方法区别不大,有些解析器两者都支持.IBM的Java解析器DXP和其它工具实现了简单的XML API-SAX. 在浏览器内部运行时,通过访问浏览器的文档对象模块(DOM),基于解析器的应用能做各种有用的事情.理论上,表一 中实现的简单反馈机制可以成为交互的文档编辑器,直接在源文件中就可以积累浏览者的评价. C+ 解析器不一定要在浏览器中运行.我现在从一个.CMD文件代替DXP来用它检查我的书的有效性.怎么做?WSH(Windows Scripting Host)可以实现.提供validate.js的文件,它包括: var doc = new ActiveXObject(microsoft.xmldom);doc.load(c:jonbook.xml);if (doc.lastError.reason != ) WScript.echo(doc.lastError.reason); 我能用命令cscript validate.js 来确认书的有效性.Java程序员想要把确认有效的XML解析器结合进他们的应用可以使用DCXML, DataChannel DXP的后一产品. Microsoft/DataChannel 的合作产品刚以beta版的形式在 上公布. 目前还没有使用说明文档,但如果你要了解该C+解析器如何使用 ,你可以体会在表三中显示的Java的版本. 目前XML的发展日新月异. 和 、能让你紧跟XML的步伐. 不要等到5.0浏览器实现了所有的XML的特点再去学习.每一个现有的HTML网页就是潜在的相同甚至是更有价值的XML页! CSS与XSL简述我们非常清楚的是在XML中内容与表现形式是分开的。这就使得不同的用户可以根据他们自己的需要来定义数据的表现形式。在一个XML的源文件中并没有关于它表现形式的信息。这一点我们可以从下面例子中看出。 例一:在HTML中的一段代码 Car RegisterMake: Saab 9000 Model: 1995Owner:Kalle Karlsson G?tgatan 1 11111 Stockh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版土石方工程全方位服务居间服务协议
- 2025年文化旅游园区厂房租赁安全生产与景区安全管理协议
- 2025年度环保建材三方买卖合同
- 2025版商铺买卖双方权益保障及转让合同
- 2025版森林资源砍伐与生态补偿金支付合同范本
- 2025版股份制企业股权质押合同范例
- 2025房地产项目委托开发与绿色建筑认证管理合同范本
- 2025版移动通信基站租赁及运营合同
- 2025版石灰生产原料进口合同范本
- 2025年度陶瓷行业环保专员劳动合同书
- 班级管理常规优质课件
- IT运维服务方案信息运维服务方案
- ZSL1000、ZSL750塔吊外挂架施工方案
- 文化自信作文800字议论文
- GB/T 28287-2012足部防护鞋防滑性测试方法
- GB/T 27677-2017铝中间合金
- GB/T 19627-2005粒度分析光子相关光谱法
- 芜湖宜盛置业发展有限公司招聘3名编外工作人员(必考题)模拟卷
- 混凝土结构设计原理教学教案
- 齿轨卡轨车课件
- 中国监察制度史
评论
0/150
提交评论