元素导入是导入命名空间和导入的可打包元素之间的直接关系。它允许使用元素名称引用元素,而不使用限定符。元素导入用于选择性地导入单个元素,而不依赖于包导入。
可打包元素的名称或其别名将被添加到导入命名空间的命名空间中。它通过引用工作,这意味着不可能向元素导入本身添加功能,但是可以在导入它的命名空间中修改引用的元素。
可以使用元素或包导入来控制其他命名空间是否可以进一步导入导入的元素。元素导入的可见性可能与导入元素的可见性相同或更受限制。元素导入的可见性可以是公共的,也可以是私有的。
默认可见性与导入元素的可见性相同。如果导入的元素没有可见性,可以将可见性添加到元素导入中。默认值是公共的。
如果名称与导入命名空间中的外部名称冲突(在封闭命名空间中定义的元素在封闭命名空间中使用其非限定名称可用),外部名称被元素导入隐藏,非限定名称指导入的元素。外部名称可以使用其限定名称来访问。
如果由于元素导入或包导入而将多个同名元素导入命名空间,则这些元素不会添加到导入命名空间中,并且这些元素的名称必须经过限定才能在该命名空间中使用。如果导入元素的名称与导入命名空间拥有的元素的名称相同,则该元素不会添加到导入命名空间中,并且该元素的名称必须经过限定才能使用。
lias指定应该添加到导入包的命名空间中的名称,而不是导入的可打包元素的名称。别名不得与导入包中的任何其他成员名称冲突。默认情况下,不使用别名。
从导入命名空间到导入的元素,使用带开放箭头的虚线箭头显示元素导入。请注意,虽然它看起来完全像依赖关系和使用关系,但它是一个完全独立的定向关系。
如果导入的可见性是公开的,则 关键字“ import”将显示在虚线箭头附近,而关键字“ access”则用于指示 私有可见性。如果imported元素不是包,则关键字可以可选地以element开头,即<<element import>>。
从Domain包中公开导入PageInfo元素,并私有导入SortInfo元素。
可以通过元素导入在导入包中使用的元素可能具有不同的颜色或调暗,以表示不能修改它们
别名名称可以显示在关键字<<import>>之后或下面。
作为虚线箭头的另一种选择,它可以显示一个元素导入,方法是使用一个文本,该文本在名称空间名称下面或后面的花括号中唯一标识导入的元素。这种情况下的语法可以描述为(注意,这是我修改过的语法):
element-import ::= '{' ( 'element import' | 'element access' ) qualified-name [ 'as' alias ] '}'
|