Programming Forums

Programming Forums (http://www.programmingforums.org/forumindex.php)
-   XML (http://www.programmingforums.org/forum28.html)
-   -   What is XML? (http://www.programmingforums.org/showthread.php?t=5330)

crawforddavid2006 Aug 8th, 2005 11:04 PM

What is XML?
 
What is XML and what are its advantages to HTML?

thechristelegacy Aug 8th, 2005 11:49 PM

XML is a language where you can define any data. Check out what wikipedia spits out.

Quote:

The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language for creating special-purpose markup languages. It is a simplified subset of SGML, capable of describing many different kinds of data. Its primary purpose is to facilitate the sharing of data across different systems, particularly systems connected via the Internet. Languages based on XML (for example, RDF, RSS, MathML, XHTML and SVG) are defined in a formal way, allowing programs to modify and validate documents in these languages without prior knowledge of their form.
There is a TON more of information on the wikipedia page.
http://en.wikipedia.org/wiki/Xml

Also check out w3scools http://www.w3schools.com/xml/default.asp
Quote:

What is XML?

* XML stands for EXtensible Markup Language
* XML is a markup language much like HTML
* XML was designed to describe data
* XML tags are not predefined. You must define your own tags
* XML uses a Document Type Definition (DTD) or an XML Schema to describe the data
* XML with a DTD or XML Schema is designed to be self-descriptive
* XML is a W3C Recommendation
Hope you find what you need.

One good example of a real life application that uses xml is gaim the instant messenger. It stores all it's prefernces in XML. I'll post some from one of the pref files.

prefs.xml
:

<?xml version='1.0' encoding='UTF-8' ?>

<pref version='1.0' name='/'>
        <pref name='core'>
                <pref name='away'>
                        <pref name='away_when_idle' type='bool' value='1' />
                        <pref name='mins_before_away' type='int' value='4' />
                        <pref name='default_message' type='string' value='Slightly less boring default' />
                        <pref name='auto_reply' type='string' value='awayidle' />
                </pref>
                <pref name='buddies'>
                        <pref name='use_server_alias' type='bool' value='1' />
                </pref>
                <pref name='contact'>
                        <pref name='last_match' type='bool' value='0' />
                        <pref name='offline_score' type='int' value='4' />
                        <pref name='away_score' type='int' value='2' />
                        <pref name='idle_score' type='int' value='1' />
                </pref>
                <pref name='conversations'>
                        <pref name='use_alias_for_title' type='bool' value='1' />
                        <pref name='chat'>
                                <pref name='show_nick_change' type='bool' value='1' />
                        </pref>
                        <pref name='im'>
                                <pref name='send_typing' type='bool' value='0' />
                        </pref>
                </pref>
                <pref name='logging'>
                        <pref name='log_ims' type='bool' value='1' />
                        <pref name='log_chats' type='bool' value='1' />
                        <pref name='log_system' type='bool' value='1' />
                        <pref name='log_signon_signoff' type='bool' value='1' />
                        <pref name='log_idle_state' type='bool' value='0' />
                        <pref name='log_away_state' type='bool' value='0' />
                        <pref name='log_own_states' type='bool' value='1' />
                        <pref name='format' type='string' value='txt' />
                </pref>
                <pref name='network'>
                        <pref name='auto_ip' type='bool' value='1' />
                        <pref name='public_ip' type='string' value='' />
                        <pref name='ports_range_use' type='bool' value='0' />
                        <pref name='ports_range_start' type='int' value='1024' />
                        <pref name='ports_range_end' type='int' value='2048' />
                </pref>
                <pref name='proxy'>
                        <pref name='type' type='string' value='none' />
                        <pref name='host' type='string' value='' />
                        <pref name='port' type='int' value='0' />
                        <pref name='username' type='string' value='' />
                        <pref name='password' type='string' value='' />
                </pref>
                <pref name='sound'>
                        <pref name='while_away' type='bool' value='0' />
                </pref>
                <pref name='ft'>
                        <pref name='public_ip' type='string' value='' />
                </pref>
        </pref>
        <pref name='plugins'>
                <pref name='core'>
                        <pref name='autorecon'>
                                <pref name='hide_connected_error' type='bool' value='0' />
                                <pref name='hide_connecting_error' type='bool' value='0' />
                                <pref name='restore_state' type='bool' value='1' />
                        </pref>
                        <pref name='statenotify'>
                                <pref name='notify_away' type='bool' value='1' />
                                <pref name='notify_idle' type='bool' value='1' />
                        </pref>
                </pref>
                <pref name='lopl' />
                <pref name='prpl'>
                        <pref name='jabber'>
                                <pref name='hide_os' type='bool' value='1' />
                        </pref>
                        <pref name='msn'>
                                <pref name='conv_close_notice' type='bool' value='1' />
                                <pref name='conv_timeout_notice' type='bool' value='0' />
                        </pref>
                        <pref name='silc'>
                                <pref name='sign_im' type='bool' value='0' />
                                <pref name='verify_im' type='bool' value='0' />
                                <pref name='sign_chat' type='bool' value='0' />
                                <pref name='verify_chat' type='bool' value='0' />
                                <pref name='vcard' type='string' value='' />
                                <pref name='pubkey' type='string' value='C:\Documents and Settings\Frazier PH&amp;A\Application Data\.silc/public_key.pub' />
                                <pref name='privkey' type='string' value='C:\Documents and Settings\Frazier PH&amp;A\Application Data\.silc/private_key.prv' />
                        </pref>
                </pref>
                <pref name='gtk'>
                        <pref name='docklet'>
                                <pref name='queue_messages' type='bool' value='0' />
                        </pref>
                        <pref name='kstange'>
                                <pref name='extendedprefs'>
                                        <pref name='blist_taskbar' type='bool' value='1' />
                                        <pref name='conv_buttons'>
                                                <pref name='warn' type='bool' value='0' />
                                                <pref name='block' type='bool' value='0' />
                                                <pref name='file' type='bool' value='1' />
                                                <pref name='add' type='bool' value='1' />
                                                <pref name='info' type='bool' value='1' />
                                                <pref name='invite' type='bool' value='1' />
                                        </pref>
                                        <pref name='conv_size' type='int' value='8' />
                                        <pref name='popup_size' type='int' value='8' />
                                        <pref name='log_size' type='int' value='8' />
                                        <pref name='blist_size' type='int' value='8' />
                                        <pref name='blist_allow_shrink' type='bool' value='1' />
                                        <pref name='conv_zoom' type='int' value='100' />
                                </pref>
                        </pref>
                        <pref name='extplacement'>
                                <pref name='placement_number' type='int' value='6' />
                                <pref name='placement_number_separate' type='bool' value='0' />
                        </pref>
                        <pref name='amc_grim'>
                                <pref name='guifications2'>
                                        <pref name='behavior'>
                                                <pref name='display_time' type='int' value='6' />
                                                <pref name='throttle' type='int' value='6' />
                                                <pref name='show_while_away' type='bool' value='0' />
                                                <pref name='show_during_screen_saver' type='bool' value='0' />
                                                <pref name='notifications' type='stringlist'>
                                                        <item value='sign-on' />
                                                        <item value='nick-highlight' />
                                                </pref>
                                        </pref>
                                        <pref name='appearance'>
                                                <pref name='position' type='int' value='3' />
                                                <pref name='vertical' type='bool' value='1' />
                                                <pref name='zoom' type='int' value='4' />
                                                <pref name='alias' type='bool' value='1' />
                                                <pref name='show_contacts' type='bool' value='1' />
                                        </pref>
                                        <pref name='mouse'>
                                                <pref name='left' type='string' value='open' />
                                                <pref name='middle' type='string' value='close' />
                                                <pref name='right' type='string' value='context' />
                                        </pref>
                                        <pref name='themes' type='stringlist'>
                                        </pref>
                                        <pref name='advanced'>
                                                <pref name='release_notification' type='bool' value='0' />
                                                <pref name='release_last_check' type='int' value='0' />
                                                <pref name='screen' type='int' value='0' />
                                                <pref name='monitor' type='int' value='0' />
                                                <pref name='sign_on_delay' type='int' value='8000' />
                                                <pref name='hide_conv_focused' type='bool' value='0' />
                                                <pref name='hide_joinleave' type='bool' value='0' />
                                        </pref>
                                </pref>
                                <pref name='guifications'>
                                        <pref name='behavior'>
                                                <pref name='signon' type='bool' value='1' />
                                                <pref name='signoff' type='bool' value='0' />
                                                <pref name='away' type='bool' value='0' />
                                                <pref name='back' type='bool' value='0' />
                                                <pref name='idle' type='bool' value='0' />
                                                <pref name='unidle' type='bool' value='0' />
                                                <pref name='rcvmsg' type='bool' value='0' />
                                                <pref name='pos' type='int' value='3' />
                                                <pref name='x' type='int' value='0' />
                                                <pref name='y' type='int' value='0' />
                                                <pref name='vertical' type='bool' value='1' />
                                                <pref name='timeout' type='int' value='6' />
                                                <pref name='zoom' type='int' value='4' />
                                                <pref name='alias' type='bool' value='1' />
                                                <pref name='showaway' type='bool' value='1' />
                                                <pref name='mouse1' type='int' value='2' />
                                                <pref name='mouse2' type='int' value='0' />
                                                <pref name='mouse3' type='int' value='4' />
                                        </pref>
                                        <pref name='appearance'>
                                                <pref name='image' type='bool' value='0' />
                                                <pref name='custom_image' type='string' value='' />
                                                <pref name='font' type='bool' value='0' />
                                                <pref name='face' type='string' value='' />
                                                <pref name='color' type='bool' value='0' />
                                                <pref name='tpos' type='int' value='4' />
                                                <pref name='clip' type='int' value='2' />
                                                <pref name='text_x' type='int' value='0' />
                                                <pref name='text_y' type='int' value='0' />
                                                <pref name='ppos' type='int' value='6' />
                                                <pref name='psize' type='int' value='1' />
                                                <pref name='prot_x' type='int' value='5' />
                                                <pref name='prot_y' type='int' value='5' />
                                        </pref>
                                        <pref name='colors'>
                                                <pref name='foreground' type='string' value='#000000000000' />
                                        </pref>
                                        <pref name='messages'>
                                                <pref name='signon' type='string' value='has signed on' />
                                                <pref name='signoff' type='string' value='has signed off' />
                                                <pref name='away' type='string' value='is now away' />
                                                <pref name='back' type='string' value='is now back' />
                                                <pref name='idle' type='string' value='is now idle' />
                                                <pref name='unidle' type='string' value='is no longer idle' />
                                                <pref name='receive' type='string' value='messaged you' />
                                        </pref>
                                        <pref name='advanced'>
                                                <pref name='delay' type='int' value='7000' />
                                                <pref name='release_notification' type='bool' value='1' />
                                                <pref name='release_check' type='int' value='1091989004' />
                                        </pref>
                                </pref>
                        </pref>
                        <pref name='relnot'>
                                <pref name='last_check' type='int' value='1123540147' />
                        </pref>
                        <pref name='timestamp'>
                                <pref name='interval' type='int' value='300000' />
                        </pref>
                        <pref name='win32'>
                                <pref name='wintrans'>
                                        <pref name='im_enabled' type='bool' value='0' />
                                        <pref name='im_alpha' type='int' value='146' />
                                        <pref name='im_slider' type='bool' value='0' />
                                        <pref name='bl_enabled' type='bool' value='0' />
                                        <pref name='bl_alpha' type='int' value='182' />
                                </pref>
                                <pref name='winprefs'>
                                        <pref name='dblist_dockable' type='bool' value='1' />
                                        <pref name='dblist_docked' type='bool' value='0' />
                                        <pref name='dblist_height' type='int' value='645' />
                                        <pref name='dblist_side' type='int' value='0' />
                                        <pref name='dblist_on_top' type='bool' value='0' />
                                        <pref name='blist_on_top' type='bool' value='0' />
                                        <pref name='im_blink' type='bool' value='1' />
                                </pref>
                        </pref>
                        <pref name='accountstate' />
                        <pref name='vertical_pos' type='int' value='0' />
                        <pref name='horizontal_pos' type='int' value='0' />
                        <pref name='show_in_gaim_win' type='bool' value='1' />
                        <pref name='stay_on_top' type='bool' value='0' />
                        <pref name='show_in_taskbar' type='bool' value='1' />
                        <pref name='sticky' type='bool' value='0' />
                        <pref name='msnnotify'>
                                <pref name='width' type='int' value='92' />
                                <pref name='height' type='int' value='92' />
                                <pref name='x' type='int' value='940' />
                                <pref name='y' type='int' value='0' />
                                <pref name='duration' type='int' value='5' />
                                <pref name='received-im-msg' type='bool' value='0' />
                                <pref name='buddy-away' type='bool' value='0' />
                                <pref name='buddy-back' type='bool' value='0' />
                                <pref name='buddy-idle' type='bool' value='0' />
                                <pref name='buddy-unidle' type='bool' value='0' />
                                <pref name='buddy-signed-on' type='bool' value='1' />
                                <pref name='buddy-signed-off' type='bool' value='0' />
                                <pref name='show-images' type='bool' value='0' />
                                <pref name='cb-on-click' type='bool' value='1' />
                        </pref>
                        <pref name='encrypt'>
                                <pref name='accept_unknown_key' type='bool' value='1' />
                                <pref name='accept_conflicting_key' type='bool' value='0' />
                                <pref name='encrypt_response' type='bool' value='1' />
                                <pref name='broadcast_notify' type='bool' value='1' />
                                <pref name='encrypt_if_notified' type='bool' value='1' />
                        </pref>
                </pref>
        </pref>
        <pref name='gaim'>
                <pref name='gtk'>
                        <pref name='accounts'>
                                <pref name='dialog'>
                                        <pref name='width' type='int' value='1024' />
                                        <pref name='height' type='int' value='712' />
                                </pref>
                        </pref>
                        <pref name='away'>
                                <pref name='queue_messages' type='bool' value='0' />
                        </pref>
                        <pref name='idle'>
                                <pref name='reporting_method' type='string' value='system' />
                        </pref>
                        <pref name='plugins'>
                                <pref name='loaded' type='stringlist'>
                                        <item value='C:\Program Files\Gaim\plugins\ssl-nss.dll' />
                                        <item value='C:\Program Files\Gaim\plugins\ssl.dll' />
                                        <item value='C:\Program Files\Gaim\plugins\winprefs.dll' />
                                        <item value='C:\Program Files\Gaim\plugins\relnot.dll' />
                                        <item value='C:\Program Files\Gaim\plugins\statenotify.dll' />
                                        <item value='C:\Program Files\Gaim\plugins\extendedprefs.dll' />
                                        <item value='C:\Program Files\Gaim\plugins\awaywindow.dll' />
                                </pref>
                        </pref>
                        <pref name='smileys'>
                                <pref name='theme' type='string' value='C:\Program Files\Gaim\pixmaps\gaim\smileys\none\theme' />
                        </pref>
                        <pref name='debug'>
                                <pref name='enabled' type='bool' value='0' />
                                <pref name='timestamps' type='bool' value='1' />
                                <pref name='toolbar' type='bool' value='1' />
                                <pref name='width' type='int' value='450' />
                                <pref name='height' type='int' value='250' />
                        </pref>
                        <pref name='sound'>
                                <pref name='enabled'>
                                        <pref name='login' type='bool' value='1' />
                                        <pref name='logout' type='bool' value='0' />
                                        <pref name='im_recv' type='bool' value='0' />
                                        <pref name='first_im_recv' type='bool' value='0' />
                                        <pref name='send_im' type='bool' value='0' />
                                        <pref name='join_chat' type='bool' value='0' />
                                        <pref name='left_chat' type='bool' value='0' />
                                        <pref name='send_chat_msg' type='bool' value='0' />
                                        <pref name='chat_msg_recv' type='bool' value='0' />
                                        <pref name='nick_said' type='bool' value='1' />
                                        <pref name='pounce_default' type='bool' value='1' />
                                </pref>
                                <pref name='file'>
                                        <pref name='login' type='string' value='C:\Program Files\Gaim\sounds\gaim\arrive.wav' />
                                        <pref name='logout' type='string' value='' />
                                        <pref name='im_recv' type='string' value='' />
                                        <pref name='first_im_recv' type='string' value='' />
                                        <pref name='send_im' type='string' value='' />
                                        <pref name='join_chat' type='string' value='' />
                                        <pref name='left_chat' type='string' value='' />
                                        <pref name='send_chat_msg' type='string' value='' />
                                        <pref name='chat_msg_recv' type='string' value='' />
                                        <pref name='nick_said' type='string' value='' />
                                        <pref name='pounce_default' type='string' value='' />
                                </pref>
                                <pref name='conv_focus' type='bool' value='1' />
                                <pref name='command' type='string' value='' />
                                <pref name='method' type='string' value='automatic' />
                        </pref>
                        <pref name='blist'>
                                <pref name='auto_expand_contacts' type='bool' value='0' />
                                <pref name='button_style' type='int' value='2' />
                                <pref name='grey_idle_buddies' type='bool' value='1' />
                                <pref name='raise_on_events' type='bool' value='0' />
                                <pref name='show_buddy_icons' type='bool' value='0' />
                                <pref name='show_empty_groups' type='bool' value='0' />
                                <pref name='show_idle_time' type='bool' value='0' />
                                <pref name='show_offline_buddies' type='bool' value='0' />
                                <pref name='show_warning_level' type='bool' value='0' />
                                <pref name='sort_type' type='string' value='alphabetical' />
                                <pref name='x' type='int' value='781' />
                                <pref name='y' type='int' value='4' />
                                <pref name='width' type='int' value='213' />
                                <pref name='height' type='int' value='701' />
                                <pref name='tooltip_delay' type='int' value='500' />
                        </pref>
                        <pref name='conversations'>
                                <pref name='close_on_tabs' type='bool' value='1' />
                                <pref name='ctrl_enter_sends' type='bool' value='0' />
                                <pref name='enter_sends' type='bool' value='1' />
                                <pref name='escape_closes' type='bool' value='0' />
                                <pref name='send_formatting' type='bool' value='0' />
                                <pref name='send_bold' type='bool' value='0' />
                                <pref name='send_italic' type='bool' value='0' />
                                <pref name='send_underline' type='bool' value='0' />
                                <pref name='show_timestamps' type='bool' value='1' />
                                <pref name='spellcheck' type='bool' value='0' />
                                <pref name='ignore_colors' type='bool' value='1' />
                                <pref name='ignore_fonts' type='bool' value='1' />
                                <pref name='ignore_font_sizes' type='bool' value='1' />
                                <pref name='html_shortcuts' type='bool' value='1' />
                                <pref name='smiley_shortcuts' type='bool' value='0' />
                                <pref name='show_formatting_toolbar' type='bool' value='1' />
                                <pref name='passthrough_unknown_commands' type='bool' value='0' />
                                <pref name='placement' type='string' value='last' />
                                <pref name='placement_number' type='int' value='1' />
                                <pref name='bgcolor' type='string' value='' />
                                <pref name='fgcolor' type='string' value='#000000' />
                                <pref name='font_face' type='string' value='courier new' />
                                <pref name='font_size' type='int' value='3' />
                                <pref name='tabs' type='bool' value='1' />
                                <pref name='tab_side' type='int' value='3' />
                                <pref name='button_type' type='int' value='2' />
                                <pref name='chat'>
                                        <pref name='color_nicks' type='bool' value='1' />
                                        <pref name='default_width' type='int' value='848' />
                                        <pref name='default_height' type='int' value='453' />
                                        <pref name='entry_height' type='int' value='85' />
                                        <pref name='raise_on_events' type='bool' value='0' />
                                        <pref name='button_type' type='int' value='1' />
                                </pref>
                                <pref name='im'>
                                        <pref name='animate_buddy_icons' type='bool' value='1' />
                                        <pref name='default_width' type='int' value='1008' />
                                        <pref name='default_height' type='int' value='515' />
                                        <pref name='entry_height' type='int' value='51' />
                                        <pref name='raise_on_events' type='bool' value='0' />
                                        <pref name='show_buddy_icons' type='bool' value='1' />
                                </pref>
                                <pref name='enable_commands' type='bool' value='1' />
                                <pref name='send_strikethrough' type='bool' value='0' />
                        </pref>
                        <pref name='pounces'>
                                <pref name='default_actions'>
                                        <pref name='open-window' type='bool' value='0' />
                                        <pref name='popup-notify' type='bool' value='1' />
                                        <pref name='send-message' type='bool' value='1' />
                                        <pref name='execute-command' type='bool' value='0' />
                                        <pref name='play-sound' type='bool' value='0' />
                                </pref>
                        </pref>
                        <pref name='filetransfer'>
                                <pref name='clear_finished' type='bool' value='1' />
                                <pref name='keep_open' type='bool' value='0' />
                        </pref>
                        <pref name='browsers'>
                                <pref name='new_window' type='bool' value='0' />
                                <pref name='command' type='string' value='' />
                                <pref name='browser' type='string' value='mozilla' />
                        </pref>
                </pref>
        </pref>
</pref>


uman Aug 9th, 2005 2:22 AM

HTML and XML are used for different things. HTML is for building webpages, XML is for storing data.

proghelper Aug 31st, 2005 9:37 AM

HTML is for humans. Programs are supposed to turn html docs into visually pleasing documents.

XML are for computer to computer communicaion. They could be better processed by programs written to extract data and turn them to information.

----------------------

Help on programming (C/C++, Java, C# or any other programming language) for homework, assignments, course works and projects

Cerulean Sep 6th, 2005 1:34 PM

Quote:

XML are for computer to computer communicaion. They could be better processed by programs written to extract data and turn them to information.
Well not really. The whole point (or one of the many whole points) of XML is that it is easily machine navigable AND human navigable - excellent for config files, and such.

thechristelegacy Sep 6th, 2005 3:41 PM

It's a structured data file to put it simply.

Arevos Sep 6th, 2005 4:27 PM

Quote:

Originally Posted by uman
HTML and XML are used for different things. HTML is for building webpages, XML is for storing data.

Not really. The more modern XHTML 1.0 and above is an XML website markup language, whilst the older HTML 4.0 and earlier have a syntax akin to pidgin XML that lacks the strictness of pure XML (for instance, in XML, all tags must have an end tag; in HTML 4.0, there is no such restriction).

uman Sep 6th, 2005 4:55 PM

Yes. XML is useful for storing data, and HTML is useful for writing web pages.

Web pages are a type of data, and XHTML is where the two intersect.

bl00dninja Sep 16th, 2005 7:46 PM

as i understand it, XML is a markup language where you can define your own tags.

if you want bold italic times new roman you can make a tag <bitnr> that will do that.

imagine what you could do with such a language...a whole lot.

Dameon Sep 16th, 2005 8:38 PM

You would be amazed at what it is capable of. Take for example a generic RSS feed. The address returns an XML document containing the RSS feed, but the author can add a link to an XML stylesheet at the top that transforms the XML into HTML, such as a table of links. You can point your aggregator and browser at the same address and avoid complicated server side scripting. Convert between schemas, into HTML, plain text, PDF, etc etc.

http://en.wikipedia.org/wiki/XSL_Transformations


All times are GMT -5. The time now is 2:11 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC