@Override
		public Element[] preJobSpecWalk() {
			try {
				DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
				DocumentBuilder db = dbf.newDocumentBuilder();
				DOMImplementation domImplementation = db.getDOMImplementation();

				// Generate:
				// <beans xmlns="http://www.springframework.org/schema/beans"
				//		  xmlns:batch="http://www.springframework.org/schema/batch"
				//		  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
				//		  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
				//		    http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch.xsd">
				this.doc = domImplementation.createDocument("http://www.springframework.org/schema/beans", "beans",
						null);
				doc.createElementNS("http://www.springframework.org/schema/batch", "batch");
				doc.getDocumentElement().setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:batch",
						"http://www.springframework.org/schema/batch");
				doc.getDocumentElement().setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xsi",
						"http://www.w3.org/2001/XMLSchema-instance");
				doc.getDocumentElement().setAttributeNS(
						"http://www.w3.org/2001/XMLSchema-instance",
						"xsi:schemaLocation",
						"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd "
								+
								"http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch.xsd");
				// Setting this 'again' to get it on the front and look more like the above.
				doc.getDocumentElement().setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns",
						"http://www.springframework.org/schema/beans");

				// Generate: <bean id="taskExecutor" class="org.springframework.core.task.SimpleAsyncTaskExecutor"/>
				Element taskExecutor = doc.createElement("bean");
				doc.getDocumentElement().appendChild(taskExecutor);
				taskExecutor.setAttribute("id", "taskExecutor");
				taskExecutor.setAttribute("class", "org.springframework.core.task.SimpleAsyncTaskExecutor");

				// Generate: <batch:job id="streamName" xmlns="http://www.springframework.org/schema/batch">
				this.batchJobElement = doc.createElement("batch:job");
				doc.getDocumentElement().appendChild(batchJobElement);
				batchJobElement.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns",
						"http://www.springframework.org/schema/batch");
				if (batchJobId != null) {
					batchJobElement.setAttribute("id", batchJobId);
				}
				transitionNamesToElementIdsInFlow.push(new LinkedHashMap<String, String>());
				this.currentElement.push(batchJobElement);
			}
			catch (Exception e) {
				throw new IllegalStateException("Unexpected problem building XML representation", e);
			}
			return null;
		}
Counter for the numeric suffix to attach to generated split id attributes.
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/job/dsl/JobSpecification.java