模型是用来表示各种东西的数据。模型的结构和XML类似,是由属性和子节点构成的,因此模型可以使用XML编写。
因为模型是用来表示各种东西的,而任何东西也可以被称为事物或对象,所以模型也称为事物、事物模型或对象。
<?xml version="1.0" encoding="utf-8"?> <Shell name="HelloWorld" descriptors="xworker.swt.widgets.Shell" text="Hello World" RESIZE="true" width="800" height="600"> <FillLayout name="FillLayout"></FillLayout> <Browser name="Browser" url="http://www.xworker.org" WEBKIT="true"></Browser> </Shell>
上面的XML是一个模型,可以看到它是以属性和子节点构成的。
在动态模型编程中,每一个模型都有一个name属性,用来表示它的名字。
为了能够定位到每一个模型节点,每一个模型节点都有一个不变的标识。通常标识的值和名字一样,但如果同级(作为子节点时)的节点包含相同的名字,那么应该设置标识属性。
<?xml version="1.0" encoding="utf-8"?> <ProjectSet descriptors="xworker.ide.worldExplorer.things.ProjectSet"> <ProjectDir name="xworker_app" _xmeta_id_="XWorker_app" isThingRoot="true"> </ProjectDir> <ProjectDir name="xworker_core" isThingRoot="true"></ProjectDir> </ProjectSet>
如上面的代码中,name="xworker_app"的节点的标识是XWorker_app,其中属性名_xmeta_id_是标识的属性名字,而name="xworker_core"的属性name和标识一样,所以_xmeta_id_属性可以不设置。
任何一个模型的节点都有一个唯一的路径,通过路径可以快速定位到一个模型节点。
路径的规则是<目录>.<模型名>/@<节点标识>/@<节点标识>/....,比如_local.xworker.worldExplorer.ProjectSet/@XWorker_app中,_local.xworker.worldExplorer是目录,即对应文件系统的_local/xworker/worldExplorer/目录,模型代码文件名是ProjectSet.dml,这个路径指向的是一个子节点,子节点的标识是XWorker_app。
由于节点的表示是模型节点路径的一部分,是访问一个模型节点的方法,所以不要随意修改模型的节点,以避免路径的失效不能访问。
Copyright © 2007-2014 XWorker.org 版权所有