Re: review: xml_is_well_formed - Mailing list pgsql-hackers

From Mike Fowler
Subject Re: review: xml_is_well_formed
Date
Msg-id 4C5C1198.6080205@mlfowler.com
Whole thread Raw
In response to Re: review: xml_is_well_formed  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: review: xml_is_well_formed
List pgsql-hackers
On 06/08/10 12:31, Robert Haas wrote:
>>>
>>> Maybe there should be
>>>
>>> xml_is_well_formed()
>>> xml_is_well_formed_document()
>>> xml_is_well_formed_content()
>>>
>>> I agree that consistency with SQL/XML is desirable, but for someone
>>> coming from the outside, the unqualified claim that 'foo' is well-formed
>>> XML might sound suspicious.
>>>        
>> What about making the function sensitive to the XML OPTION, such that:
>>
>> test=# SET xmloption TO DOCUMENT;
>> SET
>> text=# SELECT xml_is_well_formed('foo');
>>
>>   xml_is_well_formed
>>   --------------------
>>   f
>>   (1 row)
>>      
> That will make using this function a huge hassle, won't it?  Functions
> that do different things depending on GUC settings are usually
> troublesome.  Having three functions would be more sensible if we need
> all three behaviors, but I don't see why we do.
>
> Or perhaps it could return a string instead of a boolean: content,
> document, or NULL if it's neither.
>    

I like the sound of that. In fact this helps workaround the IS DOCUMENT 
and IS CONTENT limitations such that you can you can select only 
content, only documents or both is you use IS NOT NULL.

Unless anyone sees a reason that this function needs to remain a boolean 
function, I'll rework the patch over the weekend.

Regards,

-- 
Mike Fowler
Registered Linux user: 379787



pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: default of max_stack_depth
Next
From: Tom Lane
Date:
Subject: Re: default of max_stack_depth