<option nevow:pattern="option"> <nevow:attr name="value"><nevow:slot name="value" /></nevow:attr> <nevow:slot name="label" /> </option> You can then do pattern.fillSlots('value', '1').fillSlots('label', 'Option 1') to get to something that'll serialize to <option value="1">Option 1</option>.