xsl-list
[Top] [All Lists]

[xsl] Saxon errors

2007-05-09 17:11:32
Hi All,

I am trying to parse a file (1.xml) that has the form:

1 <pfarr name="<?xml version="1.0" encoding="iso-8859-1"?>">
2 <pfarr name="dls">
3 <pfarr name="TA_H02A">
4 <pfstring name="aa">0.011</pfstring>
5 <pfstring name="br24">27705432.0</pfstring>
6 <pfstring name="bw24">1177050.0</pfstring>
7 <pfstring name="cale">-</pfstring>
8 <pfstring name="ce">100.000</pfstring>
9 <pfstring name="cld">0</pfstring>
10 <pfstring name="clq">l</pfstring>
11 <pfstring name="clt">0.000</pfstring>
12 <pfstring name="con">yes</pfstring>
13 <pfstring name="da">0.058</pfstring>
14 <pfstring name="dbc">0</pfstring>
15 <pfstring name="dbd">0</pfstring>
16 <pfstring name="dbu">0</pfstring>
17 <pfstring name="dg">0.000</pfstring>
18 <pfstring name="dlt">3.040</pfstring>
19 <pfstring name="dr">2606</pfstring>
20 <pfstring name="dt">15.000</pfstring>
21 <pfstring name="dv">13.500</pfstring>
22 <pfstring name="elev">0.2041</pfstring>
23 <pfstring name="gp1">0.000</pfstring>
24 <pfstring name="gp24">2.000</pfstring>
25 <pfstring name="gps">elck 3d</pfstring>
26 <pfstring name="gpss">-</pfstring>
27 <pfstring name="inp">udp:166.159.115.120:5332:L1:startacq:0:0</ pfstring>
28 <pfstring name="lat">44.676390</pfstring>
29 <pfstring name="lcq">100.000</pfstring>
30 <pfstring name="lon">-123.999687</pfstring>
31 <pfstring name="m0">4</pfstring>
32 <pfstring name="m1">-34</pfstring>
33 <pfstring name="m2">-8</pfstring>
34 <pfstring name="m3">-</pfstring>
35 <pfstring name="m4">-</pfstring>
36 <pfstring name="m5">-</pfstring>
37 <pfstring name="meme">0</pfstring>
38 <pfstring name="nc">3</pfstring>
39 <pfstring name="ni24">0.0</pfstring>
40 <pfstring name="nl24">2.0</pfstring>
41 <pfstring name="np24">2.0</pfstring>
42 <pfstring name="nr24">0.0</pfstring>
43 <pfstring name="nrb">51</pfstring>
44 <pfstring name="nrs">63</pfstring>
45 <pfstring name="opt">isp1</pfstring>
46 <pfstring name="pb">0.000</pfstring>
47 <pfstring name="pbr">0.000</pfstring>
48 <pfstring name="pkce">0</pfstring>
49 <pfstring name="pkp">10596</pfstring>
50 <pfstring name="pkse">0</pfstring>
51 <pfstring name="pt">1972</pfstring>
52 <pfstring name="rtm">10508.717</pfstring>
53 <pfstring name="sn">0100000B6980C3F2</pfstring>
54 <pfstring name="thr">56000</pfstring>
55 <pfstring name="tput">1.000</pfstring>
56 <pfstring name="trb">1171717136</pfstring>
57 <pfstring name="trs">1171717971</pfstring>
58 <pfstring name="vco">2056</pfstring>
59 </pfarr>
60 </pfarr>
61 <pfstring name="hostname">foley-4-72 132.239.4.72</pfstring>
62 <pfstring name="itvl">60</pfstring>
63 <pfstring name="model">q330</pfstring>
64 <pfstring name="orbc">132.239.4.72:39872</pfstring>
65 <pfstring name="pid">16279</pfstring>
66 <pfstring name="rtm">10818.125</pfstring>
67 <pfstring name="target">tadataHN</pfstring>
68 <pfstring name="type">dl</pfstring>
69 <pfstring name="ver">SunOS 4.8p  2:04 Feb 15, 2007</pfstring>
70 </pfarr>

This is one of many files in a summary XML file (summary.xml):

1 <?xml version="1.0" encoding="ISO-8859-1" ?>
2 <sources>
3     <source href="1.xml" />
4     <source href="2.xml" />
5     <source href="3.xml" />
6     <source href="4.xml" />
7 </sources>

My XSL script (convert.xsl):

      1 <?xml version="1.0" encoding="ISO-8859-1"?>
      2
3 <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/ 1999/XSL/Transform"> 4 <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
      5
      6 <xsl:template match="/">
      7     <xsl:variable name="alldataloggers">
      8     <alldataloggerlist>
9 <xsl:apply-templates select="document( sources/ source/@href, .)/pfarr/pfarr/pfarr" />
     10     </alldataloggerlist>
     11     </xsl:variable>
     12
     13     <xsl:variable name="dataloggers">
     14     <dataloggerlist>
15 <xsl:for-each select="$alldataloggers/ alldataloggerlist/datalogger">
     16             <xsl:sort select="@sortorder" order="ascending" />
     17             <xsl:copy-of select="."/>
     18         </xsl:for-each>
     19     </dataloggerlist>
     20     </xsl:variable>
     21
     22     <xsl:copy-of select="$dataloggers"/>
     23
     24 </xsl:template>
     25
     26 <!-- THIS GETS STATION NAME AND PARAMETER VALUES -->
     27 <xsl:template match="pfarr">
28 <xsl:variable name="runstat" select="pfstring[(_at_)name = 'con']" /> 29 <!-- <xsl:variable name="rtm" select="pfstring[(_at_)name = 'con']" /> -->
     30     <xsl:variable name="sortorder">
     31         <xsl:choose>
     32             <xsl:when test="$runstat = 'yes'">4</xsl:when>
     33             <xsl:when test="$runstat = 'waiting'">4</xsl:when>
     34             <xsl:when test="$runstat = 'su'">1</xsl:when>
     35             <xsl:when test="$runstat = 'reg'">1</xsl:when>
     36             <xsl:when test="$runstat = 'sleeping'">1</xsl:when>
37 <xsl:when test="$runstat = 'hibernating'">1</ xsl:when>
     38             <xsl:when test="$runstat = 'no'">1</xsl:when>
     39             <xsl:when test="$runstat = 'stopped'">0</xsl:when>
     40             <xsl:otherwise>1</xsl:otherwise>
     41         </xsl:choose>
     42     </xsl:variable>
43 <xsl:variable name="orderandname" select="concat ( $sortorder,substring-after(@name, '_'))" />
     44     <datalogger name="{(_at_)name}" sortorder="{$orderandname}">
     45         <xsl:apply-templates select="pfstring"/>
     46     </datalogger>
     47 </xsl:template>
     48
     49 <xsl:template match="pfstring">
     50     <xsl:element name="{(_at_)name}">
     51         <xsl:value-of select="." />
     52     </xsl:element>
     53 </xsl:template>
     54
     55 </xsl:stylesheet>


When I run Saxon (version 8.9J), I get the following errors:

saxon -o output.xml -s summary.xml convert.xsl
Error on line 1 of file: 1.xml:
SXXP0003: Error reported by XML parser: Use "&lt;" for "<" in attribute values.
Error on line 9 of file:convert.xsl:
FODC0005: org.xml.sax.SAXParseException: Use "&lt;" for "<" in attribute values.

No new (output.xml) file gets created. Should I just trash that header line (<pfarr name="<?xml version="1.0" encoding="iso-8859-1"? >">) if that is the problem?

Thanks in advance,
- Rob

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>