Swn-Y-Mor
asked on
Display XML in HTML Table and remove underscores
I have an xml file that I want to display in a HTML table. The XML file contains underscores in place of whitespace. I am trying to display 'Room Area 1' as opposed to 'Room_Area_1'
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MyData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PercentageComplete>
<RoomArea>Activities</Room Area>
<Percent>51.22</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_1</Roo mArea>
<Percent>62.82</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_2</Roo mArea>
<Percent>82.67</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_3</Roo mArea>
<Percent>74.12</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_4</Roo mArea>
<Percent>70.79</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_5</Roo mArea>
<Percent>77.78</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_6</Roo mArea>
<Percent>68.6</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_7</Roo mArea>
<Percent>87.32</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_8</Roo mArea>
<Percent>49.44</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_9</Roo mArea>
<Percent>68.48</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_10</Ro omArea>
<Percent>41.58</Percent>
</PercentageComplete>
</MyData>
Can someone please show me the correct html to output this table without displaying the underscores such as 'Room_Area_1' into 'Room Area 1'
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MyData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PercentageComplete>
<RoomArea>Activities</Room
<Percent>51.22</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_1</Roo
<Percent>62.82</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_2</Roo
<Percent>82.67</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_3</Roo
<Percent>74.12</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_4</Roo
<Percent>70.79</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_5</Roo
<Percent>77.78</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_6</Roo
<Percent>68.6</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_7</Roo
<Percent>87.32</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_8</Roo
<Percent>49.44</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_9</Roo
<Percent>68.48</Percent>
</PercentageComplete>
<PercentageComplete>
<RoomArea>Room_Area_10</Ro
<Percent>41.58</Percent>
</PercentageComplete>
</MyData>
Can someone please show me the correct html to output this table without displaying the underscores such as 'Room_Area_1' into 'Room Area 1'
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You don't really indicate which technology you are using
In XSLT you would use translate(., '_', ' ') as in the below example
(the below example is a full working XSLT for getting your XML into a HTML table)
In JavaScript you would use roomarea.replace("_", " ")
given that roomarea is the string value of your element content
In XSLT you would use translate(., '_', ' ') as in the below example
(the below example is a full working XSLT for getting your XML into a HTML table)
In JavaScript you would use roomarea.replace("_", " ")
given that roomarea is the string value of your element content
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="MyData">
<html>
<body>
<table border="1">
<xsl:apply-templates select="PercentageComplete"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="PercentageComplete">
<tr>
<td><xsl:value-of select="translate(RoomArea, '_', ' ')"/></td>
<td><xsl:value-of select="Percent"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
The replace Function only replaces the first occurrence unless regular expressions are used
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER