how to introduce intellisense

V

vinaykinagi

I have an XML file with a deep heirarchy for which I generate an xsd.
Using this xsd I generate C# classes.
Then I deserialize the xml to generate an object of the root element.
Typically this object would contain an array of it's child elements and

each of these child elements will in turn contain an array of it's
child elements and so on.


The XML file is as follows


<?xml version="1.0" encoding="utf-8" ?>
<Nunit
xmlns="http://abc.com"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xyze.com first2.xsd" >


<!-- UseCase[0] -->
<UseCase useCaseId="1010" name="Administrate Dealer Data">
<TestCase testCaseId="0" name="checkfordocumenttypes">
<Add AddId="0" param="dtype" value="FC" />
<Add AddId="1" param="userid" value="GUID" />
<Add AddId="2" param="ruid" value="" />
<Add AddId="3" param="docid" value="Madhu" />
</TestCase>
<TestCase testCaseId="1" name="checkfirstrowrule">
<Add AddId="0" param="" value="" />
<Add AddId="1" param="" value="" />
<Add AddId="2" param="" value="" />
<Add AddId="3" param="" value="" />
</TestCase>
</UseCase>


</nunit>


Now suppose I have an object of the root element type nunit, called
'test'.
I want intellisense to be invoked such that on using period after test,

all the "name" attributes of the "UseCase"
elements must be displayed, something like
test.
Administrate Dealer Data
Administrate LocalCarts
GetWebServices


and similarly
test.Administrate DealerData.

checkfordocumenttypes

checkfirstrowrule






How can such functionality be achieved?


Please help.
 
N

Nick Hounsome

I have an XML file with a deep heirarchy for which I generate an xsd.
Using this xsd I generate C# classes.
Then I deserialize the xml to generate an object of the root element.
Typically this object would contain an array of it's child elements and

each of these child elements will in turn contain an array of it's
child elements and so on.


The XML file is as follows


<?xml version="1.0" encoding="utf-8" ?>
<Nunit
xmlns="http://abc.com"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xyze.com first2.xsd" >


<!-- UseCase[0] -->
<UseCase useCaseId="1010" name="Administrate Dealer Data">
<TestCase testCaseId="0" name="checkfordocumenttypes">
<Add AddId="0" param="dtype" value="FC" />
<Add AddId="1" param="userid" value="GUID" />
<Add AddId="2" param="ruid" value="" />
<Add AddId="3" param="docid" value="Madhu" />
</TestCase>
<TestCase testCaseId="1" name="checkfirstrowrule">
<Add AddId="0" param="" value="" />
<Add AddId="1" param="" value="" />
<Add AddId="2" param="" value="" />
<Add AddId="3" param="" value="" />
</TestCase>
</UseCase>


</nunit>


Now suppose I have an object of the root element type nunit, called
'test'.
I want intellisense to be invoked such that on using period after test,

all the "name" attributes of the "UseCase"
elements must be displayed, something like
test.
Administrate Dealer Data
Administrate LocalCarts
GetWebServices


and similarly
test.Administrate DealerData.

How could that work even in principle since identifiers cannot contain
spaces?
How can such functionality be achieved?

It can't - intellisense handles types not content.
Please help.

If you actually intend your xml to be a metalanguage rather than data then
you need to write your own XML to code translator - See CodeDom
(http://www.15seconds.com/issue/020917.htm) although I think that you'll
still have to do something about the spaces.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top