Subject: Re: removing unecessary attributes
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Tue, 1 Apr 2008 23:28:50 +0530
|
Your input is not a well-formed XML. Because attributes are not
enclosed in quotes.
Following approaches quickly come to my mind to handle this.
1) An XSLT process cannot get this input as a data model tree, as a
result of XML parsing. Because XML parser will reject this input.
One approach can be, you can use the XSLT 2.0 function, unparsed-text
to read this input as a string and then parse it by hand and do the
transformation you need. But this will not be trivial.
2) Make the input a well-formed XML. Doing this by hand could be
tedious. So you could use a tool like, HTML tidy
(http://tidy.sourceforge.net/).
After you get a well-formed XML as an input, then writing the XSLT
stylesheet for this requirement is quite easy. A modified identity
stylesheet will work here, easily.
On Tue, Apr 1, 2008 at 10:56 PM, Andreas Peter <info@xxxxxxxxxx> wrote:
> Hello list-users,
>
> I have the following file. The problems are the missing quotes for the
> attributes values and
> I need to remove all of the attributes.
>
> <table>
> <tr class=xl33 height=17 style='height:12.75pt'>
> <td height=17 class=xl37 style='height:12.75pt'>*00.09.1939</td>
> <td class=xl37> </td>
> <td class=xl38>KM<span style="mso-spacerun: yes"> </span>111</td>
> <td class=xl39 x:num>42</td>
> <td class=xl40 x:num>412</td>
> <td colspan=2 class=xl40 style='mso-ignore:colspan'> </td>
> <td class=xl40>Tender</td>
> <td class=xl40> </td>
> <td class=xl40>PL</td>
> <td class=xl40> </td>
> <td colspan=5 class=xl39 style='mso-ignore:colspan'> </td>
> <td class=xl38>Hela</td>
> <td class=xl39> </td>
> <td colspan=238 class=xl33 style='mso-ignore:colspan'> </td>
> </tr>
> </table>
>
> I know how to copy the tree and so on but the problems are the missing
> quotes.
> I get the error message "Open quote is expected for attribute "class"
> associated with an element type "tr".
>
> Using XSLT is it possible to create an output like the follownig?
>
> <table>
> <tr>
> <td>*00.09.1939</td>
> <td> </td>
> <td>KM 111</td>
> <td>42</td>
> <td>412</td>
> <td> </td>
> <td>Tender</td>
> <td> </td>
> <td>PL</td>
> <td> </td>
> <td> </td>
> <td>Hela</td>
> <td> </td>
> <td> </td>
> </tr>
> </table>
>
> Thanks for every hint,
> Andreas
--
Regards,
Mukul Gandhi
|