Subject: RE: [xsl] Saxon errors From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 10 May 2007 08:41:30 +0100 |
Saxon is telling you that the XML parser has found an error in your XML document. Your first step is to get out of denial: title your post "my errors" not "Saxon errors". You certainly need to correct the well-formedness error in your first line (XSLT can only handle well-formed XML input). You also need to look for the root cause: where did that file come from, who is generating ill-formed (non-)XML and how can you prevent its happening again? Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Rob Newman [mailto:rlnewman@xxxxxxxx] > Sent: 10 May 2007 01:11 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Saxon errors > > 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[@name = > 'con']" /> > 29 <!-- <xsl:variable name="rtm" select="pfstring[@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="{@name}" sortorder="{$orderandname}"> > 45 <xsl:apply-templates select="pfstring"/> > 46 </datalogger> > 47 </xsl:template> > 48 > 49 <xsl:template match="pfstring"> > 50 <xsl:element name="{@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 "<" for "<" in > attribute values. > Error on line 9 of file:convert.xsl: > FODC0005: org.xml.sax.SAXParseException: Use "<" 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Saxon errors, Rob Newman | Thread | [xsl] TOC of nested list elements f, Jesper Tverskov |
[xsl] "re-calling" a template from , Vaduvoiu Tiberiu | Date | RE: [xsl] "re-calling" a template f, Michael Kay |
Month |