Gerald Bauer
2004-11-06 02:31:42 UTC
Hello,
Allow me to highlight Marc Clifton's (of MyXAML fame) blog story
titled "What Is XAML?" that highlights some more "XAML is" definitions.
Marc comments:
What's interesting about these definitions is:
* There appears to be confusion regarding whether XAML can be
applied to any object or is intended to work with UI classes;
* While everyone appears to agree that it is a "language", no one
recognizes that the markup is also dependent upon a parser which
introduces syntax specialization (Drew Marsh eludes to this point
though when he mentions complex properties). That is to say, the
parser plays a significant role in the definition of the language and
XAML as a "language" loses some of its generic features because
Microsoft's "parser" implements specialized syntactical constructs, of
which I have already written about.;
* While I'm on the subject of "language", let's also remember that
the element tags and property names in XAML are mapped to classes in
the associated namespace. Therefore, XAML is an open-ended language
as it applies (with notable exception) to any .NET class, past,
present, and future. That is, unless the parser is written to work
with only specific namespaces and classes;
* What the generic definition fails to recognize is that not all
classes are created equally. I've written about it before and I'll
remind everyone again, many third party vendors do not make their
classes particularly declarative (i.e. XAML) friendly. Some of the
definitions above give you the cozy feeling that XAML will work with
any .NET class. This is not true;
So, that said, and having said in the past that MyXaml isn't XAML,
now I'm sure you're wondering how I would define MyXaml. Here's the
definition:
MyXaml is a general purpose XML parser that maps elements to class
instantiation, attributes to property/event assignments, and
sub-elements to collections and concrete instance assignment, allowing
the programmer to declaratively instantiate an object graph utilizing
compliant .NET classes with minimal parser-specific syntactical
requirements, accomplished using the runtime reflection and type
converter features of C# and .NET.
Note that:
* I do not say MyXaml is a language but rather a parser
* I indicate it works only with compliant classes
* I indicate that the parser itself introduces only minimal
syntactical specialization
More @ http://myxaml.com/marcclifton/archive/2004/11/05/524.aspx
- Gerald
-----------------------
Gerald Bauer
Rich Client Conference (RichCon) 2005 - http://richcon.com
XUL News Wire - http://xulnews.com
XUL Alliance - http://xulalliance.org
Allow me to highlight Marc Clifton's (of MyXAML fame) blog story
titled "What Is XAML?" that highlights some more "XAML is" definitions.
Marc comments:
What's interesting about these definitions is:
* There appears to be confusion regarding whether XAML can be
applied to any object or is intended to work with UI classes;
* While everyone appears to agree that it is a "language", no one
recognizes that the markup is also dependent upon a parser which
introduces syntax specialization (Drew Marsh eludes to this point
though when he mentions complex properties). That is to say, the
parser plays a significant role in the definition of the language and
XAML as a "language" loses some of its generic features because
Microsoft's "parser" implements specialized syntactical constructs, of
which I have already written about.;
* While I'm on the subject of "language", let's also remember that
the element tags and property names in XAML are mapped to classes in
the associated namespace. Therefore, XAML is an open-ended language
as it applies (with notable exception) to any .NET class, past,
present, and future. That is, unless the parser is written to work
with only specific namespaces and classes;
* What the generic definition fails to recognize is that not all
classes are created equally. I've written about it before and I'll
remind everyone again, many third party vendors do not make their
classes particularly declarative (i.e. XAML) friendly. Some of the
definitions above give you the cozy feeling that XAML will work with
any .NET class. This is not true;
So, that said, and having said in the past that MyXaml isn't XAML,
now I'm sure you're wondering how I would define MyXaml. Here's the
definition:
MyXaml is a general purpose XML parser that maps elements to class
instantiation, attributes to property/event assignments, and
sub-elements to collections and concrete instance assignment, allowing
the programmer to declaratively instantiate an object graph utilizing
compliant .NET classes with minimal parser-specific syntactical
requirements, accomplished using the runtime reflection and type
converter features of C# and .NET.
Note that:
* I do not say MyXaml is a language but rather a parser
* I indicate it works only with compliant classes
* I indicate that the parser itself introduces only minimal
syntactical specialization
More @ http://myxaml.com/marcclifton/archive/2004/11/05/524.aspx
- Gerald
-----------------------
Gerald Bauer
Rich Client Conference (RichCon) 2005 - http://richcon.com
XUL News Wire - http://xulnews.com
XUL Alliance - http://xulalliance.org