Listing 1
<?xml version="1.0" encoding="iso-8859-2"?>
<!DOCTYPE reply SYSTEM "../DTD/request-reply.dtd">
<reply station="MOBILE" id="12" time="10:03:20 09/01/2003">
<status time="10:03:20 09/01/2003" samples="0">
<parameter name="SYSTEM" >
<function type="DI" name="SETTINGS" value="262049"
unit=" " />
...........................
</parameter>
<parameter name="WIND" >
<function type="DI" name="VECT_SPEED" value="0.00"
unit="m/s">
...........................
</parameter>
<parameter name="SO2" >
<function type="DI" name="CONCEN" value="0.00"
unit="ug/m3" />
...........................
</parameter>
<parameter name="NO" >
<function type="DI" name="CONCEN" value="0.00"
unit="ug/m3" />
...........................
</parameter>
................................................
</status>
</reply>
Listing 2
<?xml version="1.0" encoding="iso-8859-2"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="http://xml.apache.org/xslt/java">
<xsl:output method="xml" version="1.0" indent="yes"
encoding="iso-8859-2"
cdata-section-elements="script"/>
<xsl:template match="status">
<xsl:element name="taglist">
<xsl:apply-templates select="parameter/function"/>
<xsl:apply-templates select="service"/>
</xsl:element>
</xsl:template>
<xsl:template match="parameter/function">
<xsl:element name="tag">
<xsl:attribute name="name"><xsl:call-template name=
"stationToUperCase"/>:<xsl:value-of
select="../@name"/>.<xsl:value-of
select="@name"/></xsl:attribute>
<xsl:attribute name="timestamp"><xsl:call-template
name="timeFormat"/></xsl:attribute>
<xsl:value-of select="@value"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Listing 3
<?xml version="1.0" encoding="iso-8859-2"?>
<taglist>
<tag name="MOBILE:SYSTEM.SETTINGS_STATION">
<source-address>MOBILE:SYSTEM.SETTINGS_STATION</
source-address>
<value-type>java.lang.Integer</value-type>
<values>
<value timestamp="09.01.2003 10:03:20">269</value>
</values>
</tag>
<tag name="MOBILE:WIND.SPEED">
<source-address>MOBILE:WIND.SPEED</source-address>
<value-type>java.lang.Double</value-type>
<values>
<value timestamp="09.01.2003 10:03:20">0.00</value>
</values>
</tag>
<tag name="MOBILE:WIND.DIRECTION">
<source-address>MOBILE:WIND.DIRECTION</source-address>
<value-type>java.lang.Double</value-type>
<values>
<value timestamp="09.01.2003 10:03:20">0.0</value>
</values>
</tag>
<tag name="MOBILE:SULPHUR.CONCENTRATION_SO2">
<source-address>MOBILE:SULPHUR.CONCENTRATION
_SO2</source-address>
<value-type>java.lang.Double</value-type>
<values>
<value timestamp="09.01.2003 10:03:20">0.00</value>
</values>
</tag>
..........................
</taglist>
Listing 4
public Document transform(Document documentJDOMEntree,
String xsltFile) throws Exception
{
TransformerFactory factory = TransformerFactory.
newInstance();
transformer = factory.newTransformer(new StreamSource
(xsltFile));
JDOMResult res = new JDOMResult();
transformer.transform(new JDOMSource(documentJDOMEntree),
res);
return res.getDocument();
}
Listing 5
<?xml version="1.0" encoding="iso-8859-2"?>
<display-data name="MAP">
<tag key="so2_MP1" name="SIMULATE::OCYH01CQ001ZM01"/>
<tag key="dust_MP1" name="SIMULATE::OCYH01CQ008ZM01"/>
<tag key="wind_MP1" name="SIMULATE::OCYH01CR001ZM01"/>
<tag key="door_MP1_DI" name="SIMULATE::OCYH01EG001ZS00"/>
<tag key="time_system" name="SIMULATE::SYSTEMTIME"/>
<tag key="time_MP1" name="SIMULATE::MP1TIME"/>
<tag key="station_name1" name="MS1 - Square"/>
</display-data>
Listing 6
<?xml version="1.0" encoding="iso-8859-2"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output method="xml" version="1.0" indent="yes"
encoding="windows-1250" cdata-section-elements="script"/>
<xsl:strip-space elements="*"/>
<xsl:template match="display-data">
<!--The measured values which will be displayed-->
<xsl:variable name="SO2.MP1"><xsl:value-of select="tag[@key='so2_MP1']/values/value"/></xsl:variable>
<xsl:variable name="DUST.MP1"><xsl:value-of select=
"tag[@key='dust_MP1']/values/value"/></xsl:variable>
<xsl:variable name="WIND.MP1"><xsl:value-of select=
"tag[@key='wind_MP1']/values/value"/></xsl:variable>
<xsl:variable name="DOOR.MP1"><xsl:value-of select=
"tag[@key='door_MP1_DI']/values/value"/></xsl:variable>
<xsl:variable name="STATIONAME1"><xsl:value-of select=
"tag[@key='station_name1']/values/value"/></xsl:
variable><xsl:variable name="angle1"><xsl:if
test="$WIND.MP1='????'">0</xsl:if><xsl:if
test="$WIND.MP1!='????'"><xsl:value-of
select="($WIND.MP1)-90"/></xsl:if></xsl:variable>
<xsl:variable name="DATE.SYSTEM"><xsl:value-of select=
"substring(tag[@key='time_system']/values/value,1,10)"
/></xsl:variable>
<xsl:variable name="WATCH.SYSTEM"><xsl:value-of select=
"substring(tag[@key='time_system']/values/value,12,8)"
/></xsl:variable>
<xsl:variable name="TIME.MP1"><xsl:value-of select=
"tag[@key='time_MP1']/values/value"/></xsl:variable>
<svg viewBox="0 0 800 600" width="100%" height="100%"
onload="blinking(event)">
<!--Here is SVG with maps and symbols to be displayed-->
</svg>
</xsl:template>
</xsl:stylesheet>