前页 后页

遍历示例

如果您不熟悉使用Schema Composer for NIEM,请花些时间阅读这些示例。每个示例均包含重要信息,这些信息将有助于确保模型使用有效的NIEM子集,这些子集最终将产生有效的XML模式文件。

示例1:添加类和选择属性

该“演练”示例演示了如何使用Enterprise Architect的Schema Composer执行添加类和选择要包含在NIEM子集程序包中的属性的基本操作。

描述

1个

打开一个Enterprise Architect项目,其中包含NIEM 4.0参考模型以及NIEM MPD类型。

如果没有这样的项目,请使用“模型向导”打开一个新项目并加载“参考模型”和“ MPD类型”。

2

使用模型向导,将NIEM 4 IEPD Starter Model的新副本添加到项目中。

您应该将对象实例“ NIEM-MPD”重命名为更有意义的名称。生成MPD时,此对象实例的名称用于命名在其中创建MDP的根文件夹。

如果愿意,也可以将包“ NIEM 4 Starter Model”重命名为更合适的名称。

3

入门模型包含一个名为“ Schema Composer概要文件-NIEM子集”的Schema Composer工件。在“浏览器”窗口中找到该工件,然后双击它。这将打开Schema Composer并加载配置文件“ Schema Composer配置文件-NIEM子集”。

Schema Composer的下部包含三列。从左到右,它们分别标记为“类”,“属性”和“模式”。

4

使用浏览器窗口,在NIEM 4.0参考模型中找到“ niem-core”软件包。

在该包中,找到“飞机类型”类。

将“ AircraftType”拖放到Schema Composer的左列(标记为“ Classes”)。

您会注意到,“ ConveyanceType”和“ ItemType”类已自动添加到“类”列表中。

“ ItemType”和“ ConveyanceType”是派生“ AircraftType”的超类型。

5

在“类别”列中选择AircraftType。

您会注意到,中间一列“属性”显示了属于该类的属性的完整列表。

父类的属性也被列出。

要将属性包括在子集模式中,只需在其旁边放置一个选中标记即可。

(您应该只选择“类别”列表中当前选择的类别的属性。

如果需要父类的属性,请选择该类,然后选择其属性。)

选中AircraftTailIdentification旁边的复选标记。 AircraftTailIdentification的类型为IdentificationType。

请注意,IdentificationType已添加到“类”列表中。

Enterprise Architect自动将那些作为您选择的属性类型引用的分类器添加到“类”列表中。

6

在Schema Composer的左列中选择Class IdentificationType。

在中心列中,在属性IdentificationID旁边放置一个复选标记。 IdentificationID的类型为“字符串”。 “字符串”类型是原始类型-不会添加到“类”列表中。

7

现在,在Schema Composer的左列中选择Class ConveyanceType。

将复选标记放在属性ConveyanceMotorizedIndicator旁边。

“布尔”类型是基本类型-不会添加到“类”列表中。

8

在Schema Composer的左列中选择Class ItemType。

将复选标记放在属性ItemMakeName,ItemModelName和ItemModelYearDate旁边。

ProperNameTextType和TextType类型会自动添加到“类”列表中。 TextType是ProperNameTextType的基类。

9

单击“更新”按钮将所选的类和属性保存到配置文件,然后单击“生成”按钮。

在打开的窗口中,选择“ NIEM模型子集”,然后单击“生成”按钮。

系统将提示您选择要在其中创建子模型的Package。通常,您将选择作为Exchange模式包父级的包。在启动程序模型中,交换程序包名为“ MPD-Exchange”,其父程序包名为“ NIEM 4 Starter Model”,尽管您可能在第2步中已将其重命名。

选择软件包“ NIEM 4 Starter Model”,然后单击“确定”按钮。

注意:创建更复杂的模型时,您的子集可能包括来自几个不同的<< InformationModel >>包的类。 Enterprise Architect的Schema Composer将自动创建所需的目标程序包,并将您正在子设置的类复制到目标程序包中,该目标程序包的标记值“ targetNamespace”与从其获取原始类的源程序包的标记值匹配。子集<< InformationModel >>软件包将作为您选择作为生成目标的Package的子代创建。

10

生成完成后,展开目标<< InformationModel >>包。

您将看到所选的类及其简化的属性集。

示例2:使用关联类型

该“演练”示例演示了如何使用Enterprise Architect的Schema Composer将关联类型及其引用的类型添加到NIEM子程序包。

描述

1个

打开一个Enterprise Architect项目,其中包含NIEM 4.0参考模型以及NIEM MPD类型。

如果没有这样的项目,请打开一个新项目并使用“模型向导”加载“参考模型”和“ MPD类型”。

2

使用模型向导,将NIEM 4 IEPD Starter Model的新副本添加到项目中。

您应该将对象实例“ NIEM-MPD”重命名为更有意义的名称。生成MPD时,此对象实例的名称用于命名在其中创建MDP的根文件夹。

如果愿意,也可以将包“ NIEM 4 Starter Model”重命名为更合适的名称。

3

