Archive of UserLand's first discussion group, started October 5, 1998.

expansionState

Author:Jim Roepcke
Posted:9/16/2000; 9:59:54 AM
Topic:Outline XML files need a name
Msg #:21392 (In response to 21361)
Prev/Next:21391 / 21393

I wrote this last month in the world outline, but i don't know if anyone read it.

I've slightly edited it here because it's no longer in an outline. The original outline is at:

http://www.ourfavoritesongs.com/users/jim@roepcke.com/Interests/Software/Radio%20UserLand.xml

The tag in head seems Frontier-implementation-centric, not XML-centric. It's really hard to output the expansion state from a system that dynamically generates outlineDocuments, especially from a tree structure or object graph, for example. The expansionState tag results in non-Frontier systems needing two passes or a accumulator variable plus callback/macro to generate the correct expansionState information to stick in the More info on dynamically generated outlineDocuments...

Template systems: might specify the XSLT transformed documents: I don't know this technology well yet, but I don't know if the list of ordinals could be generated via XSLT.

Here's something I thought up...

Inherit the parent outline's expansion state, if possible, or "no" otherwise. Not being an XML expert (perhaps that's an advantage? ;-)) perhaps there's a more xml-like way to express this state.

This outline heading is collapsed. This state can be inherited -- when this outline is expanded, all subheads which inherit their expansion state from their parent will be collapsed.

This outline is expanded. This state can be inherited -- subheads which inherit their expansion state from their parent will be expanded. Note that the real issue is that the expansion information currently isn't inline. the "inherited" attribute is a side-idea.

If you know you want everything to be expanded, it's much cheaper, space/bandwidth wise to specify "inherited" at a top level and then ignore the attribute in subheads. It's more object oriented, kind of... child outlines don't have to know how they're being presented by their container outline, it'll just work. When Frontier parsed an OPML doc with expanded attributes in outline tags, it could easily create the expansionState info as its loaded.

I have a lot of ideas for generating dynamic OPML documents for very cool nodeType applications, but I fear it will be quite a bit more difficult with expansionState as it is unless the server is Frontier. Perhaps OPML could support expansionState and the expanded attribute?

Jim


There are responses to this message:


This page was archived on 6/13/2001; 4:56:43 PM.

© Copyright 1998-2001 UserLand Software, Inc.