[
Lists Home |
Date Index |
Thread Index
]
Slightly orthogonal, yes, but to demonstrate that even the data head
vs document head perspectives on XML leave out what can
be done with XML, so one should be very wary of best
practices without understanding the underlying model of
the application. VRML had a way of exposing my preconceived
notions from SGML as the humbugs they were. The X3D
experience, even moreso, since in that, the assumptions
of XML and XSD got pushed to the edge. Real time object
models are not really documents or data in the way many
think about those things. X3D is a modeling language
and a real time animation rendering. The advantages
to that from XML are not *as* great as one suspects,
and there are some penalties. There are benefits,
but again, not nearly as many as in transactions,
serialized documents, data base export/imports, etc.
In interchange applications, ummm... ok some but mainly
the same: no new parse, some validation, good db tools,
quick and dirty editors (not really good ones either
because modeling is interactive graphics modeling and
the XML generic tree editors aren't the best approach).
So XML for graphics is a good thing, but no magic and less juju.
Tim Bray said it best when X3D was getting started: get
the object model right first. The markup model is
trivial after that.
But tossing in the best practices without knowing the
object model? That won't be trivial at all, and in fact,
can lead to some really ugly designs. Keep in mind
WHY you use XML and optimize for that.
len
From: Jeff Rafter [mailto:lists@jeffrafter.com]
> OTOH, since ROUTEs are from DEF names to DEF names, USEd
> objects can get you in trouble. If for example, you
> send a transform to the rotation field, all of the
> USE'd objects spin.
In SVG this is roughly similar-- but in general because of the box model
the rotations are cumulative-- so you can rotate a rotation without much
penalty. Where things get sticky in SVG is calculating out the CSS
inheritance and selectors. Applying textures maybe similar-- but
multiply that against all of the possible CSS properties and you don't
end up saving much time with regard to performance. To be fair to
Roger's original post, this is a slightly orthogonal tangent... it is
just a real world example where an id/idref mechanism isn't all it is
cracked up to be. Or in Len's case, is a far better approach.
Cheers,
Jeff Rafter
|