Try wrapping the data inside the list entries in <span>
s and hide them when the value is blank.
li[value=""] span
{
visibility: hidden;
}
http://jsfiddle.net/26z4W/2/
...Though that works to hide the text instead of the list bullets or numbers, which I just realized is what you wanted. Rooster's answer works for that.
Here's one way to do it, based on Rooster's answer but with support for using "NNO. "
(using li[value=""]:before {content: "NNO. "}
) instead of having it blank.
http://jsfiddle.net/26z4W/
Uunfortunately, it seems no browser implements ::marker
yet, but if they do eventually that would make things like this much easier.