<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Maksim.<br>
<br>
Yes, it is possible.<br>
<br>
Darrin has introduced me to a method with LinQ.<br>
Jason has shown me the xsd.exe tool from Visual Studio.<br>
<br>
My "own" method comes from this website:<br>
<a class="moz-txt-link-freetext" href="http://weblogs.asp.net/cazzu/archive/2003/10/24/33302.aspx">http://weblogs.asp.net/cazzu/archive/2003/10/24/33302.aspx</a><br>
<br>
I have cleaned up the code (which I can't find online anymore?), and
wrapped it with a GUI.<br>
The code is avalible in the SVN, in the folder "MaestroAPI/XSD
Generator".<br>
<br>
The problem with xsd.exe is that in VS 2003, it did not create
properties, only fields.<br>
In 2003/2005/2008 it does not generate collections, so all list methods
are arrays, which is annoying.<br>
<br>
I am working on another solution that uses xsd.exe for the first run,
and then updates the code to use generic List&lt;&gt; properties.<br>
It works by replacing all fields/properties of the array type with a
List&lt;&gt; type, pretty basic.<br>
<br>
With the LinQ method list properties are collections as expected. The
LinQ classes have static methods for serializing/deserializing objects.<br>
<br>
The xsd.exe based ones can be serialized with the XmlSerializer class
from the .Net Xml standard package.<br>
<br>
<pre class="moz-signature" cols="72">Regards, Kenneth Skovhede, GEOGRAF A/S
</pre>
<br>
<br>
Maksim Sestic skrev:
<blockquote cite="mid:001e01c8be61$9ddada90$0701a8c0@max2" type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta content="MSHTML 6.00.6000.16640" name="GENERATOR">
  <div dir="ltr" align="left"><span class="093455711-25052008"><font
 color="#0000ff" face="Verdana" size="2">Hi Kenneth, Darrin,</font></span></div>
  <div dir="ltr" align="left"><span class="093455711-25052008"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="093455711-25052008"><font
 color="#0000ff" face="Verdana" 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"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="093455711-25052008"><font
 color="#0000ff" face="Verdana" size="2">1) Fetch the XSD (or XML with
embedded schema)</font></span></div>
  <div dir="ltr" align="left"><span class="093455711-25052008"><font
 color="#0000ff" face="Verdana" 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
 color="#0000ff" face="Verdana" 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"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="093455711-25052008"><font
 color="#0000ff" face="Verdana" 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"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="093455711-25052008"><font
 color="#0000ff" face="Verdana" 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"></span>&nbsp;</div>
  <div dir="ltr" align="left"><span class="093455711-25052008"><font
 color="#0000ff" face="Verdana" size="2">Regards,</font></span></div>
  <div dir="ltr" align="left"><span class="093455711-25052008"><font
 color="#0000ff" face="Verdana" size="2">Maksim Sestic</font></span></div>
  <br>
  <div class="OutlookMessageHeader" dir="ltr" align="left" lang="en-us">
  <hr tabindex="-1"><font face="Tahoma" size="2"><b>From:</b>
<a class="moz-txt-link-abbreviated" href="mailto:mapguide-users-bounces@lists.osgeo.org">mapguide-users-bounces@lists.osgeo.org</a>
[<a class="moz-txt-link-freetext" href="mailto:mapguide-users-bounces@lists.osgeo.org">mailto:mapguide-users-bounces@lists.osgeo.org</a>] <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>
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
 moz-do-not-send="true" 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-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
      <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-style: solid none none; border-color: -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
      <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" size="2" width="100%"> </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" size="4"
 width="90%">

  </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 size="4" width="90%">
_______________________________________________
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 size="4" width="90%">
_______________________________________________
mapguide-users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
 href="mailto:mapguide-users@lists.osgeo.org">mapguide-users@lists.osgeo.org</a>
<a moz-do-not-send="true" 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 moz-do-not-send="true" href="http://www.eset.com">http://www.eset.com</a><br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
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>
</body>
</html>