|
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 |