That will fail, because 'd' is not the column that comes out of the table() function. By default it is column_value, eg
SQL> create table xmlt ( trivialxml xmltype );
Table created.
SQL>
SQL> insert into xmlt values('<?xml version="1.0"?>
2 <ROWSET> <ROW> <NAME>karthick</NAME> <SALARY>3400</SALARY> </ROW> <ROW> <NAME>c</NAME> <SALARY>1</SALARY> </ROW> <ROW> <NAME>mani</NAME> <SALARY>1</SALARY> </ROW>
3 <ROW> <NAME>vicky</NAME> <SALARY>100</SALARY> </ROW> <ROW> <NAME>ram</NAME> <SALARY>1000</SALARY> </ROW> </ROWSET>');
1 row created.
SQL>
SQL> SELECT column_value
2 FROM XMLt x,
3 table(xmlsequence(extract(x.trivialxml, '/ROWSET/ROW'))) d;
COLUMN_VALUE
----------------------------------------------------------------------------------------------------------------------------------
<ROW>
<NAME>karthick</NAME>
<SALARY>3400</SALARY>
</ROW>
<ROW>
<NAME>c</NAME>
<SALARY>1</SALARY>
</ROW>
<ROW>
<NAME>mani</NAME>
<SALARY>1</SALARY>
</ROW>
<ROW>
<NAME>vicky</NAME>
<SALARY>100</SALARY>
</ROW>
<ROW>
<NAME>ram</NAME>
<SALARY>1000</SALARY>
</ROW>
5 rows selected.