java/sql-dk/src/info/globalcode/sql/dk/formatting/XmlFormatter.java
branchv_0
changeset 131 347a7dd94a3f
parent 129 331634456bf8
child 134 f2510551b5bf
--- a/java/sql-dk/src/info/globalcode/sql/dk/formatting/XmlFormatter.java	Sat Jan 04 20:08:56 2014 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/formatting/XmlFormatter.java	Sat Jan 04 20:24:27 2014 +0100
@@ -35,9 +35,12 @@
 public class XmlFormatter extends AbstractXmlFormatter {
 
 	public static final String NAME = "xml"; // bash-completion:formatter
+	public static final String PROPERTY_LABELED_COLUMNS = "labeledColumns";
+	private final boolean labeledColumns;
 
 	public XmlFormatter(FormatterContext formatterContext) {
 		super(formatterContext);
+		labeledColumns = formatterContext.getProperties().getBoolean(PROPERTY_LABELED_COLUMNS, false);
 	}
 
 	@Override
@@ -126,7 +129,14 @@
 	@Override
 	public void writeColumnValue(Object value) {
 		super.writeColumnValue(value);
-		printTextElement(qname("column"), null, toString(value));
+
+		Map<QName, String> attributes = null;
+		if (labeledColumns) {
+			attributes = new LinkedHashMap<>(1);
+			attributes.put(qname("label"), getCurrentColumnsHeader().getColumnDescriptors().get(getCurrentColumnsCount() - 1).getLabel());
+		}
+
+		printTextElement(qname("column"), attributes, toString(value));
 	}
 
 	@Override