Thank you all so much for your help. The example data was not correct as you
pointed out. The input and desired output should have been as follows:
Input
<Registration>
<UserName>DID1901</UserName>
<ActivityType>25</ActivityType>
<ActivityDate>2008-10-30T12:10:26</ActivityDate>
<RegistrationCounty>19</RegistrationCounty>
<Registrants>
<Registrant>
<Entity>
<Individual>
<Prefix/>
<FirstName/>
<LastName/>
<Middle/>
<Suffix/>
</Individual>
<Business>
<MailingAddress>
<Address>
<MailingAddressType/>
<MailingAddressLine1>123
Street</MailingAddressLine1>
<MailingAddressLine2/>
</Address>
</MailingAddress>
</Business>
</Entity>
</Registrant>
</Registrants>
</Registration>
Output
<Registration>
<UserName>DID1901</UserName>
<ActivityType>25</ActivityType>
<ActivityDate>2008-10-30T12:10:26</ActivityDate>
<RegistrationCounty>19</RegistrationCounty>
<Registrants>
<Registrant>
<Entity>
<Business>
<MailingAddress>
<Address>
<MailingAddressType/>
<MailingAddressLine1>123
Street</MailingAddressLine1>
<MailingAddressLine2/>
</Address>
</MailingAddress>
</Business>
</Entity>
</Registrant>
</Registrants>
</Registration>
In this case there only needs to be either <Individual> or <Business> under
<Entity>. Either the registration is for an individual or business. Both
should not exist in the same file. Because the business registration
information is being pulled from a legacy system certain information required
in the XML may not be available, such as <MailingAddressType/> and
<MailingAddressLine2/> as in the preceding example. However, if any descendant
element of a child has a text value such as <MailingAddressLine1>123
Street</MailingAddressLine1> it's parent and siblings all need to be copied
even if those siblings have no text value the nodes need to be copied. If no
descendant elements have a text value as is the case with <Individual> that
node and all descendant nodes of that element need to be stripped out. Wow, I
hope that wasn't too confusing.
All the templates I have used thus far will strip out any element with no text
value, which removes the needed (dare I say required) elements of
<MailingAddressType/> and <MailingAddressLine2/> under the <Address> element.
I really appreciate all the help!!!
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--