[xep-support] Adobe SVG

Nikolai Grigoriev grig at renderx.com
Mon Jun 21 02:19:07 PDT 2004


James,

> I am creating PDF's off-line and am unable to render Adobe SVGs.  
> 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" [

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

If you are using XEP for Java, then the most straightforward method
of resolving the issue consist in leveraging XML catalogs. You
can read about it in XEP User Guide:

http://xep.xattic.com/xep/doc/userguide.html#URI_Resolution

Alternatively, you could simply postprocess the resulting SVG, e.g.
by applying an XSLT identity transformation to them. This would
remove all remote DTD references, and resolve all entities.
Please note that you will need to add catalog support to the XSLT 
processor if you want this process to be performed without network 
access; this is processor-dependent, so please refer to the 
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">


The rest of your entities are just namespace URIs. They never 
get resolved, and should not pose any problem.

Best regards,

Nikolai Grigoriev
RenderX
-------------------
(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to majordomo at 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



More information about the Xep-support mailing list