入门模型包含一个名为“ Schema Composer概要文件-NIEM子集”的Schema Composer工件。在“浏览器”窗口中找到该工件,然后双击它。这将打开Schema Composer并加载配置文件“ Schema Composer配置文件-NIEM子集”。

Schema Composer的下部包含三列。从左到右,它们分别标记为“类”,“属性”和“模式”。

4

使用浏览器窗口,在NIEM 4.0参考模型中找到“ niem-core”软件包。

在该程序包中,找到“ PersonLocationAssociationType”类。

将“ PersonLocationAssociationType”拖放到Schema Composer的左侧列(标记为“ Classes”)。

您会注意到中间的“属性”列显示了PersonLocationAssociationType.Attributes以及PersonLocationAssociationType.Associations。

在两个关联(位置和人员)旁边放置复选标记。

LocationType和PersonType类型会自动添加到Schema Composer的“类”列表中。

5

类PersonLocationAssociationType派生自超类型'nc:AssocationType',但是在这种情况下,该超类型不会自动添加到“类别”列表中。

如果要在生成的子集中包括超类型'nc:AssociationType'的任何属性,则必须手动将'nc:AssociationType'添加到Schema Composer的“类”列表中,然后选择所需的属性。

如果您不想专门包含“ nc:AssociationType”的属性,则无需将其添加到“类”列表中。

当最终从子程序包中生成模式文件时, Enterprise Architect将在需要时以及为“ nc:AssociationType”生成元素和类型定义,即使未明确建模也是如此。

6

单击更新按钮,然后单击生成按钮。

在打开的窗口中,选择“ NIEM模型子集”,然后单击“生成”按钮。

系统将提示您选择要在其中创建子模型的Package。通常,您将选择作为Exchange模式包父级的包。在启动程序模型中,交换程序包名为“ MPD-Exchange”,其父程序包名为“ NIEM 4 Starter Model”,尽管您可能在第2步中已将其重命名。

选择软件包“ NIEM 4 Starter Model”,然后单击“确定”按钮。

7

在子集模型中找到名为“ niem-core”的<< InformationModel >>程序包。在此程序包中创建NIEM PIM图,然后将此程序包中的三个类拖放到该图上。您会注意到,在PersonLocationAssociationType与PersonType和LocationType类型之间的关联上,属性“ Person”和“ Location”被建模为AssociationEnds。

示例3:使用替代组和财产持有人

该“演练”示例演示了如何使用Enterprise Architect的Schema Composer将替代组和属性所有者正确添加到NIEM子程序包中。

描述

1个

打开一个Enterprise Architect项目,其中包含NIEM 4.0参考模型以及NIEM MPD类型。

如果没有这样的项目,请打开一个新项目并使用“模型向导”加载“参考模型”和“ MPD类型”。

2

使用模型向导,将NIEM 4 IEPD Starter Model的新副本添加到项目中。

您应该将对象实例“ NIEM-MPD”重命名为更有意义的名称。生成MPD时,此对象实例的名称用于命名在其中创建MDP的根文件夹。

如果愿意,也可以将包“ NIEM 4 Starter Model”重命名为更合适的名称。

3

入门模型包含一个名为“ Schema Composer概要文件-NIEM子集”的Schema Composer工件。在“浏览器”窗口中找到该工件,然后双击它。这将打开Schema Composer并加载配置文件“ Schema Composer配置文件-NIEM子集”。

Schema Composer的下部包含三列。从左到右,它们分别标记为“类”,“属性”和“模式”。

4

使用浏览器窗口,在NIEM 4.0参考模型中找到“ niem-core”软件包。

在该包中,找到“飞机类型”类。

将“ AircraftType”拖放到Schema Composer的左侧列(标记为“ Classes”)。

您会注意到,类ConveyanceType和ItemType被自动添加到类列表中。

ItemType和ConveyanceType是派生AircraftType的超类型。

5

在Schema Composer的左侧列中选择“ AircraftType”类。

在中心列中,在属性AircraftWingColorAbstract旁边放置一个复选标记(注意,该属性未指定类型)。

将AircraftWingColorAbstractPropertyHolder类自动添加到“类”列表中。

6

在左侧栏中选择“ AircraftWingColorAbstractPropertyHolder”类。请注意,该类还有一个名为“ AircraftWingColorAbstract”的属性,未指定类型。该属性是为您预先选择的-应该保持选中状态。

只需在AircraftWingColorText旁边放置一个复选标记即可。

7

在这种情况下,属性AircraftWingColorAbstract是替换组的头,并提供客户端Class AircraftType和供应商Class AircraftWingColorAbstractPropertyHolder之间的连接。

AircraftWingColorText是将添加到AircraftType的实际属性(TextType类型)。

8

某些PropertyHolder类型将具有多个属性-替换组头,以及许多其他属性。必须始终在客户和供应商类别中选择作为替换组的头的属性。 Enterprise Architect在供应商类(PropertyHolder)中为您预先选择了此属性。然后,您只需要从要替换的供应商中选择属性即可代替替换组的标题。