<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16640" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>Hi Kenneth, Darrin,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>Regarding the LinQ and XSD codegen&nbsp;- is it possible to 
generate a C#/VB.NET serializable codebase out of XSD? I have been experimenting 
a while ago with some custom&nbsp;codegen engine based on .NET 2.0 (due to 
generics support), and I think it's doable - even without LinQ. The basic 
concept is similar to VS.NET's own&nbsp;codegen tools:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>1) Fetch the XSD (or XML with embedded 
schema)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>2) Generate codebase of desired flawour (C#, VB.NET, 
J#...)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>3)&nbsp;Generated&nbsp;serializable object definitions, 
according to (compatible with) source schema</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>...generate codebase-embedded FDO-based spatial queries 
based on entity relationships?... :-)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008></SPAN><SPAN 
class=093455711-25052008><FONT face=Verdana color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>Kenneth, I presume you were thinking of the same thing (1, 
2 and 3)?</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>Regards,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093455711-25052008><FONT face=Verdana 
color=#0000ff size=2>Maksim Sestic</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> mapguide-users-bounces@lists.osgeo.org 
[mailto:mapguide-users-bounces@lists.osgeo.org] <B>On Behalf Of </B>Kenneth 
Skovhede, GEOGRAF A/S<BR><B>Sent:</B> Sunday, May 25, 2008 00:13<BR><B>To:</B> 
MapGuide Users Mail List<BR><B>Subject:</B> Re: [mapguide-users] .NET Objects 
for working with Mapguide Resources<BR></FONT><BR></DIV>
<DIV></DIV>I'm not sure what you mean by "work with the web tier API".<BR>There 
are two different API's that are refered to as Web tier, the 
MapGuideDotNetApi.dll and the http interface.<BR>Both of them are supported by 
MaestroAPI, using the LocalNativeConnetion and HttpServerConnection.<BR><BR>You 
can set up a http connection like this:<BR><TT>ServerConnectionI connection = 
new HttpServerConnection(new Uri(<A class=moz-txt-link-rfc2396E 
href="http://localhost/mapguide/mapagent/mapagent.fcgi">"http://localhost/mapguide/mapagent/mapagent.fcgi"</A>), 
"Anonymous", "");</TT><BR>And one using the local connection like 
this:<BR><TT>ServerConnectionI connection = new 
LocalNativeConnection("serverconfig.ini", "Anonymous", "");</TT><BR><BR>The http 
connection is portable and does not require the mapguide dll's. The native is a 
bit faster, because the http protocol and webserver introduces 
overhead.<BR><BR>Once you have a connection, you can read an object from the 
repository, using either interface, by issuing the 
following:<BR><TT>LayerDefinition layer = 
connection.GetLayerDefinition("Library://layer.LayerDefinition");</TT><BR><BR>And 
write it back like this:<BR><TT>connection.SaveResource(layer);</TT><BR><BR>Or 
modify, and save under a new name:<BR><TT>layer.BackgroundColor = 
Color.Blue;<BR>connection.SaveResource(layer, "Library://new 
layer.LayerDefinition");<BR></TT><BR>There are also functions to generate the 
full paths, from name and type.<BR><BR><PRE class=moz-signature cols="72">Regards, Kenneth Skovhede, GEOGRAF A/S
</PRE><BR><BR>Kenneth Skovhede, GEOGRAF A/S skrev: 
<BLOCKQUOTE cite=mid:4838872E.1090404@geograf.dk type="cite">Yes. I have moved 
  the entire site over on the MapGuide wiki.<BR>Documentation can now be found 
  here:<BR><A class=moz-txt-link-freetext 
  href="http://trac.osgeo.org/mapguide/wiki/maestro" 
  moz-do-not-send="true">http://trac.osgeo.org/mapguide/wiki/maestro</A><BR>And 
  for the API:<BR><A class=moz-txt-link-freetext 
  href="http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI" 
  moz-do-not-send="true">http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI</A><BR><BR>Too 
  bad about the LinQ dependancy, it would be a lot cleaner to do it that 
  way.<BR><BR>I have not exposed functionality in the way you ask, but it is 
  there.<BR>You can do it with code like this:<BR><TT>Stream s = ... stream with 
  Xml data ...<BR>LayerDefinition layer = 
  (LayerDefinition)con.DeserializeObject(typeof(LayerDefinition), 
  s);<BR>layer.BackgroundColor = Color.White;<BR>s = 
  con.SerializeObject(s);</TT><BR><BR>The methods could actually be static, but 
  they are not because they use the server version to restrict/convert the 
  version's of the documents.<BR><BR>It is possible to serialize/deserialise the 
  objects manually, using the XmlSerializer from .Net:<BR><TT>XmlSerializer ser 
  = new XmlSerializer(typeof(LayerDefinition));<BR>layer = 
  (LayerDefinition)con.Deserialize(s);<BR></TT><TT>layer.BackgroundColor = 
  Color.Green;<BR></TT><TT>ser.Serialize(s, layer);</TT><BR><BR>There is a 
  function in the Utility class that strips the UTF-8 BOM:<BR><TT>s = 
  Utility.RemoveUTF8BOM(s);</TT><BR><BR><BR><PRE class=moz-signature cols="72">Regards, Kenneth Skovhede, GEOGRAF A/S
  </PRE><BR><BR>Darrin Maidlow skrev: 
  <BLOCKQUOTE cite=mid:004701c8bddf$4af50f30$e0df2d90$@com type="cite">
    <META content="Microsoft Word 12 (filtered medium)" name=Generator><!--[if !mso]>
    <STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
    <STYLE>@font-face {
        font-family: Cambria Math;
}
@font-face {
        font-family: Calibri;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Verdana;
}
@font-face {
        font-family: Consolas;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Calibri","sans-serif"
}
LI.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Calibri","sans-serif"
}
DIV.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Calibri","sans-serif"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
PRE {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; COLOR: black; FONT-FAMILY: "Courier New"; mso-style-priority: 99; mso-style-link: "HTML Preformatted Char"
}
SPAN.HTMLPreformattedChar {
        COLOR: black; FONT-FAMILY: Consolas; mso-style-priority: 99; mso-style-link: "HTML Preformatted"; mso-style-name: "HTML Preformatted Char"
}
SPAN.EmailStyle19 {
        COLOR: windowtext; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal
}
SPAN.EmailStyle20 {
        COLOR: #1f497d; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal
}
SPAN.EmailStyle21 {
        COLOR: #1f497d; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal-reply
}
.MsoChpDefault {
        FONT-SIZE: 10pt; mso-style-type: export-only
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
    <DIV class=Section1>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">Hi 
    Kenneth,<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">Thanks for the 
    feedback.&nbsp; You are very right in that dual development streams would be 
    a bad thing and a waste of a lot of time.&nbsp; &nbsp;What I was hoping to 
    accomplish with that XSD codegen was to create a set of relatively light 
    weight objects to roundtrip the xml. &nbsp;Eliminate the use of XML tools 
    for working with the mapguide entities, then return the entities back to XML 
    for use with the Mapguide API.&nbsp; &nbsp;&nbsp;I was not planning a full 
    API project.&nbsp; Again, you are right in that there is still some messing 
    around needed to be done with the linq code &#8211; I had problems with nulls just 
    as you mentioned =)<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">To answer your 
    question, as far as I can see, the linq dll is required for the generated 
    code to function.&nbsp; A lot of the generated functionality requires 
    methods that exist within the linq to XSD dll file.<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">I spent some time 
    trying to find more info on the MeastroAPI today, but was not able to find 
    much.&nbsp; Likely because of the move over to osgeo.&nbsp; I have not had a 
    chance to actually work with the API again yet, but perhaps you could answer 
    a couple questions for me.<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">Does Meastro API come 
    with the abovementioned objects I was looking for?&nbsp; Can I shove some 
    XML from the repository into a new object, do some work, and then spit the 
    new XML back out?&nbsp; If so, I&#8217;m assuming that I could continue to work 
    with the web tier API from Mapguide?<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: rgb(31,73,125)">thx<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: rgb(31,73,125)">darrin<O:P></O:P></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"><O:P></O:P></SPAN></P>
    <DIV>
    <DIV 
    style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: rgb(181,196,223) 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 3pt; BORDER-BOTTOM: medium none">
    <P class=MsoNormal><B><SPAN 
    style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Tahoma','sans-serif'">From:</SPAN></B><SPAN 
    style="FONT-SIZE: 10pt; COLOR: windowtext; FONT-FAMILY: 'Tahoma','sans-serif'"> 
    <A class=moz-txt-link-abbreviated 
    href="mailto:mapguide-users-bounces@lists.osgeo.org" 
    moz-do-not-send="true">mapguide-users-bounces@lists.osgeo.org</A> [<A 
    class=moz-txt-link-freetext 
    href="mailto:mapguide-users-bounces@lists.osgeo.org" 
    moz-do-not-send="true">mailto:mapguide-users-bounces@lists.osgeo.org</A>] 
    <B>On Behalf Of </B>Kenneth Skovhede, GEOGRAF A/S<BR><B>Sent:</B> Thursday, 
    May 22, 2008 12:04 PM<BR><B>To:</B> MapGuide Users Mail 
    List<BR><B>Subject:</B> Re: [mapguide-users] .NET Objects for working with 
    Mapguide Resources<O:P></O:P></SPAN></P></DIV></DIV>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>That is a smart way to convert Xsd to classes. Is it 
    possible to extract the generated code and use it without LinQ for .Net 
    2.0?<BR><BR>I'm not sure what you mean by "wanted to stay closer to the core 
    API". Your generated classes expose the MapGuide Xml as .Net classes.<BR>You 
    can then use .Net objects "directly" instead of handling Xml. That is 
    exactly what the MaestroAPI does.<BR><BR>I have implemented a connection 
    interface that enables you to communicate with MapGuide either via the 
    MapGuide API, or through Http.<BR>If you use the LocalNativeConnection 
    exclusively, MaestroAPI is doing the exact same thing your code 
    does.<BR><BR>If you (or someone else) has questions about MaestroAPI usage, 
    please ask away.<BR>If you (or someone else) find missing functionality, or 
    has improvements for MaestroAPI, let me know.<BR>I have a short introduction 
    to MaestroAPI usage here:<BR><A 
    href="http://code.google.com/p/mapstudioos/wiki/HowToUseMapGuideAPI" 
    moz-do-not-send="true">http://code.google.com/p/mapstudioos/wiki/HowToUseMapGuideAPI</A><BR>(The 
    site is being migrated to here: <A 
    href="http://trac.osgeo.org/mapguide/wiki/maestro" 
    moz-do-not-send="true">http://trac.osgeo.org/mapguide/wiki/maestro</A>)<BR><BR>I 
    like your code, and if you are up for it, I think we both could benefit from 
    one great API extension, rather than two good ones.<BR>I have learned that 
    after you have the serialization in place there are many places where you 
    must handle trivial stuff like <BR>converting null string to empty string, 
    empty collections to null collections, etc. MaestroAPI handles much of this 
    already,<BR>and I would be sad to see you spend your time implementing that 
    for another project.<BR><BR><O:P></O:P></P><PRE>Regards, Kenneth Skovhede, GEOGRAF A/S<O:P></O:P></PRE>
    <P class=MsoNormal><BR><BR>Darrin Maidlow skrev: <O:P></O:P></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">Hi 
    Maksim,</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN style="COLOR: rgb(31,73,125)">I looked at early on 
    in my learnage, but wanted to stay closer to the core API provided by 
    Mapguide Project / Autodesk. &nbsp;&nbsp;ADN support could offer some help 
    with the built in API, and if needed escalate off to the devs.&nbsp; I did 
    also have some problems getting the Maestro API running &#8211; but that was right 
    around the transition between 1.1 and 2.0 &#8211; and working all night with too 
    much redbull probably didn&#8217;t help either =)</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: rgb(31,73,125)">darrin</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
