02Geek HTML5 and JavaScript, TypeScript, React, Flash, ActionScript online School
Previous VideoNext Video

Overview and Context of XML

XML Originated from HTML

Originally, in the early days of the Worldwide Web, the invention of HTML (Hypertext Markup language) as a standard was a major step towards information creation, sharing and rendering, by applications that were created to feed on or generate such information. At that time, HTML covered a very wide spectrum, used for specifying content, structure, formatting and rendering of data. Naturally, web developers needed to learn html and had their hands full all the time.

Then a new standard for organizing information emerged: the Extensible Markup Language (XML.) The intention was to allow the content of a web page to be organized separately from the other tasks listed above. Other standards have also evolved for these other spheres, and now HTML is mostly used for information structuring. XML deals with content management and organization.

This is the history and context of the emergence of XML as a universally accepted standard. XML is not limited to the web alone: almost every modern application including system software, telecommunication applications or web applications uses XML to organize information in some way. Note that organization of data converts it into information. Application developers quickly saw this difference, and adopted XML whole-heartedly. This course will emphasize how XML meets our everyday professional needs.

Now, let’s move onto a description of the XML language. The advantages of this language are:

• Organizes data to convert it to information (this is true value addition)

• It is accessible: being a free published web standard, it is universally accepted

• Allows programmers and other professionals who need information, an easy way to structure data

• Is used almost universally to organize configuration data for programs and software build systems mainly elements that should be controllable/accessible without recompiling an application.

• Is portable, being an independent standard, therefore can be used across applications and platforms as well – truly “cross-platform!”

• Cross-language as well: the languages simply need to have XML parser APIs that can be invoked by programs on XML documents

Most web applications in the modern internet age such as RSS are based on XML. Several standard protocols in areas such as networking protocols, telecommunication protocols, and most open source software and libraries are dependent on XML standards to interface with client programs. This is one main reason why taking this course, a beginner’s guide to one of the most powerful components of the internet, is worth its weight in gold!

Video Transcript

