This is because you are not assigning a variable to a nextvalvariable. Suppose that .nextvalis a function of some description. It is not, Oracle actually describes it as psuedocolumn; something is used in the same context as the column, but is not written to disk.
Oracle. 11G PL/SQL:
declare
i number;
begin
select my_sequence.nextval
into i
from dual;
insert into my_table(id)
values(my_sequence.nextval);
update my_table
set id = my_sequence.nextval;
end;
11G , "return" .nextval :
declare
l_next_val number;
begin
l_next_val := my_sequence.nextval;
end;
PLS-00313 , Oracle , SEQ1_GAKHR03 , .nextval .
. ?