Hi,

I want to ensure that the repository.xml-file is "syntactically" (is that english) correct. So I am trying to validate it against its dtd with the following code:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(true);
        
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(new ErrorHandler() {
        // some error handling code here
});
Document doc = builder.parse(new File(repositoryFile));

Whenever I start this with my repositoy.xml file I get the following messages:

ERROR: 30:-1 :org.xml.sax.SAXParseException: In Element "class-descriptor" ist hier "reference-descriptor" nicht zul�ssig.
[ojb-generator] ERROR: 40:-1 :org.xml.sax.SAXParseException: In Element "class-descriptor" ist hier "reference-descriptor" nicht zul�ssig.


So it seems that there is an error in my xml-file: but it works fine and the repository.dtd says that "referecne-descriptor" should be a valid element.

Nontheless the application is running fine with my repository.xml-file - so I don't think there is an error. For those who are interested I attach the repository_user.xml file.

What am I missing ?

Thanks for any help.
Tino



	
<class-descriptor class="kos.om.Person" table="Person"> 
	<field-descriptor name="id" column="PE_ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
	<field-descriptor name="name" column="PE_NAME" jdbc-type="VARCHAR"/>
	<field-descriptor name="description" column="PE_Beschreibung" jdbc-type="LONGVARCHAR"/>
	<field-descriptor name="surname" column="PE_SURNAME" jdbc-type="VARCHAR"/>
	<field-descriptor name="birthPlaceId" column="PE_Geburtsort" jdbc-type="INTEGER" access="anonymous"/>
	<field-descriptor name="creationDate" column="PE_ErstDatum" jdbc-type="TIMESTAMP"/>
	<field-descriptor name="birthDay" column="PE_Geburtstag" jdbc-type="DATE"/>
	<field-descriptor name="deleted" column="PE_geloescht" jdbc-type="BIT"/>
	<field-descriptor name="fatherId" column="PE_Vater" jdbc-type="INTEGER" access="anonymous"/>
	
	<!-- N:M - Relation -->
	<collection-descriptor
		name="departments"
		element-class-ref="kos.om.Department"
		auto-retrieve="true"
		auto-update="true"
		auto-delete="false"
		proxy="true"
		indirection-table="Department_Person">
		
		<fk-pointing-to-this-class column="DEPE_Person"/>
		<fk-pointing-to-element-class column="DEPE_Department"/>
		
		<attribute attribute-name="reverseCollection" attribute-value="persons"/>
	</collection-descriptor>
	
	<!-- 1: N - Relation: 1er Seite -->
	<reference-descriptor 
	    name="birthPlace" 
	    class-ref="kos.om.City"
	    auto-retrieve="true"
	    auto-update="true">
    	<foreignkey field-ref="birthPlaceId"/>
    	
    	<attribute attribute-name="reverseCollection" attribute-value="bornPeoples"/>
    </reference-descriptor>	
    
    <reference-descriptor 
        name="father" 
        class-ref="kos.om.Person"
        auto-retrieve="true"
        auto-update="true">
    	<foreignkey field-ref="fatherId"/>
    </reference-descriptor>
    
    <collection-descriptor 
    	name="children" 
    	element-class-ref="kos.om.Person"
    	auto-retrieve="true"
    	auto-update="true"
    	proxy="true">
    	<inverse-foreignkey field-ref="fatherId"/>
    </collection-descriptor> 	
</class-descriptor>

<class-descriptor class="kos.om.Department" table="Department">
	<field-descriptor name="id" column="DE_ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
	<field-descriptor name="name" column="DE_NAME" jdbc-type="VARCHAR"/>
	
	<collection-descriptor
         name="persons"
         elemgent-class-ref="kos.om.Person"
         auto-retrieve="true"
         auto-update="false"
         indirection-table="Department_Person">
         
         <fk-pointing-to-this-class column="DEPE_Department"/>
         <fk-pointing-to-element-class column="DEPE_Person"/>
         
         <attribute attribute-name="reverseCollection" attribute-value="departments"/>
     </collection-descriptor>
     
     <collection-descriptor
     	name="subDepartments"
     	element-class-ref="kos.om.Department"
     	auto-retrieve="true"
     	auto-update="false"
     	indirection-table="Department_Department">
     	
     	<fk-pointing-to-this-class column="DEDE_Master"/>
     	<fk-pointing-to-element-class column="DEDE_Detail"/>
     	
     	<attribute attribute-name="reverseCollection" attribute-value="parentDepartments"/>
     </collection-descriptor>
     
     <collection-descriptor
     	name="parentDepartments"
     	element-class-ref="kos.om.Department"
     	auto-retrieve="true"
     	auto-update="false"
     	indirection-table="Department_Department">
     	
     	<fk-pointing-to-this-class column="DEDE_Detail"/>
     	<fk-pointing-to-element-class column="DEDE_Master"/>
     	
     	<attribute attribute-name="reverseCollection" attribute-value="subDepartments"/>
     </collection-descriptor>
</class-descriptor>


<class-descriptor class="kos.om.City" table="City">
	<field-descriptor name="id" column="CI_ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
	<field-descriptor name="name" column="CI_Name" jdbc-type="VARCHAR"/>
	
	
	<collection-descriptor name="bornPeoples" element-class-ref="kos.om.Person">
         <inverse-foreignkey field-ref="birthPlaceId"/>
         
         <attribute attribute-name="reverseReference" attribute-value="birthPlace"/>
    </collection-descriptor>
</class-descriptor>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to