Skip to main content
1-Visitor
March 2, 2011
Question

SVG 1.1

  • March 2, 2011
  • 9 replies
  • 2147 views

    9 replies

    18-Opal
    March 2, 2011
    Hi Richard-



    You could try dropping the updated Batik jar files into
    $APTCUSTOM/classes, and they should override the default library in the
    Arbortext install tree. There's a decent chance it won't work though,
    especially if any of the interfaces have changed between Batik versions.



    There may also be entity resolution issues depending on where your SVG
    files and the corresponding external entities live. I haven't used SVG
    with external entities before, so I don't know what Batik uses for
    entity resolution, but it may work differently than it does in
    Arbortext, so even if the updated Batik library works you may have to do
    some tweaking of your file setup to get everything where it can be
    found.



    Good luck, and please let us know how it goes.



    --Clay



    Clay Helberg

    Senior Consultant

    TerraXML


    1-Visitor
    March 2, 2011

    Thanks Clay,


    I thought of that and will give it a try. My confidence level for this to work is not terribly high and was wondering if anyone has had definitive success. I'll give it a try and let you know what I find.

    1-Visitor
    March 2, 2011

    Overriding the Batik library didn't seem to help. The interesting thing is that it worked on occassion yesterday. Today I find that it works, but only with entity files that have a limited number of entries. My original entities file has about 250 entries plus comments, and the SVG fails to display. If I cull the entities file down to just a few entries (10-20), it works.


    This is sort of a success, I guess.

    18-Opal
    March 2, 2011
    Hi Richard-



    Thanks for the update. That sounds like an issue with the Batik library
    itself. It might be worth checking the Apache home page for the library
    to see if the limit on number of entities is a known issue.



    Do you get a Java exception when it fails? If so, it might be worth
    examining the stack trace to see if it gives you any hints about what is
    going wrong. You should be able to see this by opening the Java console
    (from either Tools->Java console for 5.3 or Tools->Administrative
    Tools->Java Console for 5.4) *before* you load the bad SVG file.



    --Clay



    Clay Helberg

    Senior Consultant

    TerraXML


    1-Visitor
    March 2, 2011

    I haven't found any capacities on the Batik library. I am currently looking through the bug database to see if there is anything there.


    When I 'overload' the entities file, there is no error or warning thrown. The only indication is the typical missing or invalid graphic symbol in the Editor interface.

    1-Visitor
    March 2, 2011

    Eureeka,


    My problem is that I had invalid byte order in my entities file. After correcting this, I can now load the entire entities file (22kb) in the SVG doctyle subset. Yea!

    18-Opal
    March 2, 2011
    Excellent. Nice detective work, encoding issues can be devilish to
    diagnose.



    --C



    Clay Helberg

    Senior Consultant

    TerraXML


    1-Visitor
    March 2, 2011
    What about the updated Batik jar files? Are they part of the solution or did you remove them from $APTCUSTOM/classes?

    Just curious...

    David

    David S. Taylor

    Project Manager, Structured Information
    Institute for Research in Construction
    National Research Council Canada
    Bldg. M-23A, Room 239
    1200 Montreal Road, Ottawa, ON K1A 0R6
    1-Visitor
    March 4, 2011

    David,


    Initially I had the solution working with the updated Batik library. I have since removed the custom Batik classes and re-tested the document. There appears to be no difference. I originally thought that the problem was an SVG specification difference between 1.0 and 1.1. However, since what I am doing violates SVG best practices and uses the technology outside of the intent for which it was created, I guess it doesn't really matter which spec. implementation I abuse.



    Rich.