(select s.xmldata.schema_owner AS OWNER,
s.xmldata.schema_url AS SCHEMA_URL,
s.xmldata.target_namespace AS TARGET_NAMESPACE,
(case
when e.xmldata.property.name IS NULL
then
e.xmldata.property.propref_name.name
else
e.xmldata.property.name
end
)AS ELEMENT_NAME,
(case
when e.xmldata.property.name IS NULL
then
1
else
0
end
)AS IS_REF,
e.xmldata.property.typename.name AS TYPE_NAME,
e.xmldata.property.global AS GLOBAL,
value(e) AS ELEMENT,
e.xmldata.sql_inline AS SQL_INLINE,
e.xmldata.property.sqltype AS SQL_TYPE,
e.xmldata.property.sqlschema AS SQL_SCHEMA,
e.xmldata.default_table AS DEFAULT_TABLE,
e.xmldata.property.sqlname AS SQL_NAME,
e.xmldata.property.sqlcolltype AS SQL_COL_TYPE,
e.xmldata.maintain_dom AS MAINTAIN_DOM,
e.xmldata.maintain_order AS MAINTAIN_ORDER,
hextoraw(e.xmldata.property.prop_number) AS ELEMENT_ID,
t.column_value AS PARENT_ELEMENT_ID
from xdb.xdb$schema s, xdb.xdb$element e, all_xml_schemas a,
table( PrvtParentChild.getParentID(e.xmldata.property.prop_number)) t
where sys_op_r2o(e.xmldata.property.parent_schema) = s.sys_nc_oid$ and
s.xmldata.schema_owner = a.owner and
s.xmldata.schema_url = a.schema_url and
PrvtParentChild.sizeArray(e.xmldata.property.prop_number) <> 0
UNION ALL
select s.xmldata.schema_owner AS OWNER,
s.xmldata.schema_url AS SCHEMA_URL,
s.xmldata.target_namespace AS TARGET_NAMESPACE,
(case
when e.xmldata.property.name IS NULL
then
e.xmldata.property.propref_name.name
else
e.xmldata.property.name
end
)AS ELEMENT_NAME,
(case
when e.xmldata.property.name IS NULL
then
1
else
0
end
)AS IS_REF,
e.xmldata.property.typename.name AS TYPE_NAME,
e.xmldata.property.global AS GLOBAL,
value(e) AS ELEMENT,
e.xmldata.sql_inline AS SQL_INLINE,
e.xmldata.property.sqltype AS SQL_TYPE,
e.xmldata.property.sqlschema AS SQL_SCHEMA,
e.xmldata.default_table AS DEFAULT_TABLE,
e.xmldata.property.sqlname AS SQL_NAME,
e.xmldata.property.sqlcolltype AS SQL_COL_TYPE,
e.xmldata.maintain_dom AS MAINTAIN_DOM,
e.xmldata.maintain_order AS MAINTAIN_ORDER,
hextoraw(e.xmldata.property.prop_number) AS ELEMENT_ID,
NULL AS PARENT_ELEMENT_ID
from xdb.xdb$schema s, xdb.xdb$element e, all_xml_schemas a
where sys_op_r2o(e.xmldata.property.parent_schema) = s.sys_nc_oid$ and
s.xmldata.schema_owner = a.owner and
s.xmldata.schema_url = a.schema_url and
PrvtParentChild.sizeArray(e.xmldata.property.prop_number) = 0
)
(SELECT S.XMLDATA.SCHEMA_OWNER AS OWNER
,
S.XMLDATA.SCHEMA_URL AS SCHEMA_URL
,
S.XMLDATA.TARGET_NAMESPACE AS TARGET_NAMESPACE
,
(CASE
WHEN E.XMLDATA.PROPERTY.NAME IS NULL
THEN
E.XMLDATA.PROPERTY.PROPREF_NAME.NAME
ELSE
E.XMLDATA.PROPERTY.NAME
END
)AS ELEMENT_NAME
,
(CASE
WHEN E.XMLDATA.PROPERTY.NAME IS NULL
THEN
1
ELSE
0
END
)AS IS_REF
,
E.XMLDATA.PROPERTY.TYPENAME.NAME AS TYPE_NAME
,
E.XMLDATA.PROPERTY.GLOBAL AS GLOBAL
,
VALUE(E) AS ELEMENT
,
E.XMLDATA.SQL_INLINE AS SQL_INLINE
,
E.XMLDATA.PROPERTY.SQLTYPE AS SQL_TYPE
,
E.XMLDATA.PROPERTY.SQLSCHEMA AS SQL_SCHEMA
,
E.XMLDATA.DEFAULT_TABLE AS DEFAULT_TABLE
,
E.XMLDATA.PROPERTY.SQLNAME AS SQL_NAME
,
E.XMLDATA.PROPERTY.SQLCOLLTYPE AS SQL_COL_TYPE
,
E.XMLDATA.MAINTAIN_DOM AS MAINTAIN_DOM
,
E.XMLDATA.MAINTAIN_ORDER AS MAINTAIN_ORDER
,
HEXTORAW(E.XMLDATA.PROPERTY.PROP_NUMBER) AS ELEMENT_ID
,
T.COLUMN_VALUE AS PARENT_ELEMENT_ID
FROM XDB.XDB$SCHEMA S
, XDB.XDB$ELEMENT E
, ALL_XML_SCHEMAS A
,
TABLE( PRVTPARENTCHILD.GETPARENTID(E.XMLDATA.PROPERTY.PROP_NUMBER)) T
WHERE SYS_OP_R2O(E.XMLDATA.PROPERTY.PARENT_SCHEMA) = S.SYS_NC_OID$ AND
S.XMLDATA.SCHEMA_OWNER = A.OWNER AND
S.XMLDATA.SCHEMA_URL = A.SCHEMA_URL AND
PRVTPARENTCHILD.SIZEARRAY(E.XMLDATA.PROPERTY.PROP_NUMBER) <> 0
UNION ALL
SELECT S.XMLDATA.SCHEMA_OWNER AS OWNER
,
S.XMLDATA.SCHEMA_URL AS SCHEMA_URL
,
S.XMLDATA.TARGET_NAMESPACE AS TARGET_NAMESPACE
,
(CASE
WHEN E.XMLDATA.PROPERTY.NAME IS NULL
THEN
E.XMLDATA.PROPERTY.PROPREF_NAME.NAME
ELSE
E.XMLDATA.PROPERTY.NAME
END
)AS ELEMENT_NAME
,
(CASE
WHEN E.XMLDATA.PROPERTY.NAME IS NULL
THEN
1
ELSE
0
END
)AS IS_REF
,
E.XMLDATA.PROPERTY.TYPENAME.NAME AS TYPE_NAME
,
E.XMLDATA.PROPERTY.GLOBAL AS GLOBAL
,
VALUE(E) AS ELEMENT
,
E.XMLDATA.SQL_INLINE AS SQL_INLINE
,
E.XMLDATA.PROPERTY.SQLTYPE AS SQL_TYPE
,
E.XMLDATA.PROPERTY.SQLSCHEMA AS SQL_SCHEMA
,
E.XMLDATA.DEFAULT_TABLE AS DEFAULT_TABLE
,
E.XMLDATA.PROPERTY.SQLNAME AS SQL_NAME
,
E.XMLDATA.PROPERTY.SQLCOLLTYPE AS SQL_COL_TYPE
,
E.XMLDATA.MAINTAIN_DOM AS MAINTAIN_DOM
,
E.XMLDATA.MAINTAIN_ORDER AS MAINTAIN_ORDER
,
HEXTORAW(E.XMLDATA.PROPERTY.PROP_NUMBER) AS ELEMENT_ID
,
NULL AS PARENT_ELEMENT_ID
FROM XDB.XDB$SCHEMA S
, XDB.XDB$ELEMENT E
, ALL_XML_SCHEMAS A
WHERE SYS_OP_R2O(E.XMLDATA.PROPERTY.PARENT_SCHEMA) = S.SYS_NC_OID$ AND
S.XMLDATA.SCHEMA_OWNER = A.OWNER AND
S.XMLDATA.SCHEMA_URL = A.SCHEMA_URL AND
PRVTPARENTCHILD.SIZEARRAY(E.XMLDATA.PROPERTY.PROP_NUMBER) = 0
)
|
|
|