User: dsundstrom
  Date: 01/11/24 20:06:27

  Added:       src/resources/org/jboss/metadata jbosscmp-jdbc_3_0.dtd
  Removed:     src/resources/org/jboss/metadata jbosscmp-jdbc.dtd
  Log:
  moved jbosscmp-jdbc.dtd to version specific file jbosscmp-jdbc_3_0.dtd.
  
  Revision  Changes    Path
  1.1                  jboss/src/resources/org/jboss/metadata/jbosscmp-jdbc_3_0.dtd
  
  Index: jbosscmp-jdbc_3_0.dtd
  ===================================================================
  <?xml version='1.0' encoding='UTF-8' ?>
  
  <!--
  This is the XML DTD for the jbosscmp-jdbc deployment descriptor.
    <!DOCTYPE jbosscmp-jdbc PUBLIC
        "-//JBoss//DTD JBOSSCMP-JDBC 3.0//EN"
        "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd";>
  -->
  
  <!--
  The root element of JBossCMP-JDBC configuration files.
  -->
  <!ELEMENT jbosscmp-jdbc (defaults, enterprise-beans?, relationships?,
           dependent-value-classes?, type-mappings?)>
  
  <!--
  The optional defaults elements contains the default values for 
  entities, and relationships.
  -->
  <!ELEMENT defaults (datasource?, type-mapping?, create-table?, remove-table?,
           read-only?, time-out?, select-for-update?, pk-constraint?,
           preferred-relation-mapping?, read-ahead?)>
  
  
  <!--
  The optional datasource element contains the jndi-name used to lookup
  the datasource.  All database connections used by an entity or relation table are 
