From: | Roy Walter <walt(at)brookhouse(dot)co(dot)uk> |
---|---|
To: | artacus(at)comcast(dot)net |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: XML import with DTD |
Date: | 2009-07-11 08:16:31 |
Message-ID: | 4A584A5F.5020104@brookhouse.co.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
It's not an xpath problem it's an XML import problem. Sorry if I wasn't
clear.
Consider the following example queries. This one works fine:
INSERT INTO wms_collection (docxml) VALUES (XMLPARSE(content(
'<?xml version="1.0" encoding="ISO-8859-1"?>
<shop>
<product>Shoes</product>
</shop>')))
This one does not:
INSERT INTO wms_collection (docxml) VALUES (XMLPARSE(content(
'<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE publicwhip
[
<!ENTITY ndash "–">
<!ENTITY mdash "—">
]>
<shop>
<product>Shoes</product>
</shop>')))
Both are valid XML but the second query fails as follows:
ERROR: invalid XML content
DETAIL: Entity: line 2: parser error : StartTag: invalid element name
<!DOCTYPE publicwhip
^
Entity: line 4: parser error : StartTag: invalid element name
<!ENTITY ndash "–">
^
Entity: line 5: parser error : StartTag: invalid element name
<!ENTITY mdash "—">
-- Roy
artacus(at)comcast(dot)net wrote:
> Post a snippet of the xml and xpath you are trying to use.
>
>
> Scott
>
> ----- Original Message -----
> From: "Roy Walter" <walt(at)brookhouse(dot)co(dot)uk>
> To: pgsql-general(at)postgresql(dot)org
> Sent: Friday, July 10, 2009 7:49:00 AM GMT -08:00 US/Canada Pacific
> Subject: [GENERAL] XML import with DTD
>
> Hi
>
> I'm trying to use the XPath functionality of Postgres.
>
> I can populate a text field (unparsed) with XML data but as far as I
> can see the xpath() function [now] only works on the xml data type.
>
> When I try to populate a text field with XML data containing a DTD,
> however, the parser chokes. If I strip the DTD the parser chokes on
> undefined entities which are defined in the DTD.
>
> (I switched the app' to from MySQL to Postgres because while MySQL
> works it returns matches in undelimited form which is next to useless
> if, for example, you return multiple attributes from a node.)
>
> Does anyone know of a solution to this problem?
>
> Windows 2000 Server
> Postgres 8.4
>
> Regards
> Roy Walter
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 8.5.387 / Virus Database: 270.13.9/2229 - Release Date: 07/10/09 07:05:00
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alban Hertroys | 2009-07-11 09:35:06 | Re: Best practices to WorkFlow design? |
Previous Message | Dennis Gearon | 2009-07-11 07:21:39 | Date Time Arithmetic Speed |