style="COLOR: rgb(31,73,125)"></SPAN><O:P></O:P></P>
    <DIV>
    <DIV 
    style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 3pt; BORDER-BOTTOM: medium none">
    <P class=MsoNormal><B><SPAN 
    style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">From:</SPAN></B><SPAN 
    style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'"> <A 
    href="mailto:mapguide-users-bounces@lists.osgeo.org" 
    moz-do-not-send="true">mapguide-users-bounces@lists.osgeo.org</A> [<A 
    href="mailto:mapguide-users-bounces@lists.osgeo.org" 
    moz-do-not-send="true">mailto:mapguide-users-bounces@lists.osgeo.org</A>] 
    <B>On Behalf Of </B>Maksim Sestic<BR><B>Sent:</B> Thursday, May 22, 2008 
    7:40 AM<BR><B>To:</B> 'MapGuide Users Mail List'<BR><B>Subject:</B> RE: 
    [mapguide-users] .NET Objects for working with Mapguide 
    Resources</SPAN><O:P></O:P></P></DIV></DIV>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Verdana','sans-serif'">Hi 
    Darrin,</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Verdana','sans-serif'">Thanks 
    for the tip. Please take a&nbsp;look at Kenneth's Meastro 
    API:</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Verdana','sans-serif'"><A 
    href="http://trac.osgeo.org/mapguide/browser/trunk/Tools/Maestro/MaestroAPI" 
    moz-do-not-send="true">http://trac.osgeo.org/mapguide/browser/trunk/Tools/Maestro/MaestroAPI</A></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Verdana','sans-serif'">It 
    relies on .NET 2.0 for MG types (de)serialization.</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"></SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Verdana','sans-serif'">Regards,</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Verdana','sans-serif'">Maksim 
    Sestic</SPAN><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"></SPAN><O:P></O:P></P>
    <DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><SPAN 
    style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'">
    <HR align=center width="100%" SIZE=2>
    </SPAN></DIV>
    <P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><B><SPAN 
    style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">From:</SPAN></B><SPAN 
    style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'"> <A 
    href="mailto:mapguide-users-bounces@lists.osgeo.org" 
    moz-do-not-send="true">mapguide-users-bounces@lists.osgeo.org</A> [<A 
    href="mailto:mapguide-users-bounces@lists.osgeo.org" 
    moz-do-not-send="true">mailto:mapguide-users-bounces@lists.osgeo.org</A>] 
    <B>On Behalf Of </B>Darrin Maidlow<BR><B>Sent:</B> Thursday, May 22, 2008 
    15:28<BR><B>To:</B> <A href="mailto:mapguide-users@lists.osgeo.org" 
    moz-do-not-send="true">mapguide-users@lists.osgeo.org</A><BR><B>Subject:</B> 
    [mapguide-users] .NET Objects for working with Mapguide 
    Resources</SPAN><O:P></O:P></P>
    <P class=MsoNormal>Hi List,<O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>I&#8217;ve written two posts I thought I would share with you 
    on the topic of .NET based MG dev.&nbsp; The first describes a method I&#8217;ve 
    worked out to create relatively robust .NET based objects based on the Xml 
    Schema Definitions provided with the server.&nbsp;&nbsp; &nbsp;Please note, 
    I currently am only working with MGE 2009.&nbsp; I have not tried this code 
    on MGOS.&nbsp; If you do try them on MGOS, please let me know what results 
    have.<O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>In a nutshell, one can get the resource XML from the 
    resource service, load it into the object with the provided .parse method, 
    manipulate the object (without having to use xml) e.g. add child objects, 
    change properties etc, and finally spit it back out to XML for saving back 
    to the repository.&nbsp; Yay no longer need to be jealous of the PHP guys 
    and their object factories =D<O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>The second is a dynamic authoring example using these 
    objects, manipulating the MapDefinition before the viewer has loaded 
    it.<O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>Both come with full source code, and Visual Studio 2008 
    projects.&nbsp;&nbsp; I hope they are helpful to the other .NET devs out 
    there. <O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal><A 
    href="http://www.webrade.com/blogs/darrin/2008/05/16/CreatingNETObjectsForMapguideXMLSchemaDefinitionsXSDUsingLINQ.aspx" 
    moz-do-not-send="true">http://www.webrade.com/blogs/darrin/2008/05/16/CreatingNETObjectsForMapguideXMLSchemaDefinitionsXSDUsingLINQ.aspx</A><O:P></O:P></P>
    <P class=MsoNormal><A 
    href="http://www.webrade.com/blogs/darrin/2008/05/21/DynamicAuthoringInMapguideEnterpriseBeforeTheViewerHasLoaded.aspx" 
    moz-do-not-send="true">http://www.webrade.com/blogs/darrin/2008/05/21/DynamicAuthoringInMapguideEnterpriseBeforeTheViewerHasLoaded.aspx</A><O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal>Enjoy.<O:P></O:P></P>
    <P class=MsoNormal>darrin<O:P></O:P></P>
    <P class=MsoNormal><O:P></O:P></P>
    <P class=MsoNormal><SPAN 
    style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"><BR><BR>__________ 
    NOD32 3118 (20080521) Information __________<BR><BR>This message was checked 
    by NOD32 antivirus system.<BR><A href="http://www.eset.com" 
    moz-do-not-send="true">http://www.eset.com</A></SPAN><O:P></O:P></P><PRE><O:P>&nbsp;</O:P></PRE><PRE style="TEXT-ALIGN: center"><HR align=center width="90%" SIZE=4>

  </PRE><PRE><O:P>&nbsp;</O:P></PRE><PRE>_______________________________________________<O:P></O:P></PRE><PRE>mapguide-users mailing list<O:P></O:P></PRE><PRE><A href="mailto:mapguide-users@lists.osgeo.org" moz-do-not-send="true">mapguide-users@lists.osgeo.org</A><O:P></O:P></PRE><PRE><A href="http://lists.osgeo.org/mailman/listinfo/mapguide-users" moz-do-not-send="true">http://lists.osgeo.org/mailman/listinfo/mapguide-users</A><O:P></O:P></PRE><PRE>&nbsp; <O:P></O:P></PRE></DIV><PRE wrap=""><HR width="90%" SIZE=4>
_______________________________________________
mapguide-users mailing list
<A class=moz-txt-link-abbreviated href="mailto:mapguide-users@lists.osgeo.org" moz-do-not-send="true">mapguide-users@lists.osgeo.org</A>
<A class=moz-txt-link-freetext href="http://lists.osgeo.org/mailman/listinfo/mapguide-users" moz-do-not-send="true">http://lists.osgeo.org/mailman/listinfo/mapguide-users</A>
  </PRE></BLOCKQUOTE><PRE wrap=""><HR width="90%" SIZE=4>
_______________________________________________
mapguide-users mailing list
<A class=moz-txt-link-abbreviated href="mailto:mapguide-users@lists.osgeo.org">mapguide-users@lists.osgeo.org</A>
<A class=moz-txt-link-freetext href="http://lists.osgeo.org/mailman/listinfo/mapguide-users">http://lists.osgeo.org/mailman/listinfo/mapguide-users</A>
  </PRE></BLOCKQUOTE><BR><BR>__________ NOD32 3128 (20080523) Information 
__________<BR><BR>This message was checked by NOD32 antivirus system.<BR><A 
href="http://www.eset.com">http://www.eset.com</A><BR></BODY></HTML>