Back to description
Extensible Markup Language (XML) is now in widespread use. Many applications on the Internet or residing on individual... more
Extensible Markup Language (XML) is now in widespread use. Many applications on the Internet or residing on individual computers use some form of XML to run or manage the processes of an application. Earlier books about XML commented that XML was to be the “next big thing.” Now, it is “the big thing.” In fact, there really isn’t anything bigger.
For this reason, you want to understand XML and its various applications. This book focuses on some of the more common ways to apply XML to the work you are doing today. Whether you need Web services, searching, or application configuration, you can find immediate uses for XML. This book shows you how to apply this markup language to your work.
This first chapter looks at the basics of XML, why it exists, and what makes it so powerful. Finally, this chapter deals with XML namespaces and how to properly apply them to XML instance documents. If you are already pretty familiar with the basics of XML, feel free to skim this chapter before proceeding.
... less
Although it is certainly possible to work with XML using only a text editor (such as emacs, vi, or even Windows Notepad),... more
Although it is certainly possible to work with XML using only a text editor (such as emacs, vi, or even Windows Notepad), having a tool specifically designed or expanded for working with XML can make your life much easier. Beyond creating XML files, these tools add validation, schema creation, mapping, and even advanced features such as XSLT debugging to the mix; making you more productive and more successful when working with XML. In short, you want a dedicated XML editor to make working with XML easier.
This chapter will survey some of the more popular tools available for working with XML, along with the advantages and disadvantages of each.
The XML editors described in this chapter include:
Microsoft Visual Studio .NET 2003
Microsoft Visual Studio 2005
Altova XMLSpy
Oxygen
Stylus
Although many people think of XML as a data format, many of the important uses for XML are in layout.... more
Although many people think of XML as a data format, many of the important uses for XML are in layout. Of these, one of the most significant is XHTML, or the Extensible HyperText Markup Language. XHTML is the "XML-ized" version of HTML, cleaning up many of the sloppier features of HTML and creating a more standardized, more easily validated document format. The Cascading Stylesheets (CSS) feature, although not an XML format, is widely viewed as important for XHTML development. CSS is a formatting language that can be used with either HTML or XHTML. It is generally viewed as a cleaner replacement for the Font tag and other similar devices that force a particular view. When used in combination with XHTML, the model is that the XHTML document carries all the content of the page, whereas CSS is used to format it. This chapter looks at these two sets of specifications, as well as some validation tools that help ensure your code is valid. In addition, this chapter looks at microformats, a relatively recent set of uses for both XHTML and CSS.
This chapter presents a reference and detailed examples of using the features of XSL-FO (eXtensible Stylesheet L... more
This chapter presents a reference and detailed examples of using the features of XSL-FO (eXtensible Stylesheet Language - Formatting Objects). It is used to specify the formatting semantics of documents using an XML format.
XSL-FO is used to produce formatted output from an XML data source. One problem of Web based applications has been the difficulty of producing quality printable output to create presentation quality documents available from the browser. XSL-FO, in conjunction with Scalable Vector Graphics (Chapter 5), gives you the tools to provide this service to users in common Web formats.
XSL-FO builds on the other Web based styling technologies like Cascading Style Sheets (CSS(2)), Document Style Semantics and Specification Language (DSSSL). The W3C used these technologies, which were aimed primarily for browser rendering to produce a specification for paginated output not solely targeted to the Web browser. This led to the W3C specification for XSL, which includes XSL-FO and for eXtensible Stylesheet Language Transformation (XSLT).
Although this chapter concentrates on producing output documents for printing, the XSL-FO specification provides for other mediums of electronic communication such as text to speech. XSL-FO also includes multilingual support including options for right-to-left, bottom-to-top languages.
At the moment, Web browsers cannot directly display pages marked up with XML-FO objects. To produce output from XSL-FO documents, you use an XSL-FO processor. Examples of the common output supported by free-to-download processors include PDF, Text, PCL and PS.
If you wish to work through the examples presented in this chapter, you need several prerequisites. The applications required for the examples plus alternative applications are listed and examined later in the chapter.
Initially, I present a detailed overview of XSL, where XSL-FO fits in to the XML family, examples of where XSL-FO can be used and a detailed overview of the syntax and properties of the key areas of the XSL-FO implementation.
You know that, as an XML document author, you can create the XML document in whatever structure you decide on.... more
You know that, as an XML document author, you can create the XML document in whatever structure you decide on. You are able to decide on your own element names, you can determine how the data within these elements is represented, and you can even dictate the complete hierarchy of the data represented in the document. The structure you decide on is referred to as a vocabulary. This open set of rules may seem like anarchy, but this is what gives XML its power. It is a creative environment that allows you to build a true representation of your data.
This openness of XML vocabulary does, however, require a set of rules defined on the structure of XML documents. This set of rules, once in place, can then be used to validate XML documents that are created or being read. If you want to consume an XML document, you must have a means to run the document through a validation process to make sure it abides by the established rules to ensure easy processing. Otherwise, you must ensure this by laboriously parsing the XML document line by line.
The XML validation process is an important one. This book covers the three main ways to validate an XML document. Document Type Definitions, also known as DTDs, are ways you can apply this validation process. Other means include XML Schemas and RELAX NG. This chapter takes a look at DTDs and how you can create and work them.
In the previous chapter, you saw that defining a vocabulary for the XML that you create or work with is an important step... more
In the previous chapter, you saw that defining a vocabulary for the XML that you create or work with is an important step in any validation process. If you accept XML documents, you need the means to programmatically validate the structure of those XML documents. Validating an XML document means initiating a process to ensure that the XML document follows a set of rules regarding structure. It is quite difficult to process an XML document that is doesn’t have the structure you expect.
In the previous chapter, you reviewed using DTDs or document type definitions in XML validation. DTDs are the original way to describe the vocabulary of an XML document. If you look at the XML specification (found at w3.org/TR/REC-xml/) you find that DTDs are included in this definition. You don’t find the XML Schemas specifications defined in the XML specification. XML Schemas were defined after the creation of the XML specification.
w3.org/TR/REC-xml/
The W3C made the XML Schema a recommendation in October of 2004. You can find the various specifications in the following places on the Internet:
XML Schema Part 0: Primerw3.org/TR/xmlschema-0/
w3.org/TR/xmlschema-0/
XML Schema Part 1: Structuresw3.org/TR/xmlschema-1/
w3.org/TR/xmlschema-1/
XML Schema Part 2: Datatypesw3.org/TR/xmlschema-2/
w3.org/TR/xmlschema-2/
XML Schemas are the default way to represent a vocabulary, and they are the best option for new development. This chapter looks at the basics of XML Schemasincluding how to build and consume them.
The previous two chapters looked at two of the more commonly used formats for defining XML vocabularies.... more
The previous two chapters looked at two of the more commonly used formats for defining XML vocabularies. This chapter continues this survey of schema languages by looking at RELAX NG. This is a relatively new XML schema definition language from the Organization for the Advancement of Structured Information Standards (OASIS). OASIS is a standards body similar to the W3C that was originally created as an improved version of DTDs, and can leverage some of the functionality of XML Schema. To further these goals, RELAX NG was designed to provide a highly readable format that could be used to define complex vocabularies.
This chapter will look at the two forms of the RELAX NG specification: the standard form and the compact form. It will show the way you use these two forms to define XML vocabularies, and compare it with DTDs and XML Schemas. Along the way, you will see how RELAX NG integrates with XML tools and programming languages for validating XML documents and creating objects that map to RELAX NG schemas.
Every tradesman's tool case has one tool that is a little more worn than the others. It is the favorite tool,... more
Every tradesman's tool case has one tool that is a little more worn than the others. It is the favorite tool, the "go to" tool that gets used when all other tools have failed, or maybe even the first tool for all problems. For XML developers, that tool is often XSLT (eXtensible Stylesheet Language Transformations). XSLT is a templating language that can be used to convert XML into something else. The result of the transformation can be XML, HTML, XHTML, or even plain text or binary. XSLT is a powerful tool and, like many powerful tools, it has a few sharp edges you should avoid. As XSLT is a functional language, it can seem a little alien at first for developers used to procedural languages such as C# or Java. In addition, XSLT has limited support for variables and conditional logic than either of those languages. This chapter shows you how you can use XSLT in your applications and avoid its potential problems. Examples will show how you can use XSLT standalone, or combined with other programming languages and tools.
XPath is a compact expression language to query XML documents. Most of the expressions you will find in XPath are simple... more
XPath is a compact expression language to query XML documents. Most of the expressions you will find in XPath are simple to read and understand, even if you are not to use those libraries in your yet an XPath expert. This in part explains the success of the XPath language, which is already in wide use . Among other things, you can use XPath to extract information from an XML document, check the validity of a document, or perform complex queries on a document.
In the first section of this chapter, you learn about some of the major features of the XPath expression language. After reading this section, you will be able to understand most XPath expressions and write your own expressions.
If you are already an XPath expert, you can jump directly to the “Lessons from the Trenches” section. In this section, you will read some lessons that have been learned (often the hard way) over the years by programmers using XPath in real-life situations.
You need a special engine to run XPath expressions. Engines often come in the form of libraries, which you then use from a programming language. This chapter covers XPath libraries available in Java, .NET, and PHP, and shows you how programs.
As always, having the right tool makes a big difference. So the last section of this chapter tells you about some tools that will make your life easier when dealing with XPath expressions.
XQuery is a declarative, typed, functional language designed from scratch by the XML Query Working Group specifically... more
XQuery is a declarative, typed, functional language designed from scratch by the XML Query Working Group specifically for the purpose of querying data stored in XML format. XQuery shares the same data model and the same XML Schema-based type system with other members of the XML standards family such as XPath 2.0 and XSLT 2.0. XQuery is designed to work with XML documents that are untyped (no schema associated with the data), typed with XML Schemas, or a combination of both. XQuery 1.0 is basically a superset of XPath 2.0. In addition to the features of XPath 2.0, it has the following capabilities:
Adds an order by clause to the FLWOR (more on this later) clause to sort in nondocument order
order by
Adds a let clause to the FLWOR clause to name results of expressions for further use
let
Provides a way to specify static context items in the query prolog (such as namespace prefix bindings)
Provides the ability to construct new nodes
Provides the ability to specify user-defined functions
Provides the ability to create modules and libraries
In this chapter, you get an in-depth look at the features of XQuery, including its syntax through examples. After that, you will be introduced to the support provided by Java and SQL Server 2005 for XQuery and the steps involved in working with XQuery from within Java and SQL Server 2005.
Although XML is frequently a part of the data tier because it stores data this chapter concentrates on XML... more
Although XML is frequently a part of the data tier because it stores data this chapter concentrates on XML and databases. Databases, both relational and native XML, are part of many applications. You must, therefore, often store XML in those databases or retrieve some of the data in XML format. While the conversion of data to XML could be done in an intermediate layer of your application, it is sometimes more efficient to do this work within the database itself. This chapter will look at how you can store and retrieve XML from such common databases as Microsoft SQL Server and Oracle 10g. In addition, this chapter will cover XML databases, and their possible role in your applications.
XML was introduced to alleviate interoperability problems across platforms and networks. A standard language,... more
XML was introduced to alleviate interoperability problems across platforms and networks. A standard language, combined with a DTD (or another schema construct), provides a way of exchanging data. Not only does data need to be in a standard format, but the way data is accessed should also be standardized. XML provides the constructs for putting data into a standard format, and as you will soon see, the Document Object Model provides a standard way of accessing data. A Web developer, who provides some script inside a Web page that makes use of an XML document, shouldn’t have to recode the script to work in every browser. This chapter takes you through a tour of the XML DOM features, including its object model, various classes, and their usage. Specifically you will see:
The need for XML DOM processing on the client side
The different classes contained in the XML DOM
How to work with the various classes of XML DOM
How to create, read, and modify nodes in an XML document
How to validate an XML document against an XSD schema using XML DOM
How to transform an XML document into HTML using XML DOM
The Simple API for XML (SAX) is an event-driven programming interface for XML parsing. It was developed by the members... more
The Simple API for XML (SAX) is an event-driven programming interface for XML parsing. It was developed by the members of the xml-dev mailing list currently hosted by the Organization for the Advancement of Structured Information Standards (OASIS) (oasis-open.org). SAX is not an XML parser, but instead it is a set of interfaces implemented by many XML parsers. SAX was developed as a standardized way to parse an XML, to enable more efficient analysis of large XML documents. SAX is specified as a set of Java interfaces. Initially, if you were going to do any serious work with it, you had to be doing some Java programming, using JDK 1.1 or later. Now, however, a wide variety of languages have their own version of SAX.
oasis-open.org
In this chapter, you get an in-depth look at the features of SAX including its architecture, and processing flow through examples. Specifically you learn how to,
Configure a SAX parser and parse an XML document
Handle elements, attribute lists, character data, and processing instructions
Handle errors and warnings using SAX
Search for specific elements in an XML document using SAX
Write XML elements using SAX
Validate an XML document with an XSD schema
Understand the advantages and disadvantages of SAX
Ajax is a new term for a relatively old technique. Ajax is an acronym coined by Jesse James Garrett of Adaptive Path,... more
Ajax is a new term for a relatively old technique. Ajax is an acronym coined by Jesse James Garrett of Adaptive Path, standing for Asynchronous JavaScript And XML. Although it is an acronym, people tend to use it without capitalizing each letter.
The core idea behind Ajax is the use of JavaScript within the browser to transfer and process XML from the server. The asynchronous refers to the fact that this transfer occurs on a background thread, allowing the client to continue to interact with the Web page. Asynchronous download, combined with the fact that only relatively small amounts of XML are transferred, reduces the need for round tripping the entire browser page. This creates a Web application that seems more performant.
This chapter will look at Ajax, and how to add it to your applications. It looks at the main components of any Ajax solution JavaScript and the XMLHttpRequest object. While not a complete reference on either, the chapter provides basic information on these two topics. In addition, several popular Ajax libraries are highlighted.
XMLHttpRequest
The history of Ajax begins around the time of Internet Explorer 5.0, when the XMLHttpRequest object (Microsoft.XMLHTTP) was added to the objects accessible from client-side script.
JavaScript is a scripting language created by Netscape to provide dynamic functionality in Navigator. Originally, it was called LiveScript, but it was later renamed to associate it with Java, which was becoming popular at the time. JavaScript is a loosely-typed, scripting language. That is, it is not compiled. The code is executed through an interpreter (built into most modern browsers). In addition, data types are limited, and variables can change type based on the data stored. For syntax, it takes many cues from the C/C++ family of programming languages. Therefore, you should expect to end each line with a semicolon and use braces ({}) to identify code blocks. JavaScript is a standard (ECMA), so you may hear it referred to as ECMAScript.
Microsoft has been working for years to make using XML in the .NET world as easy as possible. You can’t help but... more
Microsoft has been working for years to make using XML in the .NET world as easy as possible. You can’t help but notice the additional capability and the enhancements to overall XML usage introduced in new each version of the .NET Framework. In fact, Bill Gates highlighted Microsoft’s faith in XML in his keynote address at the Microsoft Professional Developers Conference 2005 in Los Angeles. He stated that XML is being pushed deeper and deeper into the Windows core each year. If you look around the .NET Framework, you will probably agree.
In addition to a series of namespaces in the .NET Framework that deal with XML and other XML-related technologies, you also find support for XML in Microsoft’s products such as Visual Studio 2005, ASP.NET, ADO.NET, SQL Server, BizTalk, and a plethora of others.
This and the following two chapters step away from focusing on a specific XML technology. Instead, they focus on how specific vendors’ technologies use XML. This chapter takes a look at XML in the .NET world, while the next few chapters look at XML in the worlds of Java, PHP, and more. You start by looking specifically at the Microsoft’s embrace of XML.
In this chapter, you examine how XML and Java work together. In some ways XML and Java are excellent bedfellows;... more
In this chapter, you examine how XML and Java work together. In some ways XML and Java are excellent bedfellows; they're both children of the 1990s and fit in well with modern concepts of Internet and Web-based application architectures, and they both have a solid foundation in Unicode. When it comes to the details, however, there's sometimes a mismatch: For example, the mapping from XML Schema data types to classes in the Java class library is less than perfect.
Java and XML can interact in many different ways. This chapter takes a bottom-up approach, starting with the lowest-level interfaces and working steadily upward. The most important interfaces are covered in detail elsewhere in this book, so this chapter gives more of an overview: a comparative study of the different interfaces, explaining their capabilities and their strengths and weaknesses. Its goal is to enable you to choose the right interface for the job at hand without necessarily providing a detailed reference for each class and method.
At the lowest level, Java applications can read and write lexical XML, that is, XML represented in character form with angle-bracket markup. Reading lexical XML is called parsing; writing lexical XML is called serialization (although that term is overloaded, unfortunately). The first section of the chapter discusses how a Java application can interact with a parser and a serializer.
The next level up is the construction of tree-based representations of XML documents in memory. The best-known tree model is the DOM, which is described in more detail in Chapter 13. However, DOM has come under some criticism in the Java world, and a number of attempts have been made to create better models. At least three such programs have a significant user base, namely JDOM, DOM4J, and XOM. I give a brief overview of these models to help you make an informed choice.
What DOM and these other tree models have in common is that they are generic object models: They use Java objects to represent elements, attributes, and text nodes. Wouldn't it be better to translate these generic objects into objects that reflect the semantics of the information you want to manipulate, such as customers, orders, and products? This brings us to the next level up, which is data binding: the capability to define the mapping between the XML representation of data and a Java object model.
But there's a higher level still. Rather than writing your business logic in Java, which involves moving the data between a Java representation and an XML representation, you can write the business logic in declarative languages such as XPath, XSLT, and XQuery, where the data is manipulated entirely in its native XML form. Java, however, still has a role in controlling the overall structure of the application and linking together modules written in these special-purpose languages. So in the final part of the chapter, you examine how Java relates to these declarative XML-processing languages.
Although much attention is currently directed to Java and .NET, many developers work with dynamic programming languages... more
Although much attention is currently directed to Java and .NET, many developers work with dynamic programming languages such as Perl, Python, and Ruby. Dynamic languages differ from languages such as Java or C# in that the variables are usually not fixed to a particular type. For example, the following code fragment is perfectly valid in a dynamic language:
var x;
x = 5;
x = "testing";
Notice that the variable declaration does not identify the type of the variable, and that it may be used to store numeric, string or even object values. In most dynamic languages, the variable declaration is not even needed: You can simply begin to use a variable. Some languages, such as Python and Ruby, go even further, supporting what has become known as duck typing. With duck typing, a variable is treated as a particular type as long as it supports the same method and property calls as the desired type does. That is, if a block of code is expecting a method called toString, then any object may be used as long as it supports a toString method. This demonstrates a powerful feature in dynamic languages, the ability to rapidly prototype and test a block of code. (The term duck typing derives from the old expression, "If it walks like a duck, and quacks like a duck, it must be a duck.")
toString
Dynamic languages are frequently also known as scripting languages, as many of them are interpreted languages that may be used directly from the command-line, without requiring a separate compilation step. These two featuresdynamic variables and flexibility in releaseoutline the benefits many developers see in dynamic languages: It is very easy to rapidly develop and iterate applications written in dynamic languages. In addition, some programming concepts are much more difficult to implement in statically typed languages when compared with dynamic languages.
Dynamic languages are also ideal for manipulating XML. Most have strong text-manipulation capabilities, and libraries for processing XML in a variety of ways. This chapter looks at three of the most commonly used dynamic languages (Perl, Python, and Ruby). For each of these languages, it will show some of the common methods of using these languages to read and write XML and related technologies.
"Content is King!"
"Content is everywhere."
"It's all about the content."... more
"It's all about the content."
It's obvious from these comments that spring up frequently in newsgroups, forums, technical articles, and elsewhere that many people consider content important. However, just what is content and how do you get it in and out of your applications?
Content is the actual information on a Web site -- the technical articles, the blog posts, the media files. Content is basically everything on your average Web site except the navigation elements and advertisements.
You share your content with others when they visit your Web site. If the content on your site changes over time, and people want to stay current on that information, they must check your site frequently to see if anything has changed. Different solutions have been proposed to this problem -- from push technologies such as PointCast to pull technologies such as CDF (Channel Definition Format), RSS, and Atom. Although push technologies have fallen by the wayside, RSS and Atom are increasing in importance, especially because they are used in Weblogs (blogs), news sites, and podcasting.
Although RSS and Atom are generally thought of in terms of Web sites, they also have importance for non-Web applications. A database or desktop application can provide a feed of updates via RSS or Atom. Client applications can use this feed to stay in sync.
This chapter looks at means of reading and writing these two families of XML formats.
If there is one term in this book that you will hear more than any other in the halls of information technology,... more
If there is one term in this book that you will hear more than any other in the halls of information technology, it is the term Web services. Computer magazines, Web sites, and other sources have many reasons to tout the benefits of this XML-based technology. It is simply a powerful and extensible way of moving datasets from one point to another in this cyber world we live in today.
Over the last few years, Web services have grown from being a concept the industry has simply kept its eye on, to a reality that is now planned for in quite a number of recurring IT projects. Web services are filling a need that has existed in the IT industry for some time now, and the major vendors of the world are literally rushing in with solutions that their customers can use to address this need.
This chapter looks at the Web services world (at least to the extent possible in the limited space this chapter offers), including how some of the major vendors of the world make it rather simple for you to build and consume Web services using their tools and technologies. After this chapter, the next few chapters include more discussion on SOAP, WSDL, and the WS-* specifications.
When you start working with the Web services space, you quickly realize that so much in this space resolves completely... more
When you start working with the Web services space, you quickly realize that so much in this space resolves completely around SOAP and WSDL. SOAP, or Simple Object Access Protocol, is the language that Web services speak to transmit messages over the wire. WSDL, or Web Services Description Language, is the XML structure used to describe the SOAP messages involved in the request/response process.
This chapter investigates both of these technologies and how to use them to your advantage in the applications you are building today. It reviews the basics of SOAP and WSDL, as well as how you can go about extending both these technologies using various tools and technologies that are at your disposal in the industry today.
Web services have already changed the way developers model their applications. Web services allow developers to easily... more
Web services have already changed the way developers model their applications. Web services allow developers to easily expose application logic and data with relatively little work. Various vendors have now built into their toolsets the means to easily expose and consume Web services.
Although the Web services model is great, it originally generated a little bit of worry in the enterprise. Where is the security? What about sending binary objects such as images? What about the routing of SOAP messages? These were good questions because they pointed out what the Web services model was lackinga common way to provide security, send attachments, establish routing, and more.
Companies such as IBM and Microsoft started working on a number of specifications that addressed these needs. These were
WS-Security
WS-Timestamp
WS-Attachments
Developers watched these new specifications with great excitement, and wanted to begin using them immediately. This desire gave birth to the various WS-* (WS-star) technologies. This chapter takes a look at these advanced specifications and what they do for your Web services. In addition to examining the specifications, this chapter also describes implementing these specifications in your applications today.
In the Web Services family, SOAP is the "cool kid" that gets all the attention, but REST is the child that gets... more
In the Web Services family, SOAP is the "cool kid" that gets all the attention, but REST is the child that gets work done quietly in the background. REpresentational State Transfer (REST) is the Web Service for the rest of us. Apart from the fact that the acronym needs work (it was coined for a PhD dissertation), REST is really just a description of how the Web works: by moving (transferring) from page to page (the state). Each page you visit is the representation of that state. REST is all about simple links and using simple messages and query strings to get the job done.
Although the process of REST may not be obvious with the general Web pages you visit, think about a shopping site. You browse through a list of products, changing the state of the application and the representation of that state in your browser. Finally, you find the item you've been dreaming of for so long, and you click the link to buy it. State is added to an invisible shopping cart. Viewing the cart's contents is another click away. Increasing the quantity of items purchased is a matter of setting the number, and clicking an Update button. Deleting is just as easy. Everything is managed through simple GET and POST requests. You get many of the benefits of SOAP without having to build SOAP requests, understand WS-something-or-other, or process WSDL. Instead, you define the XML you'd like to pass between client and server.
Everyone is familiar with forms, either paper or electronic: a set of fields to be completed. Different types of fields... more
Everyone is familiar with forms, either paper or electronic: a set of fields to be completed. Different types of fields exist, such as fill in the blank text boxes, pick one or pick many items, and so on. Some sort of validation usually ensures that fields are filled out (or filled out correctly). The completed form may need to be transmitted electronically. So, why do we need yet another form syntax? Because this new syntax eliminates some limitations of the previous implementations.
This chapter looks at using defining electronic forms using the W3C XForms standard, and the most commonly used proprietary standard, InfoPath. While neither of these methods is as familiar or offers the ease of development of XHTML forms, both bring benefits to the developer. Both syntaxes enforce best practices in software design, separating the model of the data from the implementation. This makes code and form reuse a much easier process. In addition, by enforcing XML standards, you can use other XML standards, such as XSLT or XPath when working with these XML form implementations. Finally, XForms is intended as the forms model of XHTML 2.0, currently a work in progress. Therefore, its importance will only increase as time goes by.
As you have seen throughout this book, XML is a great technology to deal with data warehousing, data representation,... more
As you have seen throughout this book, XML is a great technology to deal with data warehousing, data representation, data presentation, and more. A problem area in XML, however, is how to represent metadata in a standard way.
Metadata is quite literally data about data. You might find a dataset that makes little sense without the context surrounding it. Perhaps it would make better sense if it had some relations in place that map to additional data points or if it were related to existing data points to show a larger set of relations across boundaries.
An easy-to-understand structure surrounding metadata not only helps you comprehend the data you are presented with, but also gives you a mechanism to discover this data.
For instance, if you are conducting a search for the word Hemingway, you find all sorts of information that utilize this keyword. But do you want to know about books on the life of Ernest Hemingway, movies starring Mariel Hemingway, or information on the books written by author Ernest Hemingway?
This is where the relationships between the data make sense. Having data relations in place enables you to more easily pinpoint the data and facilitates research and data discovery that would be difficult otherwise. This chapter takes a look at how to use the Resource Description Framework (RDF) to create the metadata around any data that you represent in your XML documents.
Many applications that process XML do it as an intermediate step in creating documents. Many of those documents are created... more
Many applications that process XML do it as an intermediate step in creating documents. Many of those documents are created with Microsoft Office by users who are more familiar with the Office tools than with angle brackets. Because Microsoft Office products are some of the most commonly used applications for working with documents, it makes sense that Microsoft added XML processing to these applications. Although it attempts to hide the angle brackets more often than an XML purist may like, Office makes creating and processing XML documents easy for average users. This chapter looks at creating and editing XML with the most commonly used Office tools. In addition, the newer alternatives of Office 2007 and Open Office are shown.
While any editions of Office 2003 (or Office 2007) can be used to save XML, only the Professional and Enterprise editions provide the advanced XML features.
One of the newest technologies in the programming world is XAMLan XML language used to write applications on the... more
One of the newest technologies in the programming world is XAMLan XML language used to write applications on the Windows Presentation Foundation (WPF). XAML stands for Extensible Application Markup Language. This new way of creating applications within a Microsoft environment was introduced in 2006 and is part of the .NET Framework 3.0. So when you run any WPF application, you must have the .NET Framework 3.0 installed on the client machine. WPF applications are available for Windows Vista, Windows XP, and Windows Server 2003 (the only operating systems that allow for the install of the .NET Framework 3.0).
Purchase Before purchasing this product, please be sure you have met all software and system requirements, and that you understand any limits placed upon its use.
Return Policy Wrox Chapters on Demand are non-returnable and non-refundable.
Reader Software Wrox Chapters on Demand are offered as PDFs, and they must be viewed using the Adobe Reader. If you do not have the Reader installed, it can be downloaded for free at Adobe.com.
Test Download As Wrox Chapters on Demand purchases are non-returnable, it is advisable that you test your system and software configurations with a free sample download before you place an order.
Usage Rights for a Wrox Chapter on Demand File Any Wrox Chapter on Demand product you purchase from this site will come with certain restrictions that allow Wiley to protect the copyrights of its products. After you purchase and download this title, you:
If you have any questions about these restrictions, you may contact Customer Care at (877) 762-2974 (8 a.m. - 5 p.m. EST, Monday - Friday). If you have any issues related to Technical Support, please contact us at 800-762-2974 (United States only) or 317-572-3994 (International) 8 a.m. - 8 p.m. EST, Monday - Friday).
Related Books
XML Resources