Project

General

Profile

1
package eu.dnetlib.data.collective.transformation.core.xsl;
2

    
3
import java.util.LinkedList;
4
import java.util.List;
5

    
6
/**
7
 * @author jochen
8
 *
9
 */
10
public abstract class AbstractXslElement {
11

    
12
	private String functionName;
13
	protected List<String> attrList = new LinkedList<String>();
14
	protected StringBuilder enclosedElements = new StringBuilder();
15
	protected List<String> nsList = new LinkedList<String>();
16

    
17

    
18
	public AbstractXslElement(String aFunctioName) {
19
		this.functionName = aFunctioName;
20
	}
21
	
22
	public String asXml(boolean isEmpty){
23
		StringBuilder builder = new StringBuilder();
24
		builder.append("<");
25
		builder.append(functionName + " ");
26
		for (String ns: nsList){
27
			builder.append(ns + " ");			
28
		}
29
		
30
		for (String attr: attrList){
31
			builder.append(attr);
32
		}
33
		if (isEmpty){
34
			builder.append("/>");
35
		}else{
36
			builder.append(">");
37
			builder.append(enclosedElements.toString());
38
			builder.append("</");
39
			builder.append(functionName + ">");			
40
		}
41
		return builder.toString();		
42
	}
43
	
44
	public String asXml() {
45
		return asXml(false);
46
	}
47

    
48
}
(1-1/4)