3.4. 映射次序
【程序编程相关:日期转换】 【推荐阅读:查询数据库中的N条记录,然后,对这N条记】 【扩展信息:由励志书籍的泛滥和良莠不齐想到的】 本节讨论对象-关系映射如何处理次序. 3.4.1. 同级次序, 层次次序, 与文档次序 同级(sibling)意味着“兄妹”.就是说,同级元素或 pcdata 是有相同父元素的元素或 pcdata.换句话说,它们出现在同一个内容模型中.例如,如果在前面的章节中文档被表示为一棵树,这很容易的显示出那些元素是同级的: 这些元素在这个层次的第二级上,都有 a 作为它们的父元素. a ___________________________|______________________ | | | | | | | | | this text c makes b no sense c except as b an example | | | | cc bbbb cccc bb 注意在第这个层次的第三级的元素不是同级的,因为它们不共享相同的父元素.这还指出了同级次序,它是在它们的父元素中子元素出现的次序,与层次次序,它是子元素在表示文档的树中出现在的级别,二者之间的不同.不同的还有文档次序,它是元素与文本在一个 xml 文档中出现的次序.例如: 同级次序(只有一个同级元素的地方次序不显示): a ___________________________|______________________ | | | | | | | | | this text c makes b no sense c except as b an example 1 2 3 4 5 6 7 8 9 | | | | cc bbbb cccc bb 层次次序: 1 a ___________________________|______________________ | | | | | | | | | 2 this text c makes b no sense c except as b an example | | | | 3 cc bbbb cccc bb 文档次序: a 1 ___________________________|______________________ | | | | | | | | | this text c makes b no sense c except as b an example 2 3 5 6 8 9 11 12 14 | | | | cc bbbb cccc bb 4 7 10 13 依据 xml 规定,同级次序是重要的.实际上,这依赖于应用.例如,在以数据为中心的应用中,使用 xml 文档来传载一个对象或表,同级次序通常是无关紧要的,因为面向对象语言没有在类属性之间的次序的概念.类似的,关系数据库没有在列之间的次序的概念.所以,同级次序在下列文档中不是重要的: <part> <number>123</number> <desc>turkey wrench</desc> <price>10.95</price> </part> <part> <price>10.95</price> <desc>turkey wrench</desc> <number>123</number> </part> 它们都被映射成下列对象与表中的行: 对象 表 ========================= =================================== table parts object part { ------------------------------- number = 123 ==> number desc price desc = "turkey wrench" ------ ------------- ----- price = 10.95 123 turkey wrench 10.95 ... 下一页