动态模型标记语言

1.与XML和HTML等标记语言基本类似

    动态模型的标记语言和XML、HTML等标记语言是基本类似的,模型可以用XML来表示。比如下面的模型代码。

<?xml version="1.0" encoding="utf-8"?>
  
<Shell name="HelloWorld" descriptors="xworker.swt.widgets.Shell" text="Hello World" width="640"
     height="480">
    <FillLayout name="FillLayout"></FillLayout>
    <Browser name="browser" url="http://www.x-meta.org"></Browser>
</Shell>

    标记语言是比较容易读懂的,比如上面的代码中第一个节点是一个Shell,有name、descriptors、text、width和height等属性,有FillLayout和Browser两个子节点等等,其中Browser是浏览器,浏览器中URL地址是http://www.x-meta.org。

2.模型

    在动态模型编程里把每一个节点以及其子节点当作一个模型,比如上面的代码中有<Shell .../>、<FillLayout.../>和<Browser .../>三个节点,它们是三个独立的模型,其中<Shell .../>模型包含了<FillLayout .../>和<Browser .../>两个子模型。

3.标签的定义也是模型

    与XML和HTML等标记语言不太一样的是,动态模型标记语言中的标签的定义也是模型,理论上可以放到任何地方(使用XML编码时有顺序限制)。比如下面的模型代码。

<Test>
    <thing name="Shell">
        <attribute name="name"/>
        <attribute name="text"/>
        <attribute name="width"/>
        <attribute name="height"/>
    </thing>
    <Shell descriptors="Test/@Shell" name="HelloWorld" text="Hello World"
          width="640" height="480"/>
</Test>

    比如在上面的模型代码中,节点<Shell .../>的标签Shell的定义是<thing name="Shell" .../>,它们可以写在同一个文档里。

3.1.descriptors属性

    在动态模型标记语言里,标签的定义称为描述者,在动态模型标记语言中描述者起到结构定义和行为定义的作用,因此描述者有时候也可以称为类,比如在上面的代码中<thing name="Shell" .../>可以称为是<Shell name="HelloWorld" .../>的类。

 

 

Copyright ©  2007-2017 XWorker.org  版权所有

沪ICP备08000575号