Among other things, I (and my teammates) have spent much of the last year designing significant improvements to xaml2003 that you saw at the PDC in October 2003. While we have spent a lot of time investing in design, we haven't implemented many of the changes yet. As such, I hadn't wanted to do much posting yet.
I got back from vacation last week and found out that we'll continue some implementation very soon. I'm very excited!
A few things to restart the flow of info about what we are doing...
Processes that involve Xaml & Baml
XamlLoading - process of loading xaml and creating objects.
XamlSaving - process of saving an object and all related objects to xaml.
XamlCompiling - process of creating code and a binary representation during compile time.
BamlLoading - process of loading code/binary representation during run time.
People used to throw around a bunch of terms for these things: Parsing, Serialization, etc…
Right now, we think that list is clear and well defined.
Syntax Terminology for setting properties via markup
Attribute Syntax - Setting a property with an xml attribute
<Balloon Brush="Green" />
PropertyTag Syntax - Setting a property with a PropertyTag contained inside the ObjectTag (Balloon). The PropertyTag denotes which property you are trying to set on the outermost ObjectTag. The content inside the PropertyTag provides the value.
<Balloon>
<Balloon.Brush>
<SolidColorBrush Color="Red" Opacity=".5" />
</Balloon.Brush>
</Balloon>
(Previous names - Complex syntax. Compound syntax.)
Content Syntax - Many objects will have a property that is the ContentProperty. For example:
<Button>Hello</Button>
will effectively create a Button and set Button.Content="Hello".
For a long time, we've relied on IAddChild and let component authors decide what their ContentProperty was. We're hoping to decorate types with that information and remove IAddChild from Avalon.
---
Crazy busy for the next several weeks, but I'll try to keep some things coming...
-Rob