From: Chris Lilley (chris@w3.org)
Date: Wed Jun 23 2004 - 18:24:21 PDT
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