Question: I try to validate my code, but i get a few error, and i need help with this:

I get a few error for this:

1. **end tag for "param" omitted, but OMITTAG NO was specified**
2. **cannot generate system identifier for general entity "color"**
3. **general entity "color" not defined and no default entity**

4 **reference not terminated by REFC delimiter**

```
>     > <object
>     > classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
>     > codebase="http://macromedia.com/cabs/swflash.cab#version=6,0,0,0"
>     > id="flaMovie" width="400"
>     > height="235">
>     >             <param name="movie" value="swf/test_movie_purple.swf">
>     >             <param name="FlashVars" value="lan=<?php echo
>     > $_SESSION['lan'];?>&color=<?php echo
>     > $color;?>">
>     >             <param name="quality" value="medium">
>     >             <param name="wmode" value="transparent">
>     >             <embed src="swf/test_movie_purple.swf"
>     > flashvars="lan=<?php echo
>     > $_SESSION['lan'];?>&color=<?php echo
>     > $color;?>" wmode="transparent"
>     > width="400" height="235"
>     > type="application/x-shockwave-flash"></embed></object>

```

Could anyone help me fix this? Im goin' to crazy..

Answer: 
`extern` means the 'real' definition of the variable is elsewhere, and the compiler should trust that things will hook up at link time. Having the definition inline with the `extern` is weird and is what's munging up your program. If you want to have them be `extern`, just define them *exactly once* elsewhere in your program.
in declaring global const within header causes that each compilation unit including this hader will have own definitions global definitions with the same name.
Then linker does not like that.

If You really need these in header then probably You should declare them as static.