Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > XML > Referencing a value from a list

Reply
Thread Tools

Referencing a value from a list

 
 
Caroline M
Guest
Posts: n/a
 
      01-29-2007
Hi there,

I'm sure this has been posted before but I didn't know how to search
for it because I don't know the name for what I am trying to do so
I'll try and explain it as best I can.

I have an application that captures some data about football players.
I have fields for name, date of birth, nationality etc and things like
position such as Goalkeeper, Striker etc. I need to store all this
data in an XML file. In the case of the positions, I will populate a
control in the program with a predetermined list of available
positions (which also needs to be in the XML file) and then I simply
select one from the list for each player. My question is, how do I
store that for each player?

If I have something like:

<positions>
<position>Goalkeeper</position>
<position>Striker</position>
...
</positions>
<players>
<player>
<player_name>David Beckham</player_name>
<player_position> ??? what goes here??? </player_position>
...
</player>
</players>

What do I put in my player_position element above? Obviously one
solution is simply to copy the text from the position element but
thats not ideal because when I load the application from the XML file
later I'd want to be able to populate the UI control with the
available positions (which I might change the names of) and then
indicate that David Beckham is in the first position in the list for
exmple and avoid that duplication.

I hope that makes sense!

Thanks,
Caroline Middlebrook

 
Reply With Quote
 
 
 
 
p.lepin@ctncorp.com
Guest
Posts: n/a
 
      01-29-2007

On Jan 29, 12:16 pm, "Caroline M"
<caroline.middlebr...@googlemail.com> wrote:
> I have an application that captures some data about
> football players. I have fields for name, date of birth,
> nationality etc and things like position such as
> Goalkeeper, Striker etc. I need to store all this data in
> an XML file.
>
> <positions>
> <position>Goalkeeper</position>
> <position>Striker</position>
> ...
> </positions>
> <players>
> <player>
> <player_name>David Beckham</player_name>
> <player_position> ??? what goes here???
> </player_position>
> ...
> </player>
> </players>
>
> What do I put in my player_position element above?
> Obviously one solution is simply to copy the text from
> the position element but thats not ideal because when I
> load the application from the XML file later I'd want to
> be able to populate the UI control with the available
> positions (which I might change the names of) and then
> indicate that David Beckham is in the first position in
> the list for exmple and avoid that duplication.


The following approach is oft used, especially by people
with RDBMSy backgrounds:

<football-data>
<positions>
<position id="1">Goalkeeper</position>
<position id="2">Striker</position>
</positions>
<players>
<player>
<player_name position="1">David Beckham</player_name>
</player>
</players>
</football-data>

In this case, however, the following might be a bit better:

<football-data>
<positions>
<position>
<name>Goalkeeper</name>
<players>
<player>
<name>David Beckham</name>
</player>
</players>
</position>
<position>
<name>Striker</name>
</position>
</positions>
</football-data>

Also note that, depending on what you're using to process
this data, you might want to simply do away with the
positions element, store the positions' names within the
player elements and populate whatever needs to be populated
by selecting all the distinct values of player_position
elements in the document. For that matter, depending on
what your final goals (no pun intended) are, you might want
to employ all three of the proposed representations--
probably even more--and transform your data on the fly
using XSLT. You would still need to choose one canonical
representation of data, but it's hard to tell which one
would be best without knowing much more about your project,
so this decision is entirely up to you.

--
Pavel Lepin

 
Reply With Quote
 
 
 
 
George Bina
Guest
Posts: n/a
 
      01-29-2007
Hi Caroline,

You can define an attribute, let's say for instance xml:id, for the
position element and specify a unique value for each position. Then,
in player_position you can have another attribute, for instance
positionId and specify one of those values that you defined for
position.
Depending on the schema language that you use there are different ways
to enforce this. Look for ID and IDREF.

Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

On Jan 29, 12:16 pm, "Caroline M"
<caroline.middlebr...@googlemail.com> wrote:
> Hi there,
>
> I'm sure this has been posted before but I didn't know how to search
> for it because I don't know the name for what I am trying to do so
> I'll try and explain it as best I can.
>
> I have an application that captures some data about football players.
> I have fields for name, date of birth, nationality etc and things like
> position such as Goalkeeper, Striker etc. I need to store all this
> data in an XML file. In the case of the positions, I will populate a
> control in the program with a predetermined list of available
> positions (which also needs to be in the XML file) and then I simply
> select one from the list for each player. My question is, how do I
> store that for each player?
>
> If I have something like:
>
> <positions>
> <position>Goalkeeper</position>
> <position>Striker</position>
> ...
> </positions>
> <players>
> <player>
> <player_name>David Beckham</player_name>
> <player_position> ??? what goes here??? </player_position>
> ...
> </player>
> </players>
>
> What do I put in my player_position element above? Obviously one
> solution is simply to copy the text from the position element but
> thats not ideal because when I load the application from the XML file
> later I'd want to be able to populate the UI control with the
> available positions (which I might change the names of) and then
> indicate that David Beckham is in the first position in the list for
> exmple and avoid that duplication.
>
> I hope that makes sense!
>
> Thanks,
> Caroline Middlebrook


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
circular referencing classes with two-way by-value conversionfunctions Joshua Maurice C++ 0 11-02-2009 01:55 AM
assign value to a cell referencing by column name in itemdatabound gane ASP .Net Datagrid Control 0 06-01-2006 03:48 PM
Referencing value of a dynamically created control =?Utf-8?B?TWlrZQ==?= ASP .Net 1 07-13-2004 09:12 PM
grabbing a traditional form value via .net (instead of referencing an object) darrel ASP .Net 4 07-07-2004 03:06 PM
Referencing listbox value error Allan Horwitz ASP .Net 2 12-01-2003 09:11 AM



Advertisments