Regarding recursive xml/schema. I agree with all the posts so far - its a great fit for some things. And it works well and the tools generally work well for it (like xslt). However a warning ... dont abuse it. I've had the (dis)pleasure of having to work with a XML (schema-less) which reuses a generic term where they should be specific. To spare the innocent lets say its something like this <block type="header" level="3">Header</block> <block type="paragraph" indent="10">A Paragraph</block> <bock type="list" format="roman">A List</block> ... The real XML was actually worse as it didnt have the "type" ... you had to know by the depth what 'kind of thing' the element was. And they were really different things. Writing a schema for this and processing and validating are really painful. Even with the use of local element definitions in schema, its hard to write a schema for this kind of use. XSLT is hard too (without type 'type'). And reading the XML is painful as you need to know the context to understand it. So I suggest one can go too far. ---------------------------------------- David A. Lee |