obtained from the datasource. 
  -->
  <!ELEMENT datasource (#PCDATA)>
  
  
  
  <!--
  Should the persistence manager attempt to create tables if they are 
  not present?
  
  The create-table element must be one of the two following:
           <create-table>true</create-table>
           <create-table>false</create-table>
  -->
  <!ELEMENT create-table (#PCDATA)>
  
  
  <!--
  Should the persistence manager attempt to remove tables during shutdown?
  
  The remove-table element must be one of the two following:
           <remove-table>true</remove-table>
           <remove-table>false</remove-table>
  -->
  <!ELEMENT remove-table (#PCDATA)>
  
  
  <!--
  Is the entity or cmp-field read-only?
  
  The read-only element must be one of the two following:
           <read-only>true</read-only>
           <read-only>false</read-only>
  -->
  <!ELEMENT read-only (#PCDATA)>
  
  
  <!--
  Specifies the ammount of time that a read-only field is considered
  valid (milliseconds).
  -->
  <!ELEMENT time-out (#PCDATA)>
  
  
  <!--
  Should select statements the SELECT ... FOR UPDATE syntax?
  
  The select-for-update element must be one of the two following:
           <select-for-update>true</select-for-update>
           <select-for-update>false</select-for-update>
  -->
  <!ELEMENT select-for-update (#PCDATA)>
  
  
  <!--
  Should a primary key constraint be added when creating tables?
  
  The pk-constraint element must be one of the two following:
           <pk-constraint>true</pk-constraint>
           <pk-constraint>false</pk-constraint>
  -->
  <!ELEMENT pk-constraint (#PCDATA)>
  
  
  <!--
  Specifies the preferred mapping style for relationships.
  
  The preferred-relation-mapping element must be one of the two following:
     <preferred-relation-mapping>foreign-key</preferred-relation-mapping>
     <preferred-relation-mapping>relation-table</preferred-relation-mapping>
  -->
  <!ELEMENT preferred-relation-mapping (#PCDATA)>
  
  <!--
  The read-ahead element can use either #PCDATA (true/false) or a 
  strategy, limit, and cache-size element, but not both.  This 
  is a problem for most parsers, because it has mixed types.
  We should change this synatx.
  -->
  
  <!--
  Specifies the read ahead strategy.
  
  The read-ahead element must be one of the following:
           <read-ahead>true</read-ahead>
  
           <read-ahead>false</read-ahead>
           
           <read-ahead>
              <strategy>none</strategy>
           </read-ahead>
  
           <read-ahead>
              <strategy>on-load</strategy>
              <limit>255</limit>
              <cache-size>1000</cache-size>
           </read-ahead>
  -->
  <!ELEMENT read-ahead ANY>
  
  <!--
  Specifies the strategy used to read-ahead data in queries.
  
  The strategy element must be one of the two following:
           <strategy>none</strategy>
           <strategy>on-load</strategy>
  -->
  <!ELEMENT strategy (#PCDATA)>
  
  
  <!--
  Specifies the number of entities that will be read in a single 
  read-ahead load query. This is effectively the page size. 
  -->
  <!ELEMENT limit (#PCDATA)>
  
  
  <!--
  Specifies the number of simultaneous queries that can be served by 
  the cache for an entity. 
  -->
  <!ELEMENT cache-size (#PCDATA)>
  
  
  <!--
  The enterprise-beans element contains the entity elements that will 
  be configured.
  -->
  <!ELEMENT enterprise-beans (entity+)>
  
  
  <!--
  The entity element contains the configuration of an entity
  -->
  <!ELEMENT entity (ejb-name, datasource?, type-mapping?, create-table?, 
           remove-table?, read-only?, time-out?, select-for-update?, 
           pk-constraint?, read-ahead?, table-name?, cmp-field*, 
           eager-load?, lazy-load-groups*, query*)>
  
  <!--
  Name of the entity being configured.  This must match an entity declared
  in the ejb-jar.xml file.
  -->
  <!ELEMENT ejb-name (#PCDATA)>
  
  
  <!--
  This is the name of the table that will hold data for this entity. 
  Each entity instance will be stored in one row of this table. 
  -->
  <!ELEMENT table-name (#PCDATA)>
  
  
  <!--
  The cmp-field element contains the configuration of a cmp-field.
  -->
  <!ELEMENT cmp-field (field-name, read-only?, time-out?, 
           column-name?, ((jdbc-type, sql-type) | (property+))? )>
  
  
  <!--
  Name of the cmp-field being configured.  This must match a cmp-field 
  declared for this entity in the ejb-jar.xml file.
  -->
  <!ELEMENT field-name (#PCDATA)>
  
  
  <!--
  The name of the column that will hold the data for this field.
  -->
  <!ELEMENT column-name (#PCDATA)>
  
  
  <!--
  This is the JDBC type that is used when setting parameters in a JDBC
  PreparedStatement or loading data from a JDBC ResultSet for this 
  cmp-field. The valid types are defined in java.sql.Types. 
  -->
  <!ELEMENT jdbc-type (#PCDATA)>
   
  
  <!--
  This is the SQL type that is used in create table statements for 
  this field. Valid sql-types are only limited by your database vendor. 
  -->
  <!ELEMENT sql-type (#PCDATA)>
  
  
  <!--
  The property element contains the configuration of a dependent
  value class property of a cmp-field that is the type of a dependent
  value class.
  -->
  <!ELEMENT property (property-name, column-name?, 
           (jdbc-type, sql-type)?)>
  
  
  <!--
  Name of the property being configured. In a dependent-value-class
  element this must match a JavaBean property of the class. In a
  cmp-field element this must match a flattened propety of the
  dependent-value-class field type.
  -->
  <!ELEMENT property-name (#PCDATA)>
  
  
  <!--
  Contains the fields that are eager loaded for this entity.
  -->
  <!ELEMENT eager-load (field-name*)>
  
  
  <!--
  Contains the groups of lazy load fields.
  -->
  <!ELEMENT lazy-load-groups (lazy-load-group+)>
  
  
  <!--
  A group of fields that will be lazy loaded together.
  -->
  <!ELEMENT lazy-load-group (description, field-name+)>
  
  
  <!--
  Descriptive text.
  -->
  <!ELEMENT description (#PCDATA)>
  
  
  <!--
  The query element contains the configuration of a query.
  -->
  <!ELEMENT query (description, query-method, declared-sql?)>
  
  
  <!--
  The query method that being configured.  This must match a 
  query-method declared for this entity in the ejb-jar.xml file.
  -->
  <!ELEMENT query-method (method-name, method-params)>
  
  
  <!-- 
  The name of the query method that is being configured.
  -->
  <!ELEMENT method-name (#PCDATA)>
  
  
  <!--
  The method-parameters contains the parameters of the method that is
  being configured. Method parameters must be in the same order as the
  method and have the same type.
  -->
  <!ELEMENT method-params (method-param*)>
  
  
  <!--
  The java class of one parameter for a query.
  
  An example follows:
     <method-param>java.lang.String</method-param>
  -->
  <!ELEMENT method-param (#PCDATA)>
  
  
  <!--
  Explicitly declared sql fragments.
  -->
  <!ELEMENT declared-sql (select?, from?, where?, order?)>
  
  <!--
  Delcares what is to be selected.  This element is only allowed
  for ejbSelect methods.
  -->
  <!ELEMENT select (distinct?, ejb-name, field-name?)>
  
  
  <!--
  Delared additional SQl to append to the generated from clause.
  
  Example:  <from>, FullAddressEJB as a</from>
  -->
  <!ELEMENT from (#PCDATA)>
  
  <!-- 
  If the empty distinct element is present, the SELECT DISTINCT 
  syntax will be used. This syntax is used by default for ejbSelect
  methods that return a java.util.Set.
  -->
  <!ELEMENT distinct EMPTY>
  
  
  <!--
  Declares the where clause for the query.
  
  Example: <where>TITLE={0} OR ARTIST={0} OR TYPE={0} OR NOTES={0}</where>
  -->
  <!ELEMENT where (#PCDATA)>
  
  
  <!--
  Declares the order clause for the query.
  
  Example: <order>TITLE</order>
  -->
  <!ELEMENT order (#PCDATA)>
  
  
  <!--
  The relationships element contains the ejb-relation elements that will 
  be configured.
  -->
  <!ELEMENT relationships (ejb-relation+)>
  
  
  <!--
  The ejb-relation element contains the configuration of an
  ejb-relation.
  -->
  <!ELEMENT ejb-relation (ejb-relation-name, 
           (foreign-key-mapping | table-mapping))>
  
  
  <!--
  Name of the ejb-relation being configured.  This must match an 
  ejb-relation declared in the ejb-jar.xml file.
  -->
  <!ELEMENT ejb-relation-name (#PCDATA)>
  
  
  <!--
  Specifies that the ejb-relation should be mapped with foreign-keys.
  This mapping is not available for many-to-many relationships.
  -->
  <!ELEMENT foreign-key-mapping
           (ejb-relationship-role, ejb-relationship-role)?>
  
  
  <!--
  The ejb-rejationship-role element contains the configuration of an
  ejb-relationship-role.
  -->
  <!ELEMENT ejb-relationship-role (ejb-relationship-role-name,
           (foreign-key-fields | table-key-fields))>
  
  
  <!--
  Name of the ejb-relationship-role being configured.  This must match
  an ejb-relationship-role declared for this ejb-relation in the 
  ejb-jar.xml file.
  -->
  <!ELEMENT ejb-relationship-role-name (#PCDATA)>
  
  
  <!--
  Contains the foreign key fields.
  -->
  <!ELEMENT foreign-key-fields (foreign-key-field*)>
  
  <!--
  The foreign-key-field element declared the configuration of a foreign
  key. The field-name element must match the field-name of one of the 
  primary key fields of the related element. This is similar to the 
  REFERANCES clause of a SQL foreign key declaration. 
  -->
  <!ELEMENT foreign-key-field (field-name, 
           ((column-name, (jdbc-type, sql-type)?) | (property*))
           )>
  
  
  <!--
  Specifies that the ejb-relation should be mapped with a 
  relation-table. This is the only mapping available for many-to-many
  relationships.
  -->
  <!ELEMENT table-mapping (table-name?, datasource?, create-table?, 
           remove-table?, select-for-update?, pk-constraint?,
           (ejb-relationship-role, ejb-relationship-role)?)>
  
  
  <!--
  Contains the table key fields.
  -->
  <!ELEMENT table-key-fields (table-key-field+)>
  
  
  <!--
  The table-key-field element declared the configuration of a table
  key. The field-name element must match the field-name of one of the 
  primary key fields of this element.
  -->
  <!ELEMENT table-key-field (field-name, 
           ((column-name, (jdbc-type, sql-type)?) | (property*))
           )>
  
  
  <!--There is a problem.  The table/foreign key mapping choice is 
  correlated with the table-key-fields/foreign-key-fields choices in
  ejb-relationship-role,-->
  
  
  <!--
  Contains the known dependene value classes.
  -->
  <!ELEMENT dependent-value-classes (dependent-value-class+)>
  
  
  <!--
  The dependent-value-class element contains the configuration of a
  dependent value class.
  -->
  <!ELEMENT dependent-value-class (description, class, property+)>
  
  
  <!--
  Name of the java class to which the dependent value class configuration 
  applies.
  -->
  <!ELEMENT class (#PCDATA)>
  
  
  <!--
  The type-mappings element contains the java to sql mappings.
  -->
  <!ELEMENT type-mappings (type-mapping+)>
  
  <!--
  The type-mapping element contains a named java to sql mapping.
  This includes both type mapping and function mapping.
  
  
  Should be:
  <!ELEMENT type-mapping (name, (function-mapping, mapping)+)>
  -->
  <!ELEMENT type-mapping ANY>
  
  <!--
  Name of the type-mapping.
  -->
  <!ELEMENT name (#PCDATA)>
  
  <!--
  Specifies the mapping from a java type to a jdbc and a sql type.
  -->
  <!ELEMENT mapping (java-type, jdbc-type, sql-type)>
  
  <!-- 
  Specifies the java class type to be mapped.
  -->
  <!ELEMENT java-type (#PCDATA)>
  
  <!--
  Specifies the mapping from an EJB-QL function to a sql function.
  -->
  <!ELEMENT function-mapping (function-name, function-sql)>
  
  <!--
  The name of the function to be mapped.
  -->
  <!ELEMENT function-name (#PCDATA)>
  
  <!--
  The sql to which the function is mapped.  The sql can contain
  parameters specified with a question mark followed by the base one
  parameter number.  For example, function mapping for concat in Oracle
  follows:
  
  <function-mapping>
     <function-name>concat</function-name>
     <function-sql>(?1 || ?2)</function-sql>
  </function-mapping>
  -->
  <!ELEMENT function-sql (#PCDATA)>
  
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to