summaryrefslogtreecommitdiff
path: root/Build/source/texk/tex4htk/java/JsmlMathBreak.java
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/tex4htk/java/JsmlMathBreak.java')
-rwxr-xr-xBuild/source/texk/tex4htk/java/JsmlMathBreak.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/Build/source/texk/tex4htk/java/JsmlMathBreak.java b/Build/source/texk/tex4htk/java/JsmlMathBreak.java
new file mode 100755
index 00000000000..d0a241b97f3
--- /dev/null
+++ b/Build/source/texk/tex4htk/java/JsmlMathBreak.java
@@ -0,0 +1,51 @@
+package tex4ht;
+/*
+JsmlMathBreak.java (2007-09-01-14:10)
+
+*/
+import xtpipes.XtpipesUni;
+import org.xml.sax.*;
+import org.xml.sax.helpers.DefaultHandler;
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.HashMap;
+
+public class JsmlMathBreak extends DefaultHandler {
+ PrintWriter out = null;
+ boolean delete = false;
+ public JsmlMathBreak(PrintWriter out,
+ HashMap<String,Object> scripts,
+ Method method, PrintWriter log, boolean trace) {
+ this.out = out;
+ }
+ public void characters(char[] ch, int start, int length) {
+ String s = XtpipesUni.toUni(ch, start, length, "<>&");
+ out.print( s );
+ if( !s.trim().equals("") ){
+ delete = false;
+ } }
+ public void startElement(String ns, String sName,
+ String qName,
+ Attributes atts) {
+ if( !( delete && qName.equals("BREAK") ) ){
+ String s = "<" + qName + "\n";
+ for (int i = 0; i < atts.getLength(); i++) {
+ String name = atts.getQName(i);
+ if (name != "xmlns") {
+ s += (" " + name + "=\""
+ + XtpipesUni.toUni(atts.getValue(i), "<>&\"")
+ + "\"");
+ } }
+ if( qName.equals( "BREAK" ) ){
+ s += "/";
+ delete = true;
+ }
+ s += ">";
+ out.print(s);
+ } }
+ public void endElement(String ns, String sName, String qName) {
+ if( !qName.equals( "BREAK" ) ){
+ String s = "</" + qName + ">";
+ out.print(s);
+} } }
+