Having looked into what HTML and CSS are and the role they play as the fundamental building blocks of web sites, the second part of this article addresses the two abbreviations XML and CMS – both key to understating web technologies.
XML (& XHTML)
Extensible Markup Language (XML) is similar to HTML in its use of markup, including tags, to identify and structure items of content (into elements). However, the syntax and rules governing XML are more strict than HTML and therefore it can be used in a broader context to organise and structure information in documents and files. As such it is not just used in web spheres but all software areas and applications types as a standardised method for representing outputted information and data in a format that is understood by other applications.
XHTML, Extensible Hyper Text Markup Language, combines both HTML and XML to create a more strictly formatted standardised version of HTML; using HTML tags but structuring them according to XML syntax. XHTML has again been standardised by the W3C although it will be subsumed by HTML5 in time.
As the purpose of a CMS is to allow changes to content on a website, it will typically let the user upload and store files such as images, videos and PDFs as well as change the text in web pages, while many also provide reporting functions to track the use of the site. In addition, CMSs often give top level users the ability to set up accounts with varying permissions for other users which only give them access to limited functions in order to perform particular tasks (i.e., roles).
Some CMSs appear as in-page editors so the results of changes can be seen directly on the live web page; others are back end administrations systems which will not necessarily mirror the front end of the site. Users of each type of CMS may encounter a WYSIWYG editor (What You See Is What You Get) which is a tool that allows the user to format and style content as they would in a word processor, for example, so that the user can see how the content will appear as they are editing it. Users who dont know HTML and CSS can therefore format text and manipulate web content despite not being web designers or developers.
Websites are built upon a wide range of CMSs, some are open source (free and supported by a community of users), some are sold as proprietary systems and some are built as bespoke systems by developers. If they dont perform certain functions out of the box they can usually be augmented with add ons and modules.
CMSs are commonly used by web developers as the initial building blocks of a website because it is far more efficient and reliable to use the functionality offered by CMSs than build equivalent functionality from scratch. Experience web developers can then manipulate the CMSs (and their modules) by customising the underlying markup, styling, code and databases to create not only more complex websites but more functionality within the CMS for its end users.
Ultimately, whether you are thinking of building your own website, need someone to design one for you or you want to go the whole hog and commission an agency to design, build and maintain one, being familiar with the jargon will help you get what you want every step of the way.