RE: strange error in external dtd
This has nothing to do with Saxon, nothing to do with the operating system, and for that matter nothing to do with XSLT. It's all about XML syntax and the XML parser you are using. If you get different results in two environments, it's because you are using different XML parsers (someone else suggested a connectivity issue, which is an alternative explanation, but not the right one in this case, I think.) The DTD you are trying to read has: <!-- Entity declaration for associated Architectural DTD --> <!ENTITY xhtml-arch.dtd PUBLIC "-//W3C//DTD XHTML Architecture 1.1//EN" "xhtml11-arch.dtd" > <?IS10744:arch xhtml public-id = "-//W3C//NOTATION AFDR ARCBASE XHTML 1.1//EN" ... ?> The term "architectural DTD" sounds like an SGMLism - I'm afraid I never understood what SGML people mean when they talk about "architecture". However, the essence of the problem is that there's a processing instruction whose name has a colon in it, and that's illegal according to the XML Namespaces recommendation, which means that it's not allowed when you are parsing in namespace-aware mode, which will always be the case with XSLT. As this DTD seems to have something to do with MathML, no doubt David Carlisle will be able to shed more light. Indeed, he appears to be one of the authors. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Ganesh Babu N [mailto:nbabuganesh@xxxxxxxxx] > Sent: 18 December 2008 04:13 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: strange error in external dtd > > The XML parser will look for the DTD present in the internet. > So in both the systems you should have internet connection. > > Regards, > Ganesh > > > On Thu, Dec 18, 2008 at 9:01 AM, Jeff Sese > <jeferson.sese@xxxxxxxxxxxx> wrote: > > My guess is the two machines have different versions of parsers, if > > you are using the parser bundled with the Java then you are > probably > > using different versions of the Java. > > > > -- Jeff > > > > On 12 18, 08, at 9:16 AM, Fred Christian wrote: > > > >> I am using Saxon on 2 different Windows computers with different > >> results Both running Saxon 8.6.1 (I know, I should > upgrade, sorry :( > >> And I have actually worked around the problem already but I can't > >> help but be curious what might be going on. > >> > >> I am not sure what the important difference is On my XP > computer my > >> command line transform works fine. > >> On my Win 2000 Server computer, it fails with... > >> > >> Error on line 239 column 15 of > >> > http://www.w3.org/TR/2001/REC-MathML2-20010221/dtd/xhtml-math11-f.dtd: > >> SXXP0003: Error reported by XML parser: A colon is not > allowed in the > >> name 'IS10744:arch' > >> when namespaces are enabled. > >> > >> Recoverable error on line 2467 of file:/C:/xslfiles/work.xsl: > >> FODC0005: org.xml.sax.SAXParseException: A colon is not allowed in > >> the name 'IS10744:arch' > >> when namespaces are enabled. > >> > >> -- > >> Line 2467 of work.xsl is > >> <xsl:for-each select="document(string($psetDoc))" > the doc being > >> opened is an xhtml file with this doctype <!DOCTYPE html PUBLIC > >> "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" > >> "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"> > >> <html xmlns="http://www.w3.org/1999/xhtml"> > >> > >> I solved/worked around the problem by removing the doctype > from my file. > >> So far, I haven't found any side effects by doing so, but > I wouldn't > >> mind putting it back if I can. > >> > >> Any guesses on what might be causing the error on my Win > 2000 server > >> computer and not the other? > >> > > > > Jeferson L. Sese > > jeferson dot sese at asiatype dot com > > Asiatype Inc. > > Suite 114 Columbia Tower > > Ortigas Ave., Greenhills > > Mandaluyong City 1550 Philippines > > Tel: +632-744-6262 > > Mobile: +63927-671-7901
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format