Network policy description languages (PDLs) enable the unambiguous specification of network behaviour. Due to the increasing number of PDLs and new and emerging network paradigms (eg: software defined networking) there is a need for tools to analyze these languages in an effective, efficient, and consistent manner. In this paper we present a taxonomy for policy description languages to help compare, understand, and create PDLs. This taxonomy is based on the policy-based network management (PBNM) literature and on consultations with industry experts, and has been validated by applying it to three PDLs (Ponder, Ponder2 and Kinetic). From this application we determine that all three PDLs promote reusability, maintainability and scalability, and that Ponder2 is easier to use in practice.