Subject: Re[2]: [xsl] Trying to Detect corrupt data From: Arthur Maloney <ArthurM@xxxxxxxxxx> Date: Thu, 25 Oct 2007 09:45:42 +0100 |
Hello Andrew, Thursday, October 25, 2007, 9:35:29 AM, you wrote: > On 25/10/2007, Arthur Maloney <ArthurM@xxxxxxxxxx> wrote: >> Depending on user choice. The Xml file contains 500-50,000 row elements >> >> In the Xml file each row element contains between 2-15 agent elements >> (there is always more than 1). The agent name should be the same in all agent elements. >> >> >> >> Example of Xml file >> 1. AppicantNumber is always unique for each row element >> 2. row 1 is not corrupt. All agent names the same >> 3. rows 2 and 3 are corrupt. Contain more than one agent name (row2 >> contains 4 names, row3 2 names). >> >> <table> >> ... >> <row> >> <applicantNumber>56789</applicantNumber> >> <agent>John1</agent> >> <agent>John1</agent> >> <agent>John1</agent> >> <agent>John1</agent> >> </row> >> ... >> <row> >> <applicantNumber>127789</applicantNumber> >> <agent>John27</agent> >> <agent>John1</agent> >> <agent>Fred13</agent> >> <agent>John27</agent> >> <agent>John27</agent> >> <agent>John27</agent> >> <agent>Paul8</agent> >> <agent>John27</agent> >> </row> >> ... >> <row> >> <applicantNumber>16789345</applicantNumber> >> <agent>Fred9</agent> >> <agent>Fred9</agent> >> <agent>Fred9</agent> >> <agent>John1</agent> >> <agent>Fred9</agent> >> <agent>Fred9</agent> >> <agent>Fred9</agent> >> <agent>Fred9</agent> >> <agent>Fred9</agent> >> </row> >> ... >> </table> > You haven't shown any XSLT or given a clue to what version you're > using (which is always a good idea)... > However in this case the solution is probably the same for both: to > check the applicant number is unique define a key and check that it > only ever contains a single item with that value eg: > <xsl:key name="appNum" match="applicantNumber" use="."/> > and then when matching <row>: > count(key('appNum', applicantNumber)) = 1 > To check that all <agent>s contain the same value use: > agent != agent (one of the few times you want to use != ....!) > or maybe in 2.0: > count(distinct-values(agent) eq 1) > I hope this helps... > cheers Whoops I'm using v1.0 Thanks agent != agent should do me very well -- Best regards, Arthur mailto:ArthurM@xxxxxxxxxx
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Trying to Detect corrupt , Andrew Welch | Thread | RE: [xsl] Trying to Detect corrupt , Michael Kay |
Re: [xsl] Trying to Detect corrupt , Andrew Welch | Date | RE: [xsl] Trying to Detect corrupt , Michael Kay |
Month |