1 package com.nwalsh.xalan; 2 3 import org.xml.sax.helpers.AttributesImpl ; 4 import org.xml.sax.SAXException ; 5 import org.w3c.dom.*; 6 import org.apache.xml.utils.DOMBuilder; 7 import com.nwalsh.xalan.Callout; 8 import org.apache.xml.utils.AttList; 9 10 30 31 public class FormatGraphicCallout extends FormatCallout { 32 String graphicsPath = ""; 33 String graphicsExt = ""; 34 int graphicsMax = 0; 35 36 public FormatGraphicCallout(String path, String ext, int max, boolean fo) { 37 graphicsPath = path; 38 graphicsExt = ext; 39 graphicsMax = max; 40 stylesheetFO = fo; 41 } 42 43 public void formatCallout(DOMBuilder rtf, 44 Callout callout) { 45 Element area = callout.getArea(); 46 int num = callout.getCallout(); 47 String label = areaLabel(area); 48 49 try { 50 if (label == null && num <= graphicsMax) { 51 AttributesImpl imgAttr = new AttributesImpl (); 52 String ns = ""; 53 String prefix = ""; 54 String imgName = ""; 55 56 if (stylesheetFO) { 57 ns = foURI; 58 prefix = "fo:"; imgName = "external-graphic"; 60 imgAttr.addAttribute("", "src", "src", "CDATA", 61 graphicsPath + num + graphicsExt); 62 imgAttr.addAttribute("", "alt", "alt", "CDATA", label); 63 } else { 64 ns = ""; 65 prefix = ""; 66 imgName = "img"; 67 imgAttr.addAttribute("", "src", "src", "CDATA", 68 graphicsPath + num + graphicsExt); 69 imgAttr.addAttribute("", "alt", "alt", "CDATA", label); 70 } 71 72 startSpan(rtf); 73 rtf.startElement(ns, imgName, prefix+imgName, imgAttr); 74 rtf.endElement(ns, imgName, prefix+imgName); 75 endSpan(rtf); 76 } else { 77 formatTextCallout(rtf, callout); 78 } 79 } catch (SAXException e) { 80 System.out.println("SAX Exception in graphics formatCallout"); 81 } 82 } 83 } 84 | Popular Tags |