Hi,
i need to write a
Java Program that will create an xml file based on the difference between two xml file.
For eg: say i have two xml files 1.xml and 2.xml .
1.xml
-----
<?xml version= '1.0'?>
<!DOCTYPE ADDRESSBOOK [
<!ELEMENT ADDRESSBOOK (PERSON)*>
<!ELEMENT PERSON (FIRSTNAME, COMPANY)>
<!ELEMENT FIRSTNAME (#PCDATA)>
<!ELEMENT COMPANY (#PCDATA)>
]>
<ADDRESSBOOK>
<PERSON>
<FIRSTNAME>Doe</FIRSTNAME>
<COMPANY>Doe Enterprise, Inc.</COMPANY>
</PERSON>
<PERSON>
<FIRSTNAME>Doe</FIRSTNAME>
<COMPANY>Doe Enterprise, Inc.</COMPANY>
</PERSON>
</ADDRESSBOOK>
2.xml
-------
<?xml version= '1.0'?>
<!DOCTYPE ADDRESSBOOK [
<!ELEMENT ADDRESSBOOK (PERSON)*>
<!ELEMENT PERSON (FIRSTNAME,EMAIL)>
<!ELEMENT FIRSTNAME (#PCDATA)>
<!ELEMENT EMAIL (#PCDATA)>
]>
<ADDRESSBOOK>
<PERSON>
<FIRSTNAME>Doe</FIRSTNAME>
<EMAIL>
john@doeenterprise.com</EMAIL>
</PERSON>
<PERSON>
<FIRSTNAME>Doe</FIRSTNAME>
<EMAIL>
john@doeenterprise.com</EMAIL>
</PERSON>
</ADDRESSBOOK>
Now i need to generate a third file 3.xml with the output as follows(In this file the elements common to 1.xml and 2.xml are deleted.Also they should be deleted only if there are no child elements for them.So here the PERSON elememt should not be deleted)
3.xml
-----
<?xml version= '1.0'?>
<!DOCTYPE ADDRESSBOOK [
<!ELEMENT ADDRESSBOOK (PERSON)*>
<!ELEMENT PERSON (COMPANY, EMAIL)>
<!ELEMENT COMPANY (#PCDATA)>
<!ELEMENT EMAIL (#PCDATA)>
]>
<ADDRESSBOOK>
<PERSON>
<COMPANY>Doe Enterprise, Inc.</COMPANY>
<EMAIL>
john@doeenterprise.com</EMAIL>
</PERSON>
<PERSON>
<COMPANY>Doe Enterprise, Inc.</COMPANY>
<EMAIL>
john@doeenterprise.com</EMAIL>
</PERSON>
</ADDRESSBOOK>
I should provide these files (ie,2 input files and one output file) as command line arguments .
Please revert as soon as possible
Thanks and Regards
Vidya