Subject: [xsl] passing_vars_as_counters From: mankar@xxxxxxxxxxxxxxx Date: Sat, 31 Jul 2004 18:35:15 +0300 |
Hallo, i am generating dynamically xml outputs from oracle which have the following structure. Each SHAPE element has exactly one ELEM_INFO child and one COORDINATES child. Each ELEM_INFO element has an odd number of ELEM_INFO_ITEM children.Each three sequential ELEM_INFO_ITEM children describe a differrent sub_element of the overall shape,so i 've separated them in triplets just to show you this. The first ELEM_INFO_ITEM element of each triplet contains a number (1, 7 and 11 in this example).These numbers denote the position, in the latter COORDINATES_ITEM SET, where coordinates referring to differrent sub_elements start. For example,the <ELEM_INFO_ITEM>1</ELEM_INFO_ITEM> of the first triplet, denotes that coordinates referring to the first sub_element(1001) start from the first COORDINATES_ITEM element in the COORDINATES_ITEM set which is <COORDINATES_ITEM>68</COORDINATES_ITEM>. Similarly the <ELEM_INFO_ITEM>7</ELEM_INFO_ITEM> of the second triplet denotes that coordinates referring to the second sub_element(1002) start from the seventh COORDINATES_ITEM element in the COORDINATES_ITEM set which is <COORDINATES_ITEM>20</COORDINATES_ITEM> etch.. I just want to use xslt to mark the positions of these COORDINATE_ITEM elements. To be more specific i need to generate exactly the same document except for that the specific COORDINATE_ITEM elements will also contain a character like d, for example concatenated with their number value so that they are clearly discriminated from the other COORDINATE_ITEM elements. The source xml is the one following: <SHAPE> - <ELEM_INFO> <ELEM_INFO_ITEM>1</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>1001</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>5000</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>7</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>1002</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>5000</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>11</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>1003</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>5000</ELEM_INFO_ITEM> </ELEM_INFO> - <COORDINATES> <COORDINATES_ITEM>68</COORDINATES_ITEM> <COORDINATES_ITEM>54</COORDINATES_ITEM> <COORDINATES_ITEM>72/COORDINATES_ITEM> <COORDINATES_ITEM>65</COORDINATES_ITEM> <COORDINATES_ITEM>83</COORDINATES_ITEM> <COORDINATES_ITEM>17</COORDINATES_ITEM> <COORDINATES_ITEM>20</COORDINATES_ITEM> <COORDINATES_ITEM>60</COORDINATES_ITEM> <COORDINATES_ITEM>24</COORDINATES_ITEM> <COORDINATES_ITEM>55</COORDINATES_ITEM> <COORDINATES_ITEM>98</COORDINATES_ITEM> <COORDINATES_ITEM>25</COORDINATES_ITEM> <COORDINATES> </SHAPE> The desired xml should look like this:a d character is just added in the content of each of the specified positions, so that the position of the COORDINATES_ITEM element denoting the starting coordinate of a diferrent sub_element is clearly specified. <SHAPE> - <ELEM_INFO> <ELEM_INFO_ITEM>1</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>1001</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>5000</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>7</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>1002</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>5000</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>11</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>1003</ELEM_INFO_ITEM> <ELEM_INFO_ITEM>5000</ELEM_INFO_ITEM> </ELEM_INFO> - <COORDINATES> <COORDINATES_ITEM>d68</COORDINATES_ITEM> <COORDINATES_ITEM>54</COORDINATES_ITEM> <COORDINATES_ITEM>72/COORDINATES_ITEM> <COORDINATES_ITEM>65</COORDINATES_ITEM> <COORDINATES_ITEM>83</COORDINATES_ITEM> <COORDINATES_ITEM>17</COORDINATES_ITEM> <COORDINATES_ITEM>d20</COORDINATES_ITEM> <COORDINATES_ITEM>60</COORDINATES_ITEM> <COORDINATES_ITEM>24</COORDINATES_ITEM> <COORDINATES_ITEM>55</COORDINATES_ITEM> <COORDINATES_ITEM>d98</COORDINATES_ITEM> <COORDINATES_ITEM>25</COORDINATES_ITEM> <COORDINATES> </SHAPE> Can this be achieved through xslt.Note that the source xml is generated dynamically, so i can't foreknow how many triplets representing the diferrent sub-elemets appear in it. Regards Manousos Athens
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] How to process elements w, Michael Kay | Thread | [xsl] passing_cousin_content_as_cou, mankar |
Re: [xsl] EXSLT extension function, cking | Date | Re: [xsl] EXSLT extension function, Chris Loschen |
Month |