„XML is the cure for your data exchange, information integration, data pdf">. A. (c) >>> page 1 of 7 PDF File: b77 Xml For Dummies , 4th Edition By Lucinda Dykes, Ed Tittel [EBOOK. XML is a markup language that builds web pages. Before you start using XML, study the difference between a valid and well-formed document, how to create.
|Language:||English, Spanish, Hindi|
|ePub File Size:||25.31 MB|
|PDF File Size:||13.23 MB|
|Distribution:||Free* [*Regsitration Required]|
Savvy (Sybex), XML for Dummies (3rd Edition, Wiley), easy; for more complex formats, such as PDF or RTF, you probably need help from. ence—the dark night of the soul, the call for help, the responding voice, the.. clashes with any other item, Rumi wa Sex For Dummies 3rd lesforgesdessalles.info computer books, including numerous For Dummies titles on topics that include several Windows versions, NetWare, HTML, XHTML, and XML. Ed is also.
Instead, the document uses the type attribute to distinguish normal paragraphs from introductions, tips, and warnings. In fact, the rest of this chapter will be devoted to tackling this issue. The actorid attribute has been designated an ID. As a result, whitespace is collapsed and our whole document appears on one line. Best to get a good grasp of it now, rather than waiting for insanity to set in when you least expect it. Note that with mixed content like this, you have no control over the number or order of the elements that are used. What this says is that each of the elements paragraph , intro , sidebar , and note can contain regular text as well as b , i , u , citation , and dialog elements.
Elliotte Rusty Harold. SQL For Dummies. Allen G.
Erik T. Read more. Product details Paperback: For Dummies; 4 edition May 20, Language: English ISBN Don't have a Kindle? Try the Kindle edition and experience these great reading features: Share your thoughts with other customers. Write a customer review.
Read reviews that mention dummies series wish i read xml book basics of xml xml for dummies buy this book book easy dummies does a very good xml i found reading this book xml for web dummies book book on xml examples html reference basic confusing data topic. Top Reviews Most recent Top Reviews. There was a problem filtering reviews right now. Please try again later. Paperback Verified Purchase. I recall an English teacher who once told her students that they had to read at least fifty pages in any book before deciding whether it was worth reading.
Well, it took fifty pages for me to get past the boredom of the first two chapters where I read one promise after another of what was coming in some future chapter. However, to give credit where credit is due, by page 60 I began to find some meaningful content in this book and from that point on I found it useful.
If your looking for a lot of in depth XML exposure, this book isn't for you. If you already know something about mark up language e. It's a bargain, in terms of price, and IMO it's certainly worth the price; even if you only use it as a reference source. A starter will definitely appreciate this widely heralded successor to HTML and it will provide a lot of information about this powerful and flexible language that is used to format complex data for the Web.
Passed around the office, used by 15 different employees. Excellent book, easy read. Simple and to the point. Benefited from reading the book immediately. Answered questions I had, and explained the solution. One person found this helpful.
I love this book. I know very little about XML, but want to learn the basics about the language. The Dummies book presents the material quite simply, which helps me understand the basics about XML. I am about a third of the way through and have already learned so much about it. I was impressed with the speed of delivery. I received the book within a few days after I ordered it.
A very informative but accessible guide. Heled me out a ton getting to understand the basics of XML. Also has more technical information in later chapters. Great Read! This book didn't ring my chimes Big thumbs down. Very pleased with this seller-product better than expect and extremely prompt delivery-like physically impossible to get her any quicker than it did. See all 48 reviews. Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers.
Learn more about Amazon Giveaway. This item: XML For Dummies. Set up a giveaway. You should see an error message similar to the one shown in Figure 1.
At first glance, this error message seems a bit more obscure than the previous one. However, look closely and what do you see? Firefox is a popular open-source browser, and at the time this book went to print the latest version was 1.
You can download a free copy from the Mozilla website. Okay, so both Internet Explorer and Firefox will check your XML for well-formedness, but you need to know for future reference how to check that an XML file is valid i. How do you do that? There are various well-known online validating XML parsers. All you have to do is visit the appropriate page, upload your document, and the parser will validate it. Here is the most popular online parser. Sometimes, it may be impractical to use a Website to validate your XML because of issues relating to connectivity, privacy, or security.
This checks for well-formedness if the document has no DTD, and for well-formedness and validity if a DTD is specified. Results of the validation will appear under the Results area, as illustrated in Figure 1. For most purposes, an online resource will do the job nicely. If you work in a company that has an established software development group, chances are that one of the XML-savvy developers has already set up a good validating parser.
This project will help ground your skills as you obtain firsthand experience with practical XML development techniques, issues, and processes. It usually consists of the following components:. Before you build any kind of CMS, first you must gather information that defines the basic requirements for the project. The goal of the CMS is to make things easier for those who need to develop and run the site. And making things easier means having to do more homework beforehand!
Although you may groan at the thought of this kind of exercise, a set of well-defined requirements can make the project run a lot more smoothly. What kind of requirements do we need to gather? Essentially, requirements fall into three major categories: In the world of XML, each of these different types of content is, naturally enough, called a document type. You also have to know how each of these content types will break out into its separate components, or metadata.
Each article, for instance, will have various pieces of metadata, such as a headline, author name, and keywords, each of which the CMS needs to track. The final challenge — to define various types of metadata — can be a blessing in disguise.
In my experience, once people grasp the importance of metadata, they race off in every direction and collect every single piece of metadata they can find about a given content type. For example, the client might start to track the date on which an article is first drafted. Gathering metadata can be very tricky. At first glance, we could say that all of our articles should contain elements for author name and email address, and leave it at that.
However, we may later decide that we want site visitors to search or browse articles by author. In this case, it would make more sense to have a centralized list of authors, each with his or her own unique ID.
Having a separate author listing would also allow us to easily set bylines for each author, in case someone decided they wanted to publish pieces under a pen name. It would also allow us to track author information across content types. Of course, agreeing on this approach means that we need to do other work later on, such as building administrative interfaces for author listings. The other two are site functionality and site design. Every piece of metadata could potentially drive some kind of site behavior, but each piece of metadata also must be managed by the administration tools you set up.
Site behavior should always be based on and driven by metadata. Typical site behavior for a CMS-powered Website includes browsing by content categories, browsing by author, searching on titles and keywords, dynamic news sidebars, and more.
Additionally, many XML- and database-powered sites feature homepages that boast dynamically updated content, such as Top Ten Downloads, latest news headlines, and so on. Our CMS will need to have an administrative component for each content type.
It will also have to administer pieces of information that have nothing to do with content types, such as which users are authorized to log in to the CMS, and the privileges each of them has. It goes without saying that your administrative interface has to be secure, otherwise, anyone could click to your CMS and start deleting content, making unauthorized changes to existing content, or adding new content that you may not want to have on your site.
A workflow is simply a set of rules that allow you to define who does what, when, and how. For example, your workflow might stipulate that a user with writer privileges may create an article, but that only a production editor can approve that content for publication on the site. In many cases, CMS workflows emulate actual workflows that exist in publication and marketing departments. We want to publish articles and news stories on our site. We definitely want to keep track of authors and site administrators, and we also want to build a search engine.
Whenever I build an XML-powered application, I try to define the content types first, because I find that all the other elements cascade from there. The articles in our CMS will be the mainstay of our site. In addition to the article text, each of our articles will be endowed with the following pieces of metadata:.
Furthermore, because we need to identify each article in our system uniquely with an ID of some sort, it makes sense to add an id attribute to the root element that will contain this value. A unique identifier will ensure that no mistakes occur when we try to edit, delete, or view an existing article. Now, each of our articles will have an author, so we need to reserve a spot for that information. Our article will need a headline, a short description, a publication date, and some keywords.
The keyword listing can be handled in one of two ways. This approach will satisfy the structure nuts out there, but it turns out to be too complicated for the way we will eventually use these keywords. We also need to track status information on the article.
However, you probably already see that status is very similar to keyword listings in that it has the potential to belong to many different content types. As such, it makes sense to centralize this information. As most of our content will be displayed in a Web browser, it makes sense to use as many tags as possible that a browser like IE or Firefox can already understand. But for the purposes of our article storage system, we want to treat all of the HTML tags and text that make up the document body as a simple text string, rather than having to handle every single HTML tag that could appear in the article body.
My goal for that chapter was to show you how flexible XML really is. It is both a style sheet specification and a kind of programming language that allows you to transform an XML document into the format of your choice: XPath is a language for locating and processing nodes in an XML document.
Because each XML document is, by definition, a hierarchical structure, it becomes possible to navigate this structure in a logical, formal way i.
A document type definition DTD is a set of rules that governs the order in which your elements can be used, and the kind of information each can contain. While a DTD can provide only general control over element ordering and containment, schemas are a lot more specific. They can, for example, allow elements to appear only a certain number of times, or require that elements contain specific types of data such as dates and numbers.
Both technologies allow you to set rules for the contents of your XML documents. If you need to share your XML documents with another group, or you must rely on receiving well-formed XML from someone else, these technologies can help ensure that your particular set of rules is properly followed.
The ability of XML to allow you to define your own elements provides flexibility and scope. XML namespaces attempt to keep different semantic usages of the same XML elements separate and unambiguous. In our example, each person could define their own namespace and then prepend the name of their namespace to specific tags: No one in their right mind could reasonably expect them all to switch to XML overnight.
But we can expect that some of these pages — and a large percentage of the new pages that are being coded as you read this — will make the transition thanks to XHTML. As you can see, the XML family of technologies is a pretty big group — those XML family reunions are undoubtedly interesting! Although this means that some ideas take quite a while to reach fruition, and tend to be built by committee, it also means that no single vendor is in total control of XML.
And this, as Martha Stewart might say, is a good thing. So, what do you say?
Not sure? Well, put bluntly, the Web has reached a point at which just about anything will fly when it comes to HTML documents. Take a look at the following snippet:. Believe it or not, that snippet will render without a problem in most Web browsers.
And so will this:. But, exactly what does this mean? Use this with CSS to minimize presentational clutter. XML Namespaces were invented to rectify a common problem: Imagine you were running a bookstore and had an inventory file called inventory. A human being could probably figure out that one title has nothing to do with the other, but an application that tried to sort it out would go nuts.
We need to have a way to distinguish between the two different semantic universes in which these identical terms exist. Your inventory file stores information about books on the shelf, but the sales file stores information about books that have been bought by customers. In either situation, regardless of the chasm that lies between the contexts of these identical terms, we need a way to properly label each context.
Namespaces to the rescue! To use and declare a namespace, we must first tie the namespace to a URI. URIs can take the following forms:. Uniform Resource Locator: Uniform Resource Name: For example, all published books have an ISBN.
However, armed with the ISBN, you could walk into the store, ask an employee to search for you, and they could take you right to the book provided, of course, that it was in stock. We want to use our namespace throughout our XML documents, though, and the last thing we want to do is type out an entire URI every time we need to distinguish one context from another. So, we define a prefix to represent our namespace to ease the strain on our typing fingers:. The agreed way to do that is to prefix the namespace declaration with xmlns: At this point, we have something useful.
If we needed to, we could add our prefix to appropriate elements to disambiguate I love that term! In most cases, placing your namespace declarations will be rather easy. Please note, however, that namespaces have scope.
Namespaces affect the element in which they are declared, as well as all the child elements of that element. However, if you want to limit your namespace scope to a certain part of a document, feel free to do so — remembering, of course, that this can get pretty tricky. It would become pretty tiresome to have to type a prefix for every single element in a document. Notice the non-prefixed namespace: On the other side of the coin, all XSLT elements must be given the xsl: This document contains a root element letter that contains three other elements to , from , and message , each of which contains text.
When you display your XML document, you should see something similar to Figure 2. Figure 2. As you can see, CSS did a marvelous job of rendering a nicely shaded box around the entire letter, setting fonts, and even displaying things like margins and padding.
Strictly speaking, the CSS standard does allow for this sort of thing with the content property, which can produce generated text before and after document elements. Think of it as a tool that you can use to transform your XML documents into other documents. Here are some of the possibilities:. XSLT is a rules-based, or functional language. Because XSLT can be a little bewildering even for veteran programmers, the best way to tackle it is to walk through a series of examples.
Keeping both these elements simple will give us the opportunity to step through the major concepts involved.
They must therefore follow the rules that apply to all XML documents: The version attribute is required. The xmlns: In our example, we will use an xsl prefix on all the stylesheet-related tags in our XSL documents to associate them with this namespace.
The next element will be the output element, which is used to define the type of output you want from the XSL file. Now we come to the heart of XSLT — the template and apply-templates elements.
Together, these two elements make the transformations happen. Put simply, the XSLT processor for our immediate purposes, the browser starts reading the input document, looking for elements that match any of the template elements in our style sheet. When one is found, the contents of the corresponding template element tells the processor what to output before continuing its search.
Where a template contains an apply-templates element, the XSLT processor will search for XML elements contained within the current element and apply templates associated with them. The first thing we want to do is match the letter element that contains the rest of our document.
This is fairly straightforward:. This very simple batch of XSLT simply states: Were the value simply letter , the template would match letter elements throughout the document. By default, apply-templates will match not only elements, but text and even whitespace between the elements as well. XSLT processors have a set of default, or implicit templates, one of which simply outputs any text or whitespace it encounters.
We do this with another XPath expression: Each of these templates matches one of the elements we expect to find inside the letter element: In each case, we output a text label e. The last thing we have to do in the XSL file is close off the stylesheet element that began the file:. Left this way, the output would look something like this:. Each of our three main templates begins with a line break and then some whitespace before the label, which is being carried through to the output.
But wait — what about the line break and whitespace that ends each template? Well by default, the XSLT standard mandates that whenever there in only whitespace including line breaks between two tags, the whitespace should be ignored. But when there is text between two tags e. The vast majority of XML books and tutorials out there completely ignore these whitespace treatment issues. Best to get a good grasp of it now, rather than waiting for insanity to set in when you least expect it.
All it does is output the text it contains, even if it is just whitespace. Notice how each template now outputs its label e.
This gives us the fine control over formatting that we need when outputting a plain text file. Are we done yet? Not quite. When you view the XML document in Firefox, you should see something similar to the result pictured in Figure 2.
Internet Explorer interprets the result as HTML code, even when the style sheet clearly specifies that it will output text. As a result, whitespace is collapsed and our whole document appears on one line. For this reason, it is not yet practical to rely on browser support for XSLT in a real-world website. You should see something similar to Figure 2. What happens if you need to transform your own XML document into an XML document that meets the needs of another organization or person?
Not to worry — XSLT will save the day! You see, Web browsers only supply collapsible tree formatting for XML documents without style sheets. XML documents that result from a style sheet transformation are displayed without any styling at all, or at best are treated as HTML — not at all the desired result. There are several things that need to be added to your style sheet to signal to the browser that the document is more than a plain XML file, though.
Here we have declared a default namespace for tags without prefixes in the style sheet. Next up, we can flesh out the output element to more fully describe the output document type: In addition to the method and indent attributes, we have specified a number of new attributes here: Internet Explorer for Windows displays XHTML documents in Quirks Mode when this declaration is present, so by omitting it we can ensure that this browser will display it in the more desirable Standards Compliance mode.
The rest of the style sheet is as it was for the HTML output example we saw above. Now, we need to identify exactly what we need for our news items, binary files, and Web copy. We must also manage and track site administrators using XML. Compared to our article content type, news will be fairly straightforward.
We will need to track these pieces of information:. The easiest way to keep track of copy is to treat each piece a little like an article. An XML document that tracks a piece of Web copy will look like this:.
We will need to keep track of each administrator on the site, as these are the folks who can log in and make changes to advertisement copy, articles, news pieces, and binary files. After that, you should have enough of a working knowledge of XML and its wacky family to really start development. In fact, in many contexts, consistency can be a very beautiful thing. Remember that XML allows you to create any kind of language you want. In many cases, as long as you follow the rules of well-formedness, just about anything goes in XML.
However, there will come a time when you need your XML document to follow some rules — to pass a validity test — and those times will require that your XML data be consistently formatted.
What we need is a way to enforce that kind of rule. In XML, there are two ways to set up consistency rules: A DTD document type definition is a tried and true if not old-fashioned way of achieving consistency.
Each of these technologies contains lots of hidden nooks and crannies crammed with rules, exceptions, notations, and side stories. Speaking of side stories, did you know that DTD actually stands for two things?
It stands not just for document type definition, but also document type declaration. The declaration consists of the lines of code that make up the definition. Just a warning before we start this chapter: As for the first question, many possible answers spring to mind:. Using a system to ensure consistency allows your XML documents to interact with all kinds of applications, contexts, and business systems — not just your own.
The way DTDs work is relatively simple. A DTD might look something like this:. Those of you who are paying attention should have noticed some remarkable similarities between this DTD and the Letter to Mother example that we worked on in Chapter 2, XML in Practice.
In fact, if you look closely, each line of the DTD provides a clue as to how our letter should be structured. This is called an element declaration. You can declare elements in any order you want, but they must all be declared in the DTD.
A DTD element declaration consists of a tag name and a definition in parentheses. These parentheses can contain rules for any of:. In this case, we want the letter element to contain, in order, the elements to , from , and message. As you can see, the sequence of child elements is comma-delimited. In fact, to be more precise, the sequence not only specifies the order in which the elements should appear, but also, how many of each element should appear.
In this case, the element declaration specifies that one of each element must appear in the sequence. If our file contained two from elements, for example, it would be as invalid as if it listed the message element before to.
How will you do that? With a neat little system of notation, defined in Table 3. After the letter declaration, we see these three declarations: So whenever you see this notation in a DTD, you know that the element must contain only text. This notation allows the paragraph element to contain any combination of plain text and b , i , u , and highpriority elements.
Note that with mixed content like this, you have no control over the number or order of the elements that are used. What about elements such as the hr and br , which in HTML contain no content at all? These are called empty elements, and are declared in a DTD as follows:.
Remember attributes? An attribute declaration is structured differently than an element declaration. For one thing, we define it with! Also, we must include in the declaration the name of the element that contains the attribute s , followed by a list of the attributes and their possible values.
Basically, this attribute can contain any string of characters or numbers. In DTD-speak, this means that the attribute is optional. Instead of allowing any arbitrary text, however, the DTD limits the values to either male or female. If, in our document, an actor element fails to contain a gender attribute, or contains a gender attribute with values other than male or female , then our document would be deemed invalid.
The actorid attribute has been designated an ID. In DTD-speak, an ID attribute must contain a unique value, which is handy for product codes, database keys, and other identifying factors. In our example, we want the actorid attribute to uniquely identify each actor in the list.
The ID type set for the actorid attribute ensures that our XML document is valid if and only if a unique actorid is assigned to each actor. Incidentally, if you want to declare an attribute that must contain a reference to a unique ID that is assigned to an element somewhere in the document, you can declare it with the IDREF attribute type.
An entity is a piece of XML code that can be used and reused in a document with an entity reference. There are different types of entities, including general, parameter, and external. General entities are basically used as substitutes for commonly-used segments of XML code. For example, here is an entity declaration that holds the copyright information for a company:.
Parameter entities are both defined and referenced within DTDs. What this says is that each of the elements paragraph , intro , sidebar , and note can contain regular text as well as b , i , u , citation , and dialog elements. Not only does the use of a parameter entity reduce typing, it also simplifies maintenance of the DTD.
External entities point to external information that can be copied into your XML document at runtime. For example, you could include a stock ticker, inventory list, or other file, using an external entity.
An external DTD is usually a file with a file extension of. First, you must edit the XML declaration to include the attribute. This will search for the letter. If the DTD lives on a Web server, you might point to that instead:. Finally, XML Schema provides very fine control over the kinds of data contained in an element or attribute. Now, for some major drawbacks: Most of the criticism aimed at XML Schema is focused on its complexity and length.