BUG #16332: The xmltable function returns 'comment()' as unusable xml appended together and having no xml tags

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #16332: The xmltable function returns 'comment()' as unusable xml appended together and having no xml tags
Дата
Msg-id 16332-e5840cf03eab1a90@postgresql.org
обсуждение исходный текст
Ответы Re: BUG #16332: The xmltable function returns 'comment()' as unusablexml appended together and having no xml tags  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      16332
Logged by:          David Sisson
Email address:      david_sisson@dell.com
PostgreSQL version: 11.6
Operating system:   Windows 10
Description:

We are trying to use the new faster "xmltable" feature in PostgreSQL to read
XML files.
We have to be able to read and parse commented out sections of the xml
files.
Without being able to read and parse XML comments we won't be able to use
this.

(full sample below)

When using this:  comments xml path 'comment()'

We are getting this:  
<Attribute Name="Test Comment 001">Testing comment
001</Attribute>  <Attribute Name="Test Comment 002">Testing
comment 002</Attribute>  <Attribute Name="Test Comment
002">Testing comment 003</Attribute>"


As with everything else I would have expected to get the result as readable
xml.


It works for elements just not for comments.
For example this:    attribute_xml xml path 'Attribute/self::node()',

Returns this which we can use.
"<Attribute Name="TestAttribute001">attribute element value
001</Attribute><Attribute Name="TestAttribute002">attribute element value
002</Attribute><Attribute Name="TestAttribute003">attribute element value
003</Attribute>"


with 
_xml(raw_xml) as
(
    select
    '
    <SystemConfiguration Model="Test01">
    
    <Component Name="Test 001">
     <Attribute Name="TestAttribute001">attribute element value
001</Attribute>
     <Attribute Name="TestAttribute002">attribute element value
002</Attribute>
     <!--  <Attribute Name="Test Comment 001">Testing comment
001</Attribute>-->     
     <!--  <Attribute Name="Test Comment 002">Testing comment
002</Attribute>-->
     <!--  <Attribute Name="Test Comment 002">Testing comment
003</Attribute>-->
     <Attribute Name="TestAttribute003">attribute element value
003</Attribute>
    </Component>
    </SystemConfiguration>
    '::xml
),
_components(name, attribute_xml, comment_xml) as
(
    select 
        root_components.fqdd,
        root_components.attribute_xml,
        root_components.comments
    from
        _xml,            
        xmltable
        (
            '//SystemConfiguration/Component'
            passing raw_xml
            columns
                fqdd text path '@Name',
                attribute_xml xml path 'Attribute/self::node()',
                comments xml path 'comment()'
        ) as root_components
    
    
)
select * from _components


В списке pgsql-bugs по дате отправления:

Предыдущее
От: Dmitry Dolgov
Дата:
Сообщение: Re: BUG #16325: Assert failure on partitioning by int for a textvalue with a collation
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: BUG #16332: The xmltable function returns 'comment()' as unusablexml appended together and having no xml tags