Remember, DTDs are not namespace-aware. I did not extend the SVG DTD at all. I added elements (and attributes that were part of a separate namespace. For example,
<svg width="400" height="300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gwj="http://www.anomaly.org/mock_namespace"> <g id="CoolComponent" gwj:extra="Extra attribute information"> <metadata> <gwj:special>Putting the extra tags in a metadata tag is probably the cleanest approach.</gwj:special> </metadata> <rect x="50" y="50" width="300" height="200" fill="blue"/> <gwj:other id="NotPartOfSVG">But it is not required.</gwj:special> </g> </svg> Warning: The above has not actually been tested. However, I've used all of the techniques I've shown in different SVG pages. HTH, G. Wade On 18 Nov 2003 09:37:41 -0700 "Weiming Zhang" <[EMAIL PROTECTED]> wrote: > Hi, Wade, > > When you added new elements or attributes with different name space to > the file, did you use internal DTD to extend SVG DTD? The SVG > specification states it can be done with internal DTD. But I might > have to extend it quite a lot and I do not want to give a big internal > repetitive DTD to each file. Is there a way to do it with external > DTD? > > Thanks. > > Weiming > > On Fri, 2003-10-31 at 11:09, [EMAIL PROTECTED] wrote: > > The way I did this on a similar project was to put the > > new elements and attributes in a different namespace. > > > > Batik does not try to render those elements, but it does > > make them available through the DOM. > > > > G. Wade > > > > Weiming Zhang wrote: > > > Hi, > > > > > > Thank you very much. > > > > > >>>Is it possible to rendering such svg content with Batik? > > >> > > >> Yes, and no. There are some issues with the above example, > > >>like Batik requires an SVGDocument with a 'getRoot' method that > > >>returns the 'root' SVG element. So you might be able to write a > > >>'hacked' document object that 'behaved' correctly however... > > > > > > I tried the sample from SVG specification but it did not work. You > > > are right, it has to have svg element as root for batik rendering. > > > > > > > > >>>I want to use > > >>>some custom XML tags to add some extra information to the > > >document. For>>example, I may specify for certain group of graphic > > >shapes, there are>>certain callbacks. Those callbacks will be > > >specified as either elements>>or attributes. > > >> > > >> This makes me think that you may want (or at least get away > > >with)>something that looks more like: > > >> > > >> <svg:svg width="4cm" height="8cm" version="1.1" > > >> xmlns="http://example.org" > > >> xmlns:svg="http://www.w3.org/2000/svg"> > > >> <svg:ellipse cx="2cm" cy="4cm" rx="2cm" ry="1cm"> > > >> <callback-list> > > >> <!-- callbacks for the ellipse element --> > > >> <callback name="foo" function="bar"/> > > >> </callback-list> > > >> </svg:ellipse> > > >> </svg:svg> > > >> > > >> This will work trivially "right out of the box". > > > > > > This indeed works! But the callback related elements are not in > > > SVG DTD, so batik does not validate the document? If I make a DTD > > > or schema by adding some extra information to SVG DTD (is it > > > possible to do inheritance with a DTD?), how can I let batik know? > > > > > > Thanks. > > > > > > wz > > > > > > > > > > > > > > > ----------------------------------------------------------------- > > > ---- To unsubscribe, e-mail: > > > [EMAIL PROTECTED] For additional commands, > > > e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > ------------------------------------------------------------------- > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- A 'language' is a dialect with an army. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]