[mapguide-users] Modify mapdefinition in a layout

euskalmap ziburudebian at free.fr
Tue Mar 17 11:50:11 EDT 2009


I have do 
  using(System.IO.FileStream fs = System.IO.File.Create("test.xml"))
  fs.Write(encodedDefinition, 0, encodedDefinition.Length);

The result is here :  http://patxi.mayol.free.fr/test.xml
http://patxi.mayol.free.fr/test.xml 

How know that my document have the utf-8 xml preamble ?

About the string "xmlns=\"namespace\"", i have not this in my xml file.
Thanks



Kenneth Skovhede, GEOGRAF A/S wrote:
> 
> I'm am a bit puzzled by this:
> 
> String xmlString = doc.DocumentElement.OuterXml; 
> ...
> "After modif = \ n "+"<? xml version ='1 .0 'encoding =' UTF-8'?>"+
> xmlString
> 
> It seems that the xmlString is missing the xml preamble?
> Just to clarify: the document MUST have the utf-8 xml preamble, and MUST 
> NOT have the utf-8 BOM.
> 
> The file you sent does not appear to be made from the encoded data.
> You must do something like:
> using(System.IO.FileStream fs = System.IO.File.Create("test.xml"))
>   fs.Write(encodedDefinition, 0, encodedDefinition.Length);
> 
> Otherwise there are too many places that can introduce small differences.
> 
> btw, in C#, you can make a string with quotes like this:
> "xmlns=\"namespace\""
> or
> @"xmlns=""namespace""" //VB style
> 
> Regards, Kenneth Skovhede, GEOGRAF A/S
> 
> 
> 
> euskalmap skrev:
>> The file is generate in my code after the instruction
>> 'resourceSrvc.SetResource(webLayoutId, contentByteSource.GetReader(),
>> null);' So, i do not understand why the file is fine and my mapdefinition
>> in
>> my layout generate the error An exception occurred in the XML parser.
>>
>> If you have few minutes you can see the trace of my function
>> ag_SetLayoutMap
>> here :  http://patxi.mayol.free.fr/Trace.htm
>> http://patxi.mayol.free.fr/Trace.htm 
>> and a sample of my C# code here :  http://patxi.mayol.free.fr/sample.asp
>> http://patxi.mayol.free.fr/sample.asp , who is describe the
>> ag_SetLayoutMap
>> function.
>> thanks
>> regards, Francis
>>
>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>   
>>> Is this a question?
>>>
>>> The un-edited file loads fine for me.
>>>
>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>
>>>
>>>
>>> euskalmap skrev:
>>>     
>>>> Hi,
>>>> I have not send the good link of my file; in the previous version , i
>>>> have
>>>> trying to delete in the xml the string
>>>> "xsi:noNamespaceSchemaLocation="WebLayout-1.0.0.xsd".
>>>> So, my file is :  http://patxi.mayol.free.fr/Untitled1.xml
>>>> http://patxi.mayol.free.fr/Untitled1.xml 
>>>>
>>>> So i test GetResourceContent rather than SetResource : 
>>>> If i try  http://localhost/mapguide/mapagent/index.html
>>>> http://localhost/mapguide/mapagent/index.html  with GetResourceContent
>>>> on
>>>> "Library://Ag Base/Mpg Urbanisme.WebLayout" and submit, i have this
>>>> result : 
>>>>
>>>> http://n2.nabble.com/file/n2490672/test.jpg 
>>>>
>>>> The message in header, in french, is in english : This file XML does
>>>> not
>>>> seem to have of information of style associated with him. The tree of
>>>> the
>>>> document is shown below.
>>>>
>>>> SO
>>>>
>>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>>   
>>>>       
>>>>> A bit tricky, something to do with how .Net handles Xml I think.
>>>>>
>>>>> The document is missing the attribute:
>>>>> xsi:noNamespaceSchemaLocation="WebLayout-1.0.0.xsd"
>>>>>
>>>>> Which is required, because it is used for versioning and validation.
>>>>> If you take your document and open this page:
>>>>> http://localhost/mapguide/mapagent/index.html
>>>>>
>>>>> Then click "Resource" -> "SetResource", point out the file,
>>>>> and in the "ResourceID" field type: "Library://mytest.WebLayout".
>>>>>
>>>>> Then set the "Content" field to point to the file and click submit.
>>>>> You will see the error you mention.
>>>>>
>>>>> Now add the above attribute, so the second line in the document
>>>>> becomes:
>>>>> <WebLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
>>>>> xsi:noNamespaceSchemaLocation="WebLayout-1.0.0.xsd">
>>>>>
>>>>> Save the document, click back in the browser, and then "Submit" once
>>>>> more.
>>>>> This time it works. (Remember to check that the ResourceID and Content 
>>>>> field has not been reset).
>>>>>
>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>>
>>>>>
>>>>>
>>>>> euskalmap skrev:
>>>>>     
>>>>>         
>>>>>> Hi,
>>>>>> Yes, i have see the log file, but there is no more information that
>>>>>> 'XML
>>>>>> Parser error'.
>>>>>> The logfile is :
>>>>>> http://n2.nabble.com/file/n2474100/logfile.jpg 
>>>>>>
>>>>>> About the XML file, after modification i have this file : 
>>>>>> http://patxi.mayol.free.fr/mytest.xml
>>>>>> http://patxi.mayol.free.fr/mytest.xml 
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>> regards
>>>>>>
>>>>>>
>>>>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>>>>   
>>>>>>       
>>>>>>           
>>>>>>> Did you look in the error.log file?
>>>>>>> Could you try to save the xml document after modification, and send
>>>>>>> a 
>>>>>>> link to it?
>>>>>>>
>>>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> euskalmap skrev:
>>>>>>>     
>>>>>>>         
>>>>>>>             
>>>>>>>> Hi,
>>>>>>>> In fact, before modification, i have 
>>>>>>>> MgResourceIdentifier webLayoutId = new
>>>>>>>> MgResourceIdentifier(pst_weblayout) 
>>>>>>>> with pst_weblayout = "Library://Ag Base/MyLayout.WebLayout" 
>>>>>>>> I search the xml node for modify Mapdefinition resource and 
>>>>>>>> after modification i have in instruction 
>>>>>>>> webLayoutId = new MgResourceIdentifier(str_NewMapDefinition) 
>>>>>>>> with str_NewMapDefinition=Session:xxxxxxxxx//MyMap.MapDefinition
>>>>>>>> So, i set the resource and i have the message 'An exception
>>>>>>>> occurred
>>>>>>>> in
>>>>>>>> the
>>>>>>>> XML parser.'
>>>>>>>> I say it is simply to migrate vb to c#, but before i want to
>>>>>>>> understand.
>>>>>>>> I have use same sample who use this method on the forum; but i do
>>>>>>>> not
>>>>>>>> explain where is my bug?
>>>>>>>> thanks a lot for your help
>>>>>>>>
>>>>>>>>
>>>>>>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>>>>>>   
>>>>>>>>       
>>>>>>>>           
>>>>>>>>               
>>>>>>>>> It is very trivial to convert the sample to C#... in fact I just
>>>>>>>>> did:
>>>>>>>>> http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI/samples/CustomizedZoomWithWebLayout
>>>>>>>>>
>>>>>>>>> If you just want to understand what happens, there should be a
>>>>>>>>> more 
>>>>>>>>> verbose message in the error.log:
>>>>>>>>> C:\Program Files\MapGuideOpenSource2.0\Server\logs\error.log
>>>>>>>>>
>>>>>>>>> Also, are you certain that the pst_map is a valid map identifier,
>>>>>>>>> and 
>>>>>>>>> that str_NewMapDefinition is a valid resource identifier?
>>>>>>>>>
>>>>>>>>> I'm guessing that pst_map is a string like: 
>>>>>>>>> "Library://map.MapDefinition", so your str_NewMapDefinition
>>>>>>>>> becomes:
>>>>>>>>> Session:<sessionid>//Library://map.MapDefinition.MapDefinition
>>>>>>>>>
>>>>>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> euskalmap skrev:
>>>>>>>>>     
>>>>>>>>>         
>>>>>>>>>             
>>>>>>>>>                 
>>>>>>>>>> Hi,
>>>>>>>>>> It do not run with the parameter false in the instruction
>>>>>>>>>> UTF8Encoding
>>>>>>>>>> utf8
>>>>>>>>>> = new UTF8Encoding(false);
>>>>>>>>>> In your link sample(
>>>>>>>>>> http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI/samples/CustomizedZoomWithWebLayout
>>>>>>>>>> http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI/samples/CustomizedZoomWithWebLayout
>>>>>>>>>> ), it is a vb code with the mapguide maetro api; i will not
>>>>>>>>>> change
>>>>>>>>>> all
>>>>>>>>>> my
>>>>>>>>>> code because i use c# with mapguide api; i want to undestand why
>>>>>>>>>> it
>>>>>>>>>> do
>>>>>>>>>> not
>>>>>>>>>> run; i use the same method to change the filter in layers and it
>>>>>>>>>> run
>>>>>>>>>> very
>>>>>>>>>> well ! what's append in my code?
>>>>>>>>>>
>>>>>>>>>> thanks
>>>>>>>>>>
>>>>>>>>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>>>>>>>>   
>>>>>>>>>>       
>>>>>>>>>>           
>>>>>>>>>>               
>>>>>>>>>>                   
>>>>>>>>>>> You need to create the UTF8Encoding object with the parameter
>>>>>>>>>>> "false" 
>>>>>>>>>>> (meaning disable BOM).
>>>>>>>>>>>
>>>>>>>>>>> A slightly easier way to do this:
>>>>>>>>>>> http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI/samples/CustomizedZoomWithWebLayout
>>>>>>>>>>>
>>>>>>>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> euskalmap skrev:
>>>>>>>>>>>     
>>>>>>>>>>>         
>>>>>>>>>>>             
>>>>>>>>>>>                 
>>>>>>>>>>>                     
>>>>>>>>>>>> Hi
>>>>>>>>>>>> I provide the end user with a link to my special page (see the
>>>>>>>>>>>> code1).
>>>>>>>>>>>> In
>>>>>>>>>>>> that page i redirect to the MapGuide viewer files
>>>>>>>>>>>> (Response.Redirect).
>>>>>>>>>>>> code1:
>>>>>>>>>>>> http://n2.nabble.com/file/n2462320/sample1.jpg 
>>>>>>>>>>>> The fonction SetLayout Map modify the mapdefinition in my
>>>>>>>>>>>> layout.
>>>>>>>>>>>> See
>>>>>>>>>>>> image
>>>>>>>>>>>> here :
>>>>>>>>>>>> http://n2.nabble.com/file/n2462320/sample2.jpg 
>>>>>>>>>>>> The problem : the layout is not modify and i have this message
>>>>>>>>>>>> :
>>>>>>>>>>>> An
>>>>>>>>>>>> exception occurred in the XML parser.
>>>>>>>>>>>> Have you an idea ?
>>>>>>>>>>>> Thanks
>>>>>>>>>>>>
>>>>>>>>>>>>   
>>>>>>>>>>>>       
>>>>>>>>>>>>           
>>>>>>>>>>>>               
>>>>>>>>>>>>                   
>>>>>>>>>>>>                       
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> mapguide-users mailing list
>>>>>>>>>>> mapguide-users at lists.osgeo.org
>>>>>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>     
>>>>>>>>>>>         
>>>>>>>>>>>             
>>>>>>>>>>>                 
>>>>>>>>>>>                     
>>>>>>>>>>   
>>>>>>>>>>       
>>>>>>>>>>           
>>>>>>>>>>               
>>>>>>>>>>                   
>>>>>>>>> _______________________________________________
>>>>>>>>> mapguide-users mailing list
>>>>>>>>> mapguide-users at lists.osgeo.org
>>>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     
>>>>>>>>>         
>>>>>>>>>             
>>>>>>>>>                 
>>>>>>>>   
>>>>>>>>       
>>>>>>>>           
>>>>>>>>               
>>>>>>> _______________________________________________
>>>>>>> mapguide-users mailing list
>>>>>>> mapguide-users at lists.osgeo.org
>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>>>>
>>>>>>>
>>>>>>>     
>>>>>>>         
>>>>>>>             
>>>>>>   
>>>>>>       
>>>>>>           
>>>>> _______________________________________________
>>>>> mapguide-users mailing list
>>>>> mapguide-users at lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>>
>>>>>
>>>>>     
>>>>>         
>>>>   
>>>>       
>>> _______________________________________________
>>> mapguide-users mailing list
>>> mapguide-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>
>>>
>>>     
>>
>>   
> 
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
> 
> 

-- 
View this message in context: http://n2.nabble.com/Modify-mapdefinition-in-a-layout-tp2462320p2492175.html
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list