Technology

♠ Cool

It's clear now, the future of computing is XML, XSLT, and other XML applied technologies. The future of Internet is XHTML and CSS. We use Argentum MyFiles ($35) to browse, search, catalog and organize our MP3 music collection. With MyFiles' built-in XML exchange module, we export the entire file catalog into XML database, then we post-process this data and split it into a number of files. We use XSLT transformation to transform raw XML files into well-formed XHTML documents. They are then ready to upload to our ultra-fast Microsoft Windows 2008 web-server in Chicago, USA. Read the full story below...

MyFiles ♪

The audio music collection is stored in a number of MP3 files on a high-capacity hard disk drive. There will be more information on how we encode audio data, from what sources, and what MP3 is all about, but currently we just dwell on the cataloging issue, that is how we organize this music collection and keep track of what we have. For that purpose we have a great tool, Argentum MyFiles, which is a high-end disk cataloging utility and file organizer that keeps all of our files (not only MP3 music) organized. MyFiles can be used as a file organizer, a disk cataloger, a music organizer, a digital audio MP3 collection, a family photo-album, a picture catalog, a document library and more. MyFiles™ keeps track of what you have on each CD, DVD, floppy, local or network volume. The information is organized in a portable, tree outline form, where you can keep detailed descriptions with any file or folder you may have in your collection. After building catalogs with images of your media, you can use a powerful search to locate items, create HTML, XML and CSV reports, browse and access your files directly from within MyFiles.

A disk cataloger or a file organizer is an application that records the directory structure, but not the contents, of a volume. The saved directory structure of a volume is called a disk catalog. Searching and browsing a disk catalog is much faster than searching or browsing an actual disk. More important, a disk cataloger can store disk catalogs for more than one volume. And, a volume does not need to be available on the desktop while you are browsing the catalog. This allows you to have a single disk catalog containing the library of all of your CD's, DVD's, removable media volumes, network locations and floppy disks. Using a disk cataloger you can, in one move, search all of your volumes, be they available on your desktop, in a box next to your computer, or at the office on the other side of town.

♠ XML

Here at Argentum we like XML (Extensible Markup/Modeling Language) a lot and really depend on it. We store most of our data in XML format. The whole Argentum web-site, MoodBook's web-site along with its music catalog portion, and a few internal databases are originally stored in XML. In some ways, XML is just another data format. However, XML has several advantages over other formats when storing information.

The principal advantage of XML is that XML is considered to be an unified format for all data storage now and in the future. In this way, XML is just a building block for your data structures, a language to define how your data is stored. XML can be very beneficial for most of the applications but isn't appropriate for every situation. XML documents tend to be more verbose than the binary formats they replace. They take up more network bandwidth and storage space, or require more processor time for compression. XML parsing can be slower than parsing highly optimized binary formats and can require more memory. However, careful application design can avoid most of these problems.

XSLT ♠

Having all of your data stored in a structured XML format is only half of work to be done. In order to publish it publicly you have to add presentation to the existing content. We use XSLT (Extensible Stylesheet Language Transformations) transformation language in order to transform XML files into well-formed XHTML. XML is all about structure and information. XHTML is a special XML-based language with pre-defined structure, designed to share and publish documents on the Internet. Basically, XHTML 1.0 is an XML-compliant, optimized, simplified, and improved successor of HTML 4.0. XSLT is about data exchange. XSLT was proposed and later accepted as a standard for XML data transformation. From a programmer's point of view, XSLT is a programming language for processing XML data, that is, transforming XML documents. As such, it supports the following:

An XSLT style sheet is an XML document. This means that XSLT instructions are expressed as XML elements, and an XSLT style sheet can transform other XSLT style sheets, or even itself. An important feature of XSLT programming is that it's rule-based and declarative. In XSLT, rules are called template rules. A template rule is an instruction to transform a specified source element in a particular way. To transform a set of data, you must provide a complete set of rules. However, each rule is independent of every other. The order in which rules are declared (or executed) is not significant. This makes XSLT programming side-effect-free. Although you can introduce side-effects by calling extension functions from within XPath expressions, the native way of programming with XSLT is without any side-effects. In this way, programming with XSLT is significantly different from imperative or procedure-oriented programming.

XSLT extends the value of XML data. XSLT allows you not only to present XML data, but also to transform it into completely new data that is designed specifically for a particular user, media, or client. With XSLT, you can transform data so it can be exchanged between disparate business systems, map one XML-based representation into another, transform XML data into a variety of media, including HTML documents for the Web and PDF format for print, dynamically filter information to target a specific user or user group. For example, we could easily remove any part of information, presented in this music catalog, e. g. encoding quality or track length or both.

XHTML & CSS

To honor the power and elegance of XML, XHMTL is actually an XML language, it's from a family of XML languages. XHTML uses XML rules and notation (XSLT does as well). XHTML is a reformulation of HTML 4 in XML. XHTML is a family of current and future document types and modules that reproduce, subset, and extend HTML 4. XHTML family document types are XML based, and ultimately are designed to work in conjunction with XML-based user agents.

HTML, as originally conceived, was to be a language for the exchange of scientific and other technical documents, suitable for use by non-document specialists. HTML addressed the problem of SGML complexity by specifying a small set of structural and semantic tags suitable for authoring relatively simple documents. In addition to simplifying the document structure, HTML added support for hypertext. Multimedia capabilities were added later. In a remarkably short space of time, HTML became wildly popular and rapidly outgrew its original purpose. Since HTML's inception, there has been rapid invention of new elements for use within HTML and for adapting HTML to vertical, highly specialized, markets. This plethora of new elements has led to interoperability problems for documents across different platforms.

The XHTML family is the next step in the evolution of the Internet. By migrating to XHTML today, content developers can enter the XML world with all of its attendant benefits, while still remaining confident in their content's backward and future compatibility. When properly used, W3C standards enhance accessibility and promise long-term durability for any document published on the Web. If you care to reach the largest audience for the longest time possible, you want to work with Web standards, and where document structure is concerned, XHTML is the way to go. The rules of XHTML take minutes to learn and the benefits of XHTML are vast. It is easy to author in XHTML and equally easy to convert HTML to XHTML by hand.

CSS

CSS (Cascading Style Sheets) is a simple mechanism for adding style (e. g. fonts, colors, spacing, dimensions) to XHTML documents. Regretfully, CSS is not XML-based, but it's still great! The fundamental feature (and principal advantage) of CSS is that CSS enables content writers to separate structure from presentation, content from style, bringing a number of additional benefits, including but not limited to:

Downloads

Here are a few downloads you may be interested in after reading the topics on this page. And in the end. We fully appreciate the power of XHTML and CSS and use it everywhere, on all of our sites, including this one. Consider this page our tribute to XML, XHTML and CSS. Argentum loves this triad!

Music Catalog

Back to the top of music catalog...

More...

  • More useful stuff. MoodBook, MyFiles, Argentum and more...