Subject: Re: [xsl] removing unecessary attributes From: Andreas Peter <info@xxxxxxxxxx> Date: Tue, 01 Apr 2008 21:52:22 +0200 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] removing unecessary attri, Mukul Gandhi | Thread | Re: [xsl] removing unecessary attri, Michael Ludwig |
Re: [xsl] removing namespaces, Garvin Riensche | Date | [xsl] Counting occurences of a char, Christian Roth |
Month |