00:000 to hero XML. So let's talk about the XML basics. Let's start off with just
00:07understanding what it is, why was it born, where is it coming from. So let's
00:13dig in immediately and actually start from the origins.
00:18By the way, if you're a history buff and you have some corrections to my
00:22history, I don't personally care about the history that much. It's more about
00:26giving you enough information to get a picture of why XML exists. Now,
00:30obviously we will be more than happy to hear your comments and our community, but
00:35I think just for the sake of learning the topic of XML, we're gonna rewrite a
00:40little bit of history and kind of present it in a way which will make it
00:42really, really easy for anyone to understand what is XML for and how to
00:46start integrating it into your work. Alright, so first of all, before we do
00:51anything, the first thing that we really have to do is we really have to
00:54understand that XML originates from HTML. HTML in the beginning when the web
01:00first was created was really the only way to show information. And originally
01:05when HTML was created, it was an amazing language. It was capable of doing
01:10really a lot of stuff and when you think about it, when the internet started, no
01:13one really thought that Dendre is going to be what it is today. I'm sure some
01:17had some projections, but the reality was is the developer or the person sitting
01:22on the computer that was building up the HTML applications really was doing
01:26everything. There wasn't such a thing as a designer, there wasn't a developer
01:30separately, there wasn't all these different key components of businesses
01:34that we have today. And actually, HTML from the get-go was capable of doing
01:39quite a lot of stuff, even though it was just a natural thing. Now, by the
01:42way, if you don't know XML, it's fine. You don't have to know XML to do this
01:46course. Obviously, it will help you. Obviously, it would help you to know
01:50another programming language to get XML, to be able to start working in XML, but
01:55we're going to get off under the assumption that you know some basics in
01:59at least one programming language and a little, little basic understanding in HTML,
02:03which is not really mandatory. Alright, so HTML, HTML had a structure, had
02:08content, it was it in theory was capable of creating interactiveness and it had
02:15a layout and a design. So originally when the web was created, all these
02:20different functionalities really were all combined into this one thing, which
02:23was our HTML. And there are all these different ways of visual graphical ways
02:28of actually getting all these functionalities done in one single place.
02:32Now, as the industry grew, and as suddenly websites are built by more than
02:36one person, and actually a lot of people sometimes, the need and
02:42as the internet got more sophisticated, suddenly there was a need
02:46for really, really complicated interactive stuff and videos and music and YouTube
02:52and you name it. And suddenly HTML just wasn't good enough. And as the years
02:57went by, HTML's versions grew and grew. And as the versions grew, there was a
03:02really clear understanding that data needs to start separating out. And as
03:06that was discovered, and as that happened, there were really four main clusters
03:11that really grew into this world of HTML where CSS really took the most
03:17of the work when it came down to the layout and the design. JavaScript started
03:21taking JavaScript and plugins, which are Flash and Silverlight and Java and
03:25other plugins, started taking the ownership of interactiveness. Well, XML
03:30started taking the responsibility of managing content. Now, as you can see,
03:35there isn't a clear cut that every content is in XML or everything
03:40about layout is outside in your CSS. But that was really the what HTML4 really
03:46strived for. So 3d4, you know, like all the ideas were basically, let's separate
03:51things. Let's put the, let's put the aesthetics into the CSS, let's put the
03:56interactiveness into JavaScript. And if it's too complicated, let's use some
03:59sort of plugin, such as Flash, Silverlight, Java, or you name it. And
04:04let's put data that like a lot of data or data that needs to be
04:07structured. Let's put it inside of an XML. Let's take that data out. And we're
04:11going to look at why we wanted to take the data out. But the one thing that's
04:14really important to notice here is especially we're living now in a world
04:17where everyone's saying buzzwords and everyone's saying HTML5. What really
04:22the whole premise behind HTML5 is we're going to be more strictly
04:28adherent to these rules where HTML is going to be more about structure
04:32and CSS, we're going to do all our CSS stuff, layout and design, and
04:37sometimes even animation. And our JavaScript is going to take over the
04:41more complicated things and our XML is going to take out all the content related
04:45things or anything that really is a saying that's going to be used in a
04:49structural way or that it needs to be used in other applications as well.
04:53Now, a lot of people are asking you, so where are the plugins going? And as you
04:58can see, there's a bit very big fight on the web. There's some sites that are
05:01really taking all the plugins out, some sites that are keeping them,
05:04and it really just depends on the case per case. Really, HTML, whenever HTML
05:09will be compatible enough and will be able to give all the stuff that are
05:12needed. And really that goes into a little
05:14separate topic where HTML is obviously maturing a lot with HTML5
05:18and is bringing in a lot of functionalities that in the past,
05:22a lot of times in the past, JavaScript and plugins have to take over.
05:25So there's a few stuff that are just built in directly into the browsers if
05:29it's going to be video players, if it's going to be different form fields,
05:32different things that just make it easier for programmers to program because
05:35they don't have to build it. It's going to just be part of the browser.
05:38It's going to be part of their HTML. Now, anything that they need to build,
05:41they're always going to go back to their JavaScript.
05:43And anything that's extremely complicated, there's just too much for
05:46JavaScript, will probably end up at Flash if it's games,
05:50if it's really sophisticated video players. But really,
05:53really what are Flash and third-party plugins,
05:57it looks like their future is really driven into the more
06:00elite programs, the more sophisticated things, if it's
06:04complicated applications, if it's complicated games mainly,
06:08if it's complicated 3D things, which obviously HTML currently at this shape
06:12would just can't really deal with something like that.
06:15So that's really the scope of the world of where we're living in.
06:17Now, XML really, when we look more deeply into XML, like we're saying,
06:22XML contains our content, XML kind of grew as something that's
06:26beyond just our HTML. And it's true also for
06:29probably all the other topics as well. Although they originated from the web,
06:33today they're part of almost any application.
06:36If it's your operating system, if it's, there's so many places where you're
06:40going to meet XML. And XML, you're going to meet XML really,
06:43because it's a really convenient way of storing content
06:46separately from your application, making it really easy for groups of people to
06:50work together, making it really easy to make
06:52minor copy updates without needing to change your application,
06:56making it easy to share your information with others. So let's look a
07:00little bit deeper into this concept of content.
07:02And when we're talking about content, we're really talking about structured
07:05content when we're talking about XML, which
07:08means it's content that we want to organize in a specific way.
07:11If it's for a few reasons, there's quite a lot of reasons actually, but one
07:15of them is if we just want to organize our data,
07:17such as if we have a hundred students and they have a hundred scores,
07:21and it doesn't really make any sense to just drop it somewhere. We want to
07:25organize it in a way where it'll be easy for us to fetch
07:28the data if it's the student's score, a specific student, if it's finding
07:32what student's got a specific score, and so on and so forth. Then XML becomes a
07:36really, really fantastic tool to just organize data.
07:39XML doesn't do the sorting. XML doesn't do the
07:43actual workload, but it organizes the content in a way that makes it just
07:47really easy and convenient to access the data whenever you want to.
07:51Now it makes it more accessible. Now we're talking about that
07:54if you're talking about applications, applications a lot of times are compiled
07:58or applications are really baked or if you look at your old HTML, if you have
08:02HTML skills and you integrated everything directly
08:05into the HTML, it's really baked inside of that HTML file, making it really hard
08:10for you to use that data again if you need it for another page.
08:13If you would need to use it for another page, you'd have to copy the data again
08:16or you'd have to build it in a really fancy way on a server.
08:20So really XML makes your data more accessible. Not only does it make it
08:24more accessible, like we said, it makes it just easy for you to split the work so
08:27if you need someone to put in all the scores of some students,
08:30you don't have to do the work yourself. You can build that XML structure,
08:34send your task to the person, continue working on your
08:38on your application, and you're not dependent on that work because it's
08:41just textual data that would put in as long as you built a stable
08:44application. Now two more topics. It's safer builds.
08:49Why is it safer builds? Because I built an operating system and I put a
08:52lot of configurations into an XML. If I have minor tweaks or minor changes,
08:57if it's content-related, image-related, if it's things that are not in the heart
09:00of the application, I have less risks just because it's
09:04easier to make these changes. I don't have to recompile. I don't have to
09:08I don't have to rebuild the application and send it out again. I just have to
09:11change some minor textual things. So it makes it easy.
09:15That's why a lot of applications have all their configurations out in XML files
09:20and if you scan around in your computer sometimes they call these XML files
09:23in different names but their structure is going to be the
09:25exact same structure as we're going to learn about in the next
09:2910-20 minutes. Now cross language and platform.
09:33Now because this language is basically just text that we're going to show you
09:37how to build, every language as long as it has an XML
09:40parser, as long as it has something that knows how to read XML,
09:43built-in already knows how to read these XMLs which makes it really easy
09:47for you to use the same data if it's for an HTML file,
09:50if it's for a JavaScript application, if it's for Flash, if it's for PHP,
09:55if it's for really any programming language or any
09:58any need. And just speaking on that same sense, if you know what RSS
10:04is, RSS is the aggregated news data or feed where you can
10:08watch and get your information. I'll just reveal to you a secret if you didn't
10:11know it already. RSS is just XML, a very smart XML that
10:16more sophisticated, that has certain rules and regulations,
10:21but that's all it is. It's just XML. So if I want to create an RSS feed, I
10:26don't have to build an RSS feed generator or whatever the tool that
10:30would actually provide and show all this RSS.
10:32The browser already did that for me. All I have to do is provide that RSS, this
10:37XML structure that it's expecting. Now same is true with HTML, even though
10:41HTML was born before HTML. HTML was born before XML. The idea behind
10:47it is really the same. In a way, XML is taking the logic out of
10:52your HTML and just turning it into blocks that we're going to look into them in a
10:56minute. But basically you could say that HTML
10:59is this type of implementation of XML, even though HTML was created way before
11:03XML was discovered. But we'll see more into that really soon. Now I'm
11:09sure there's a lot more other reasons why the birth of
11:12XML happened, and I really encourage you to come into our chat, start
11:15creating conversation about it, bring up your own ideas, why do you think XML is
11:19so great, or where do you find value in XML?
11:23Alright, so we covered that topic of basically
11:26where did XML come from, and really why would we want to use XML?
11:30The next topic that we want to talk about really quickly is just saying that
11:34we're going to be, throughout our course, we're going to be working,
11:37jumping around between two applications, Smalltron, which is a macOS
11:41application, and Dreamweaver, which is an Adobe application, a really fantastic one.
11:46We like working with Adobe products, we're
11:48friends of Adobe. Now for a full list of tools for PC Mac, you could find them
11:52on our website in the courses page, or you could always ask in our community
11:57channels, and we're always happy to help you find whatever tool you need.
12:00Now if you're not ready to pay and buy for an application, there's a lot of
12:03free applications online, so come to our site, and we'll put up a few links, or
12:07just search online for XML editors, or HTML editors, but
12:13very very important is you want to make sure that you're working with an editor
12:16that actually enables you to just type directly, and doesn't modify or
12:19manipulate your code in any way. So your best bet, if you're really
12:22really new, is just to come onto our site and pick an application you want to
12:25work with, if you don't want to work with Smalltron
12:27or Dreamweaver. But the application itself doesn't really matter at all,
12:30because we're going to be focusing directly just on the copy,
12:33and how to actually build that XML. So I hope you enjoy your basic training
12:39of XML, and I think it's time for us to open up an editor,
12:42and start actually showing you how XML looks like.

Ready to Level Up Your Skills?

Join thousands of learners on 02GEEK and start your journey to becoming a coding expert today!

Enroll Now for Free!