package oqube.muse.muse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.uwyn.jhighlight.renderer.JavaXhtmlRenderer;
import com.uwyn.jhighlight.renderer.Renderer;
import com.uwyn.jhighlight.renderer.XhtmlRenderer;
import com.uwyn.jhighlight.renderer.XhtmlRendererFactory;
import fr.lifl.utils.SubstitutableString;
import oqube.muse.AbstractTagHandler;
import oqube.muse.MuseSink;
import oqube.muse.MuseTagHandler;
import oqube.muse.html.HTMLSourceTag;
@link
@author
@see
public class MuseSourceTag extends AbstractTagHandler {
private Map ids = new HashMap();
private static final String EOL = System.getProperty("line.separator");
public boolean block(MuseSink sink, String tag, String[][] at, String content) {
if (!"source".equals(tag))
return false;
StringBuffer ats = new StringBuffer();
ats.append(EOL);
ats.append("<source");
for (int i = 0; i < at.length; i++) {
if("hidden".equals(at[i][0]) && "true".equalsIgnoreCase(at[i][1]))
return true;
ats.append(' ').append(at[i][0]).append('=').append('"').append(at[i][1]).append('"');
}
ats.append('>');
sink.rawText(ats.toString());
sink.rawText(EOL);
sink.rawText(content);
sink.rawText(EOL);
sink.rawText("</source>");
sink.rawText(EOL);
return true;
}
public boolean flow(MuseSink sink, String tag, String[][] at, String content) {
return block(sink, tag, at, content);
}
}