from what i've noticed you don't really need the values unless you're working in formats that the stream won't recognise.
for example if you do
set vertex shader stream VsNumber, 0, VSDE_POSITION, NULL
you don't need the type because DirectX should already know that it needs a Vector3 (Float 3) type... but if you're using a LAST_BETA position then you have to declare this like this
set vertex shader stream VsNumber, 0, VSDE_POSITION, VSDT_FLOAT3+VSDT_FLOAT1
which would be for XYZW
problem is i can't seem to figure out what the LAST_BETA flag actually is... i mean i think its 0x001, but then again i kinda get the feeling its not anymore.
also remember the declaration value you're setting has to match with what you've put in the shader itself...
position v0-v2 then you declare as 0
normal v3-5 then you declare it as 3
you have to remember to leave the number of data positions your declare between them - else you get messed up data, that goes fot the constants as well.
as for the values... they're quite simple to figure out

all they are, are binary flags for a UINT system
VSDT_FLOAT1=0x00 (%000) 1 Float - X
VSDT_FLOAT2=0x01 (%001) 2 Float - X,Y
VSDT_FLOAT3=0x02 (%010) 3 Float - X,Y,Z
VSDT_FLOAT4=0x03 (%011) 4 Float - X,Y,Z,W
VSDT_D3DCOLOR=0x04 (%100) 1 Dword - RGB Value
VSDT_UBYTE4=0x05 (%101) 1 Dword - 4x 1byte integers (in bitshift)
VSDT_SHORT2=0x06 (%110) 1 Word - 2 byte integer
VSDT_SHORT4=0x07 (%111) 1 Dword - 4 byte integer
Tsu'va Oni Ni Jyuuko Fiori Sei Tau!
One block follows the suit ... the whole suit of blocks is the path ... what have you found?