// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/dto/ImageRefDTO.java
// public final class ImageRefDTO {
// 
// 	private String uri;
// 	
// 	public void setUri(String uri) {
// 		this.uri = uri;
// 	}
// 
// 	public String getUri() {
// 		return this.uri;
// 	}
// 
// 	public static ImageRefDTO newInstance() {
// 		return new ImageRefDTO();
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/dto/TextDTO.java
// public final class TextDTO {
// 
// 	private String value;
// 
// 	public void setValue(final String value) {
// 		this.value = value;
// 	}
// 
// 	public String getText() {
// 		return value;
// 	}
// 
// 	public static TextDTO newInstance() {
// 		return new TextDTO();
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/dto/XhtmlUlDTO.java
// public final class XhtmlUlDTO {
// 	private final XhtmlUlType ul = XhtmlFactory.eINSTANCE.createXhtmlUlType();
// 	private String title;
// 
// 	public void addEntry(final String entry) {
// 		XhtmlLiType li = XhtmlFactory.eINSTANCE.createXhtmlLiType();
// 		li.getXhtmlFlowMix().add(FeatureMapUtil.createTextEntry(entry));
// 		getUl().getLi().add(li);
// 	}
// 
// 	public void add(XhtmlUlDTO dto) {
// 		if (dto.getTitle() != null) {
// 			XhtmlLiType li = XhtmlFactory.eINSTANCE.createXhtmlLiType();
// 			li.getXhtmlFlowMix().add(
// 					FeatureMapUtil.createTextEntry(dto.getTitle()));
// 			li.getUl().add(dto.getUl());
// 			getUl().getLi().add(li);
// 		}
// 	}
// 
// 	private String getTitle() {
// 		return title;
// 	}
// 
// 	public void setTitle(String title) {
// 		this.title = title;
// 	}
// 
// 	public XhtmlUlType getUl() {
// 		return ul;
// 	}
// 
// 	public static XhtmlUlDTO newInstance() {
// 		return new XhtmlUlDTO();
// 	}
// }


import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.emf.ecore.util.FeatureMapUtil;
import org.eclipse.rmf.reqif10.xhtml.XhtmlDivType;
import org.eclipse.rmf.reqif10.xhtml.XhtmlFactory;
import org.eclipse.rmf.reqif10.xhtml.XhtmlObjectType;
import org.eclipse.rmf.reqif10.xhtml.XhtmlPType;
import de.kay_muench.imageinformationprovider.ImageDataUriProvider;
import de.kay_muench.imageinformationprovider.ImageInformation;
import de.kay_muench.imageinformationprovider.ImageInformationProvider;
import de.kay_muench.reqif10.reqifcompiler.dto.ImageRefDTO;
import de.kay_muench.reqif10.reqifcompiler.dto.TextDTO;
import de.kay_muench.reqif10.reqifcompiler.dto.XhtmlUlDTO;

		try {
			ImageInformation info = provider.provideFor(ref.getUri());
			ImageDataUriProvider dataUriProvider = new ImageDataUriProvider();

			XhtmlObjectType o = XhtmlFactory.eINSTANCE.createXhtmlObjectType();
			o.setClass("figure");
			o.setData(dataUriProvider.provideFor(info));
			o.setType(info.getMimeType());
			o.setWidth(Integer.valueOf(info.getWidth()).toString());
			o.setHeight(Integer.valueOf(info.getHeight()).toString());
			o.getBr().add(XhtmlFactory.eINSTANCE.createXhtmlBrType());

			d.getObject().add(o);
		} catch (RuntimeException e) {
			XhtmlPType p = XhtmlFactory.eINSTANCE.createXhtmlPType();
			p.getXhtmlInlineMix().add(
					FeatureMapUtil.createTextEntry(e.getMessage()));
			d.getP().add(p);
		} catch (IOException e) {
			XhtmlPType p = XhtmlFactory.eINSTANCE.createXhtmlPType();
			p.getXhtmlInlineMix().add(
					FeatureMapUtil.createTextEntry(e.getMessage()));
			d.getP().add(p);
		}

		this.collection.add(d);
		return this;
	}

// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/dto/ImageRefDTO.java
// public final class ImageRefDTO {
// 
// 	private String uri;
// 	
// 	public void setUri(String uri) {
// 		this.uri = uri;
// 	}
// 
// 	public String getUri() {
// 		return this.uri;
// 	}
// 
// 	public static ImageRefDTO newInstance() {
// 		return new ImageRefDTO();
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/dto/TextDTO.java
// public final class TextDTO {
// 
// 	private String value;
// 
// 	public void setValue(final String value) {
// 		this.value = value;
// 	}
// 
// 	public String getText() {
// 		return value;
// 	}
// 
// 	public static TextDTO newInstance() {
// 		return new TextDTO();
// 	}
// 
// }
// 
// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/dto/XhtmlUlDTO.java
// public final class XhtmlUlDTO {
// 	private final XhtmlUlType ul = XhtmlFactory.eINSTANCE.createXhtmlUlType();
// 	private String title;
// 
// 	public void addEntry(final String entry) {
// 		XhtmlLiType li = XhtmlFactory.eINSTANCE.createXhtmlLiType();
// 		li.getXhtmlFlowMix().add(FeatureMapUtil.createTextEntry(entry));
// 		getUl().getLi().add(li);
// 	}
// 
// 	public void add(XhtmlUlDTO dto) {
// 		if (dto.getTitle() != null) {
// 			XhtmlLiType li = XhtmlFactory.eINSTANCE.createXhtmlLiType();
// 			li.getXhtmlFlowMix().add(
// 					FeatureMapUtil.createTextEntry(dto.getTitle()));
// 			li.getUl().add(dto.getUl());
// 			getUl().getLi().add(li);
// 		}
// 	}
// 
// 	private String getTitle() {
// 		return title;
// 	}
// 
// 	public void setTitle(String title) {
// 		this.title = title;
// 	}
// 
// 	public XhtmlUlType getUl() {
// 		return ul;
// 	}
// 
// 	public static XhtmlUlDTO newInstance() {
// 		return new XhtmlUlDTO();
// 	}
// }


// Path: reqifcompiler/src/main/java/de/kay_muench/reqif10/reqifcompiler/xhtml/XhtmlBuilder.java
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.emf.ecore.util.FeatureMapUtil;
import org.eclipse.rmf.reqif10.xhtml.XhtmlDivType;
import org.eclipse.rmf.reqif10.xhtml.XhtmlFactory;
import org.eclipse.rmf.reqif10.xhtml.XhtmlObjectType;
import org.eclipse.rmf.reqif10.xhtml.XhtmlPType;
import de.kay_muench.imageinformationprovider.ImageDataUriProvider;
import de.kay_muench.imageinformationprovider.ImageInformation;
import de.kay_muench.imageinformationprovider.ImageInformationProvider;
import de.kay_muench.reqif10.reqifcompiler.dto.ImageRefDTO;
import de.kay_muench.reqif10.reqifcompiler.dto.TextDTO;
import de.kay_muench.reqif10.reqifcompiler.dto.XhtmlUlDTO;


		try {
			ImageInformation info = provider.provideFor(ref.getUri());
			ImageDataUriProvider dataUriProvider = new ImageDataUriProvider();

			XhtmlObjectType o = XhtmlFactory.eINSTANCE.createXhtmlObjectType();
			o.setClass("figure");
			o.setData(dataUriProvider.provideFor(info));
			o.setType(info.getMimeType());
			o.setWidth(Integer.valueOf(info.getWidth()).toString());
			o.setHeight(Integer.valueOf(info.getHeight()).toString());
			o.getBr().add(XhtmlFactory.eINSTANCE.createXhtmlBrType());

			d.getObject().add(o);
		} catch (RuntimeException e) {
			XhtmlPType p = XhtmlFactory.eINSTANCE.createXhtmlPType();
			p.getXhtmlInlineMix().add(
					FeatureMapUtil.createTextEntry(e.getMessage()));
			d.getP().add(p);
		} catch (IOException e) {
			XhtmlPType p = XhtmlFactory.eINSTANCE.createXhtmlPType();
			p.getXhtmlInlineMix().add(
					FeatureMapUtil.createTextEntry(e.getMessage()));
			d.getP().add(p);
		}

		this.collection.add(d);
		return this;
	}

	public XhtmlBuilder append(final TextDTO txt) {