EJB3的XML Schema第五讲

紧接上文:
<xsd:sequence>
<xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="ejb-relation-name" type="javaee:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
ejb-relation-name 元素为关系在ejb-jar 文件中提供了一个唯一的名字。
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ejb-relationship-role" type="javaee:ejb-relationship-roleType"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<xsd:complexType name="ejb-relationship-roleType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
ejb-relationship-roleType 描述了一个关系内的角色。每个关系都有两个角色。ejb-relationship-roleType 包含了一个可选的描述;一个可选的关系角色名称; 一个角色多边规范;一个可选的用于角色的层级删除规范;角色源;和一个cmr-field 的声明,如果有的话,根据从角色源的视角看关系的哪个其他边被访问。多边和role-source 元素是必需的。relationship-role-source 元素通过ejb-name 元素指派一个 实体bean。对于双向关系,关系的两个角色都必须声明一个relationship-role-source 元素,它根据哪个关系被反问来指定cmr-field。在ejb-relationship-role 中没有指定cmr-field 元素说明关系是单向的,且参与关系的实体bean 不知道这个关系。
例如:
<ejb-relation>
<ejb-relation-name>Product-LineItem</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>product-has-lineitems</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>ProductEJB</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description" type="javaee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="ejb-relationship-role-name" type="javaee:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
ejb-relationship-role-name 元素定义了在ejb-relation 中唯一的角色名称。不同的关系可以使用同一个角色名。
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="multiplicity" type="javaee:multiplicityType"/>
<xsd:element name="cascade-delete" type="javaee:emptyType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
cascade-delete 元素在特定的关系中指定了一个或多个实体bean 的生命期是依赖于另一个实体bean 的生命期。cascade-delete 元素指定在包含在ejb-relation元素中的ejb-relationship-role 元素, 在ejb-relation 元素中其他的ejb-relationship-role 元素指定了一对多的多方。
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="relationship-role-source" type="javaee:relationship-role-sourceType"/>
<xsd:element name="cmr-field" type="javaee:cmr-fieldType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<xsd:complexType name="enterprise-beansType">
<xsd:annotation>
<xsd:documentation>
enterprise-beansType 声明了一个或多个企业bean。每个企业bean 可以是会话,实体或消息驱动bean。
</xsd:documentation>
</xsd:annotation>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="session" type="javaee:session-beanType">
<xsd:unique name="session-ejb-local-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
ejb-ref-name 元素包含了EJB 引用的名字。EJB 引用是组件环境的一个条目,它相对于java:comp/env 上下文。这个名字在组件内必须是唯一的。建议这个名字以”ejb/”开头。
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:ejb-local-ref"/>
<xsd:field xpath="javaee:ejb-ref-name"/>
</xsd:unique>
<xsd:unique name="session-ejb-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
ejb-ref-name 元素包含了EJB 引用的名字。EJB 引用是组件环境的一个条目,它相对于java:comp/env 上下文。这个名字在组件内必须是唯一的。建议这个名字以”ejb/”开头。
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:ejb-ref"/>
<xsd:field xpath="javaee:ejb-ref-name"/>
</xsd:unique>
<xsd:unique name="session-resource-env-ref-uniqueness">
<xsd:annotation>
<xsd:documentation>
resource-env-ref-name 元素指定了资源环境引用的名字;它的值是在组件代码中使用的环境条目名称。这个名字是相对于java:comp/env 上下文的JNDI 名,在组件中必须唯一。
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:resource-env-ref"/>
<xsd:field xpath="javaee:resource-env-ref-name"/>
</xsd:unique>
<xsd:unique name="session-message-destination-ref-uniqueness">
<xsd:annotation>
<xsd:documentation>
message-destination-ref-name 元素指定了消息目的地引用的名称;它的值是在组件代码中使用的消息目的地名称。这个名字是相对于java:comp/env 上下文的JNDI 名,在组件中必须唯一。
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:message-destination-ref"/>
<xsd:field xpath="javaee:message-destination-ref-name"/>
</xsd:unique>
<xsd:unique name="session-res-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
res-ref-name 指定了资源管理器连接工厂引用的名称。这个名字是相对于java:comp/env 上下文的JNDI 名,在组件中必须唯一。
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:resource-ref"/>
<xsd:field xpath="javaee:res-ref-name"/>
</xsd:unique>
<xsd:unique name="session-env-entry-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
env-entry-name 元素包含了组件环境条目的名字。这个名字是相对于java:comp/env 上下文的JNDI 名,在组件中必须唯一。
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="javaee:env-entry"/>
<xsd:field xpath="javaee:env-entry-name"/>
</xsd:unique>
</xsd:element>
<xsd:element name="entity" type="javaee:entity-beanType">
<xsd:unique name="entity-ejb-local-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
ejb-ref-name 元素包含了EJB 引用的名字。EJB 引用是组件环境的一个条目,它相对于java:comp/env 上下文。这个名字在组件内必须是唯一的。建议这个名字以”ejb/”开头。
</xsd:documentation>
</xsd:annotation>

你可能感兴趣的:(xml,bean,ejb)