f[^i[
psql testdb postgres

CREATE TABLE meibo(id integer, name text, department text, age integer, email text, work_history xml);

\encoding SJIS
COPY meibo FROM 'C:/pgsqlxml/meibo_5.csv' WITH CSV;

SELECT * FROM meibo;


XPath
SELECT id,name,xpath('/work-record/career',work_history) FROM meibo WHERE '}l[W[' = ANY(xpath('/work-record/career/role/text()',work_history)::text[]);


GIN
COPY meibo FROM 'C:/pgsqlxml/meibo_295.csv' WITH CSV;

CREATE INDEX x_work ON meibo USING gin((xpath('/work-record/career/role/text()',work_history)::text[]));

SELECT count(*) FROM meibo WHERE (xpath('/work-record/career/role/text()',work_history)::text[]) @> '{}l[W[}';

EXPLAIN ANALYZE 

DROP INDEX x_work;


XSLT
DELETE FROM meibo;
COPY meibo FROM 'C:/pgsqlxml/meibo_5.csv' WITH CSV;

SELECT xslt_process(work_history::text, 'C:/pgsqlxml/career_table.xsl')FROM meibo WHERE name = 'c';

\t
\o 'C:/pgsqlxml/result01.html'

SQL/XML
\o 'C:/pgsqlxml/result02.xml'

\encoding UTF8
select xmlroot(xmlelement(name mail_list,
   (select xmlagg(
     xmlelement(name person, 
       xmlelement(name name, name),
       xmlelement(name email, email)
    )) from meibo)),version '1.0',standalone yes);
