Re: [xep-support] Adobe SVG

From: Chris Lilley (chris@w3.org)
Date: Wed Jun 23 2004 - 18:24:21 PDT

  • Next message: G. Ken Holman: "Re: [xep-support] Aligning tables?"

    On Monday, June 21, 2004, 11:19:07 AM, Nikolai wrote:

    NG> James,

    >> I am creating PDF's off-line and am unable to render Adobe SVGs.

    <pedant>Adobe SVGs?? </pedant>
    >> I assume it is because of the entities they define:
    >>
    >> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
    >> "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [

    NG> You probably mean that you are unable to render these SVGs on
    NG> a computer that has no Internet access. This may happen because
    NG> of the DTD reference: by the XML spec, the XML parser has
    NG> to access the DTD in order to resolve entities.

    No, by the XML spec the parser may, optionally, access the external DTD
    subset. It must access the internal DTD subset, if there is one, but
    that does not require Internet access. However, your sample does have
    them as the trailing [ indicates.

    Actually entity declarations are very common in SVG, because it never
    went through the 'not really XML' stage that HTML did.

    NG> If you are using XEP for Java, then the most straightforward method
    NG> of resolving the issue consist in leveraging XML catalogs.

    Yes.

    NG> Alternatively, you could simply postprocess the resulting SVG, e.g.
    NG> by applying an XSLT identity transformation to them. This would
    NG> remove all remote DTD references, and resolve all entities.

    That should not be required - if it is, then your parser is broken.
    No Internet access is needed to resolve entities which are given in the
    internal DTD subset.

    NG> Please note that you will need to add catalog support to the XSLT
    NG> processor if you want this process to be performed without network
    NG> access; this is processor-dependent, so please refer to the
    NG> documentation of your XSLT processor.
        
    >> <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
    >> <!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
    >> <!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
    >> <!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
    >> <!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
    >> <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
    >> <!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
    >> <!ENTITY ns_custom
    >> "http://ns.adobe.com/GenericCustomNamespace/1.0/">
    >> <!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
    >> <!ENTITY ns_svg "http://www.w3.org/2000/svg">
    >> <!ENTITY ns_xlink "http://www.w3.org/1999/xlink">

    Wow. Now I see why you called it an 'Adobe SVG' :) I suggest that you
    look at the export options in Adobe Illustrator and turn of as much of
    this verbiage as possible.

    There is obviously a market for some sort of SVG lint or tidy program
    that cleans out all these things.

    -- 
     Chris Lilley                    mailto:chris@w3.org
     Chair, W3C SVG Working Group
     Member, W3C Technical Architecture Group
    -------------------
    (*) To unsubscribe, send a message with words 'unsubscribe xep-support'
    in the body of the message to majordomo@renderx.com from the address
    you are subscribed from.
    (*) By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/tos.html
    


    This archive was generated by hypermail 2.1.5 : Thu Jun 24 2004 - 11:18:31 PDT