Subject: Re: [xsl] removing nodes to parent based on all child nodes not having text value From: "Cindy Lard" <Cindy.Lard@xxxxxxxxxxx> Date: Fri, 05 Dec 2008 09:32:19 -0600 |
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!!!
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] removing nodes to parent , G. Ken Holman | Thread | Re: [xsl] removing nodes to parent , G. Ken Holman |
[xsl] Announce: Hands-on XSLT, XSL-, G. Ken Holman | Date | RE: [xsl] Keep-with-previous.within, NINN (Niels Nygaard |
Month |