You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by je...@apache.org on 2005/01/06 09:37:53 UTC

cvs commit: xml-fop/src/java/org/apache/fop/render/xml XMLRenderer.java

jeremias    2005/01/06 00:37:53

  Modified:    src/java/org/apache/fop/render/xml XMLRenderer.java
  Log:
  Improved area tree XML generation by filtering uninformative attributes while adding others.
  
  Revision  Changes    Path
  1.32      +35 -40    xml-fop/src/java/org/apache/fop/render/xml/XMLRenderer.java
  
  Index: XMLRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/xml/XMLRenderer.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- XMLRenderer.java	5 Jan 2005 21:08:27 -0000	1.31
  +++ XMLRenderer.java	6 Jan 2005 08:37:52 -0000	1.32
  @@ -244,8 +244,32 @@
       protected void addAreaAttributes(Area area) {
           addAttribute("ipd", area.getIPD());
           addAttribute("bpd", area.getBPD());
  +        addAttribute("bap", area.getBorderAndPaddingWidthStart() + " "
  +                + area.getBorderAndPaddingWidthEnd() + " "
  +                + area.getBorderAndPaddingWidthBefore() + " "
  +                + area.getBorderAndPaddingWidthAfter());
       }
       
  +    /**
  +     * Adds attributes from traits of an Area. 
  +     * @param area Area to extract traits from
  +     */
  +    protected void addTraitAttributes(Area area) {
  +        Map traitMap = area.getTraits();
  +        if (traitMap != null) {
  +            Iterator iter = traitMap.entrySet().iterator();
  +            while (iter.hasNext()) {
  +                Map.Entry traitEntry = (Map.Entry) iter.next();
  +                String name = Trait.getTraitName(traitEntry.getKey());
  +                if ("break-before".equals(name) || "break-after".equals(name)) {
  +                    continue;
  +                }
  +                String value = traitEntry.getValue().toString();
  +                addAttribute(name, value);
  +            }
  +        }
  +    }
  +
       private String createString(Rectangle2D rect) {
           return "" + (int) rect.getX() + " " + (int) rect.getY() + " "
                     + (int) rect.getWidth() + " " + (int) rect.getHeight();
  @@ -372,7 +396,7 @@
        * @see org.apache.fop.render.AbstractRenderer#renderBeforeFloat(BeforeFloat)
        */
       protected void renderBeforeFloat(BeforeFloat bf) {
  -        startElement("<beforeFloat>");
  +        startElement("beforeFloat");
           super.renderBeforeFloat(bf);
           endElement("beforeFloat");
       }
  @@ -426,10 +450,7 @@
       protected void renderBlock(Block block) {
           atts.clear();
           addAreaAttributes(block);
  -        Map map = block.getTraits();
  -        if (map != null) {
  -            addAttribute("props", getPropString(map));
  -        }
  +        addTraitAttributes(block);
           startElement("block", atts);
           super.renderBlock(block);
           endElement("block");
  @@ -441,10 +462,7 @@
       protected void renderLineArea(LineArea line) {
           atts.clear();
           addAreaAttributes(line);
  -        Map map = line.getTraits();
  -        if (map != null) {
  -            addAttribute("props", getPropString(map));
  -        }
  +        addTraitAttributes(line);
           startElement("lineArea", atts);
           super.renderLineArea(line);
           endElement("lineArea");
  @@ -500,10 +518,7 @@
        */
       protected void renderCharacter(org.apache.fop.area.inline.Character ch) {
           atts.clear();
  -        Map map = ch.getTraits();
  -        if (map != null) {
  -            addAttribute("props", getPropString(map));
  -        }
  +        addTraitAttributes(ch);
           startElement("char", atts);
           characters(ch.getChar());
           endElement("char");
  @@ -524,12 +539,13 @@
        */
       protected void renderText(TextArea text) {
           atts.clear();
  -        addAttribute("twsadjust", text.getTextWordSpaceAdjust());
  -        addAttribute("tlsadjust", text.getTextLetterSpaceAdjust());
  -        Map map = text.getTraits();
  -        if (map != null) {
  -            addAttribute("props", getPropString(map));
  +        if (text.getTextWordSpaceAdjust() != 0) {
  +            addAttribute("twsadjust", text.getTextWordSpaceAdjust());
  +        }
  +        if (text.getTextLetterSpaceAdjust() != 0) {
  +            addAttribute("tlsadjust", text.getTextLetterSpaceAdjust());
           }
  +        addTraitAttributes(text);
           startElement("text", atts);
           characters(text.getTextArea());
           endElement("text");
  @@ -541,10 +557,7 @@
        */
       protected void renderInlineParent(InlineParent ip) {
           atts.clear();
  -        Map map = ip.getTraits();
  -        if (map != null) {
  -            addAttribute("props", getPropString(map));
  -        }
  +        addTraitAttributes(ip);
           startElement("inlineparent", atts);
           super.renderInlineParent(ip);
           endElement("inlineparent");
  @@ -583,24 +596,6 @@
           startElement("leader", atts);
           endElement("leader");
           super.renderLeader(area);
  -    }
  -
  -    /**
  -     * Builds a String with attributes from the trait map.
  -     * @param traitMap the trait map
  -     * @return String the generated attributes
  -     */
  -    protected String getPropString(Map traitMap) {
  -        StringBuffer strbuf = new StringBuffer();
  -        Iterator iter = traitMap.entrySet().iterator();
  -        while (iter.hasNext()) {
  -            Map.Entry traitEntry = (Map.Entry) iter.next();
  -            strbuf.append(Trait.getTraitName(traitEntry.getKey()));
  -            strbuf.append(':');
  -            strbuf.append(traitEntry.getValue().toString());
  -            strbuf.append(';');
  -        }
  -        return strbuf.toString();
       }
   
       /** @see org.apache.fop.render.AbstractRenderer */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org