Ok . I got you. I never used " with " inside pl/sql so i was confused . When i am researching on xmltypes in oracle ,i cam across one example where we can use indexes with elements if we have more than one element which is pasted below.

You can use the index mechanism to identify individual elements in case of repeated elements in an XML document. For example, if you have an XML document such as:

<PO>
<PONO>100</PONO>
<PONO>200</PONO>
</PO>

you can use:

//PONO[1] to identify the first "PONO" element (with value 100).
//PONO[2] to identify the second "PONO" element (with value 200).

Why i am getting error(There was an Erorr in address validation -30625 ORA-30625: method dispatch on NULL SELF argument is disallowed) when i try to use index . If this works out then it would be easy for me to use instead of using with statement .

Please format your code, read OraFAQ Forum Guide, "How to format your post?" section.
Make sure that lines of code do not exceed 80 characters when you format.
Indent the code, use code tags and align the columns in result.Use the "Preview Message" button to verify.