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]