<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>  XML</title>
	<link>http://xml-tips.assistProgramming.com</link>
	<description>Codding World &#187; XML</description>
	<pubDate>Fri, 20 Jun 2008 15:42:38 +0000</pubDate>
	<language>en</language>
			<item>
		<title>Why XML?</title>
		<link>http://xml-tips.AssistProgramming.com/why-xml.html</link>
		<pubDate>Tue, 29 Jan 2008 10:53:42 +0000</pubDate>
		<description><![CDATA[The computing press has found a new savior for the ills that afflict  computing and the web: XML. XML is new, it&#8217;s exciting, and it&#8217;s got to be good,  because the specification for it looks indecipherable. XML&#8217;s hype level has  already drawn fire from some quarters, from those accusing it of &#8216;balkanizing [...]]]></description>
			<content:encoded><![CDATA[<p>The computing press has found a new savior for the ills that afflict  computing and the web: <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is new, it&#8217;s exciting, and it&#8217;s got to be good,  because the specification for it looks indecipherable. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>&#8217;s hype level has  already drawn fire from some quarters, from those accusing it of &#8216;balkanizing  the web&#8217; or of increasing the load on an already strained Internet. Most  important, many developers are wondering why exactly they need to learn yet  another language.</p>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>&#8217;s set of tools allows developers to create web pages - and much more. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>  allows developers to set standards defining the information that should appear  in a document, and in what sequence. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, in combination with other standards,  makes it possible to define the content of a document separately from its  formatting, making it easy to reuse that content in other applications or for  other presentation environments. Most important, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> provides a basic syntax  that can be used to share information between different kinds of computers,  different applications, and different organizations without needing to pass  through many layers of conversion.</p>
<p>Web developers are the initial target audience, but database developers,  document managers, desktop publishers, programmers, scientists, and other  academics are all getting involved. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> provides a simple format that is  flexible enough to accommodate wildly diverse needs. Even developers performing  tasks on different types of applications with different interfaces and different  data structures can share <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> formats and tools for parsing those formats into  data structures that applications can use. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> offers its users many advantages,  including:</p>
<ul>
<li>Simplicity</li>
<li>Extensibility</li>
<li>Interoperability</li>
<li>Openness</li>
<li>A core of experienced professionals</li>
</ul>
<h2>What is <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>?</h2>
<p>Extensible Markup Language (<acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>) provides a foundation for creating documents  and document systems. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> operates on two main levels: first, it provides syntax  for document markup; and second, it provides syntax for declaring the structures  of documents. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is clearly targeted at the Web, though it certainly has  applications beyond it. Users who have worked with <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> before should be able to  learn the basics of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> without too much difficulty. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>&#8217;s simplicity is its key  selling point, perhaps even its strongest feature.</p>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is derived from (and is technically a subset of) the Standard Generalized  Markup Language (SGML). SGML has found its main customer base in organizations  handling enormous quantities of documents - the U.S. Government Printing Office,  IBM, the U.S. Department of Defense and Internal Revenue Service, and many  publishers. SGML&#8217;s development provides the foundations for <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, but <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> has a  smaller and simpler syntax, targeted at web developers and others who need a  simple solution to document creation, management, and display.</p>
<p><strong> </strong><strong>Note:</strong> The following section is not an <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> tutorial. It only shows a  few pieces of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> to show part of what a document and a <acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym> look like. For a  full tutorial on <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, see my <cite><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>: A Primer</cite>, or any of a number of  other good <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> guides arriving at a bookstore near you.</p>
<p>Like <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> (an application of SGML), <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> uses elements and attributes, which  are indicated in a document using tags. Tags begin with a &lt; and close with a  &gt;. End tags include a / before the name of the element; empty tags include a  / before the closing &gt;. For example, the following bit of a document includes  three elements: two elements with content, and one empty tag.</p>
<blockquote><p>&lt;FIGURE DESCRIPTION=&#8221;Harvey&#8221;&gt;&lt;IMAGE/&gt;&lt;CAPTION&gt;This  is a picture of my invisible friend!&lt;/CAPTION&gt;&lt;/FIGURE&gt;</p></blockquote>
<p>The first start tag opens the FIGURE element, which has the attribute  DESCRIPTION set to &#8220;Harvey&#8221;, and contains an empty IMAGE element and the CAPTION  element with its content. End tags close both the CAPTION and the FIGURE  elements, producing a nested structure. These nested structures are fairly good  at representing typical document and data structures, and a very easy for  computer programs to store and manipulate. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> enforces its rules harshly.  Unlike <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> browsers, which have been extremely forgiving of bad markup, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>  parsers are supposed to produce error messages for illegal or malformed markup.  Forcing the author to clean up their markup allows the parsers on the receiving  end to do much less work. It also provides authors with confidence that their  work will be interpreted consistently, without having to wonder how multiple  browsers would interpret the same document.</p>
<p>In addition to providing syntax for document markup, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> provides syntax for  specifying document structure. The Document Type Definition (<acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym>) provides <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>  parsers a set of rules with which they can validate the document. Validation  doesn&#8217;t imply that the contents of the document are correct, or that certain  data fields are numbers or text; rather, it means that all the elements of the  document fit into the structure specified by the <acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym>. For example, the fragment  below specifies the structure used in the example above.</p>
<p>&lt;!ELEMENT FIGURE (IMAGE, CAPTION)&gt;</p>
<p>&lt;!ATTLIST FIGURE<br />
DESCRIPTION CDATA #IMPLIED&gt;</p>
<p>&lt;!ELEMENT IMAGE EMPTY&gt;</p>
<p>&lt;!ELEMENT CAPTION (#PCDATA)&gt;</p>
<p>The FIGURE element must contain an IMAGE and a CAPTION element, and the  FIGURE element may have a DESCRIPTION attribute. The IMAGE element must be  empty, and would probably include a set of attributes providing information  about the image if this example was more complicated than an &#8216;invisible friend&#8217;.  The CAPTION element may contain text, entities, processing instructions, and any  other valid <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> text except other elements. The full syntax for DTDs provides  many more options for declaring elements and attributes and their location in  the document structure, as well as entities, which allow the developer to define  a chunk of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> content or <acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym> information and use it by reference.</p>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> permits the use of documents, called &#8216;well-formed documents&#8217; that use  only its rules for document syntax, without specifying a <acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym>. Documents that  contain (and/or refer to) a properly written <acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym>, and meet the requirements it  sets, are referred to as &#8216;valid&#8217;. Validation can be an important step in the  authoring process, and may also be performed at any step in processing.  Developers can choose how often, and when, to screen a document to check its  structure. Applications which need to process lots of information quickly, or  which can&#8217;t afford the additional processing requirements imposed by validation,  can stick to well-formed documents. Well-formed documents also provide an easy  bottom rung on the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> learning ladder - by sticking to the basic syntax,  developers can create parseable documents with any structure they choose, moving  up to more formal DTDs when the need arises.</p>
<p>In practice, though, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> itself should disappear into the background, hiding  behind tools for most users. Most people won&#8217;t need to create their own DTDs -  once a standard <acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym> is created, users can simply apply it, making modifications  when it becomes clear the structure needs improvement. As <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> becomes ubiquitous  (and tools improve), it should become invisible to all but a few, buried  underneath authoring tools and plug-in parsers.</p>
<h2>Simplicity</h2>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> provides both programmers and document authors with a friendly  environment, at least by computing standards. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>&#8217;s rigid set of rules helps  make documents more readable to both humans and machines. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> document syntax  contains a fairly small set of rules, making it possible for developers to get  started right away. DTDs can be developed through a standards process, set by  experts, or through experimentation, based on the structures of documents that  seem to work well. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> parsers are also reasonably simple to build, especially  parsers that only check well-formedness.</p>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> documents are built upon a core set of basic nested structures. While the  structures themselves can grow complex as layers and layers of detail are added,  the mechanisms underlying those structures require very little implementation  effort, from either authors or developers. These basic structures can be used to  represent complex sets of information, from the full contents of a document to  persistent object state information to a set of commands for a program, without  needing to change the structures themselves.</p>
<h2>Extensibility</h2>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is extensible in two senses. First, it allows developers to create their  own DTDs, effectively creating &#8216;extensible&#8217; tag sets that can be used for  multiple applications. Second, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> itself is being extended with several  additional standards that add styles, linking, and referencing ability to the  core <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> set of capabilities. As a core standard, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> provides a solid  foundation around which other standards may grow.</p>
<p>Creating DTDs is most likely what the creators of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> had in mind when they  called it Extensible Markup Language. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is, after, a meta-language, a set of  rules that can be used to create sets of rules for documents. In a certain  sense, there&#8217;s no such thing as an &#8216;<acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> document&#8217; - all the documents that use  <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>-compliant syntax are really using applications of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, with tag sets chosen  by their creators for that particular document. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>&#8217;s facilities for creating  DTDs give standard-builders a set of tools for specifying what document  structures may or must appear in a document, making it easy to define sets of  structures. These structures can then be used with <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> tools for authoring,  parsing, and processing, and used by applications as a guide to the data they  should accept.</p>
<p>At the same time that <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is being used to create other standards, other  supporting standards for <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> are being defined. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> can already use many of the  standards applied to <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym>, like Cascading Style Sheets (<acronym title='Cascading Style Sheets'><span class='caps'>CSS</span></acronym>) and HyperText  Transfer Protocol (HTTP). <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym> working groups are developing additional  supporting standards for <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>-Linking (XLink) provides linking facilities  that are far more sophisticated than those in <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym>. XPointers, derived from the  Text Encoding Initiative&#8217;s (TEI) extended pointers, provide a way to  consistently reference portions of documents. Extensible Style Language (<acronym title='eXtensible Stylesheet Language'><span class='caps'>XSL</span></acronym>)  provides a more complete set of formatting tools than <acronym title='Cascading Style Sheets'><span class='caps'>CSS</span></acronym>, and is notable for  using <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> syntax to define its style sheets. Other standards, including support  for data-typing, are under discussion.</p>
<h2>Interoperability</h2>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> can be used on a wide variety of platforms and interpreted with a wide  variety of tools. Because the document structures behave consistently, parsers  that interpret them can be built at relatively low cost in any of a number of  languages. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> supports a number of key standards for character encoding,  allowing it to be used all over the world in a number of different computing  environments. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> complements Java, another force for interoperability, very  well, and a considerable amount of early <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> development has been in Java. A  generic application programming interface (<acronym title='Application Interface'><span class='caps'>API</span></acronym>) for parsers, the Simple <acronym title='Application Interface'><span class='caps'>API</span></acronym> in  <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> (SAX), is freely available. Parsers are also available in C++, C,  JavaScript, Tcl, and Python, with more on the way. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> parser development so far  has focused on freeware plug-ins that provide parsing capabilities to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>  applications, greatly lowering the cost of building <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>-enabled  applications.</p>
<h2>Openness</h2>
<p>Although there have been some questions about the process used to create <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>,  the standard itself is completely open, freely available on the web. The <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym>  members have early access to standards (and, apart from invited experts, are the  only ones who can participate directly in their creation), but once the standard  is complete the results are public. The <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> Working Group and the Working Groups  for the supporting standards also release drafts of their work on a regular  basis, making it possible to follow work in progress. Several non-<acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym> <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>  developments have also been extremely open, including SAX.</p>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> documents themselves are also considerably more open than their binary  counterparts. Anyone can parse a well-formed <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> document, and validate it if a  <acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym> is provided. While companies may still create <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> that behaves in a specific  way bound to their application, the data in the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> document is available to any  application. While developers could create obfuscated DTDs or encrypt their data  in a proprietary manner, they would lose most of the benefits of using <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>  doesn&#8217;t bar the creation of proprietary formats, but its openness is one of its  greatest advantages. Application developers can partition tasks among multiple  tools, possibly even from different vendors, allowing them all to operate on the  same structured data set.</p>
<h2>Experience</h2>
<p>Successful application of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> will require data modeling expertise and  (eventually) the building of a new set of tools. Fortunately, the skills of the  SGML community are mostly transferable, providing <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> with a large group of  &#8216;experts&#8217; early in its existence. The <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> specification was created for the most  part by a group of experienced SGML developers, and has received vocal support  from many sectors of the SGML community. Vendors are repurposing their tools,  simplifying them for <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>. Authors who had been writing SGML texts are focusing  on <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> as well, bringing markup structure to a wider audience. Companies that  need to bring in outside vendors to help with large projects have a pool of  firms with established track records to choose from.</p>
<h2>Putting <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> to Work</h2>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> was designed, first and foremost, to be &#8220;straightforwardly usable over  the Internet.&#8221; <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>&#8217;s first home, and the application it rides to ubiquity, is  likely to be the Web. This doesn&#8217;t mean that <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> by itself will revolutionize  the Web, or that the Web is the only field in which <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is going to be useful.  In the long run, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> may become a common thread uniting a wide variety of  applications, smoothly managing data across distributed applications.</p>
<p>The Web will (hopefully) be <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>&#8217;s starting point, the &#8216;killer app&#8217; for <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>.  <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> and <acronym title='Cascading Style Sheets'><span class='caps'>CSS</span></acronym> together provide developers with an easy and efficient way to mark  up pages for presentation on the web. Simply as a web-development system, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>  and <acronym title='Cascading Style Sheets'><span class='caps'>CSS</span></acronym> can already provide significant advantages over <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym>, both for ease of  use and for the amount of time needed to create a large site. Because <acronym title='Cascading Style Sheets'><span class='caps'>CSS</span></acronym> allows  designers to centralize formatting information in a style sheet shared by any  number of documents, designers only need to design repetitive pages once. The  formatting information in the style sheet will link to the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> tags in the  document, allowing documents to be marked up by editors based on content without  the need to enter precise formatting. Complex pages, like the front pages of  many sites, will still need extra attention, but the bulk of pages can be built  at a reduced cost. Also, because style sheets can centralize all the formatting  information needed for a site, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> sites may actually use less bandwidth than  their older <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> equivalents.</p>
<p>While formatting pages is useful, many users are starting to realize that web  sites are only marginally more useful than printed or faxed material. Although  it&#8217;s possible to cut and paste information out of a web browser, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> opens up  the prospect of reusable page content. With appropriate supporting applications,  a user could extract the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data from a document and keep it in their own  private data store, making it easy to manipulate the information later. This  information could include site maps, price lists, product information, or nearly  any kind of data that can be represented as text. Content-based <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> markup  enhances searchability as well, making it possible for agents and search engines  to categorize data instead of wasting processing power on context-based  full-text searches.</p>
<p>At the same time, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is useful for much more than Web pages. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>&#8217;s potential  as a universal transfer format, allowing even applications of different types to  exchange data smoothly, holds as much promise as its role as a document system.  <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> browsers are a key opening for <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, allowing users to read <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> documents  freely, but browsers are only the beginning. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> provides a gateway for  communication between applications, even applications on wildly different  systems. As long as applications can share data (through HTTP, file sharing, or  another mechanism), and have an <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> parser, they can share structured  information that is easily processed. Databases can trade tables, business  applications can trade updates, and document systems can share information.</p>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> provides a core set of standards developers can use to create their own  standards. While some have declared that <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> will &#8216;balkanize&#8217; the Web, the  effects are likely to be much more complex - and less destructive - than that  suggestion implies. By hammering down a common document syntax, but allowing  developers to go their own ways on markup elements, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> makes it possible to  create new systems for data management and organization without the many of the  incompatibilities and complexities that plagued older systems.</p>
<p>The source of this article is <a rel="nofollow" href="http://www.simonstl.com/articles/whyxml.htm">here</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>SOAP XML and its features</title>
		<link>http://xml-tips.AssistProgramming.com/soap-xml-and-its-features.html</link>
		<pubDate>Thu, 06 Dec 2007 14:03:07 +0000</pubDate>
		<description><![CDATA[ Simple Object Access Protocol (SOAP) is a protocol that can be used for  accessing the Web pages. SOAP or Simple Object Access Protocol is an XML based  Object invocation Protocol. SOAP was developed for distributed applications to  communicate through HTTP and firewalls. SOAP is platform independent and it uses  XML [...]]]></description>
			<content:encoded><![CDATA[<p> Simple Object Access Protocol (<acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym>) is a protocol that can be used for  accessing the Web pages. <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> or Simple Object Access Protocol is an <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> based  Object invocation Protocol. <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> was developed for distributed applications to  communicate through HTTP and firewalls. <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> is platform independent and it uses  <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> and HTTP to access services, servers and objects.<br />
<strong><acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> consists of  3 parts:</strong><br />
<strong>* <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> ENVELOPE:  </strong>Defines a framework for expressing what is in a message and who should  handle it. The <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> envelope namespace defines header and body element names and  the encoding style.</p>
<p><strong>* <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> ENCODING  RULES:</strong> Defines a mechanism for exchanging instances of application defined  data types. An encoding rule means an encoding style to know how it is applied  to a specific data.</p>
<p><strong>* <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> <acronym title='Remote Procedure Call'><span class='caps'>RPC</span></acronym>:  </strong>Defines a method to represent Remote Procedure Calls and responses. Soap <acronym title='Remote Procedure Call'><span class='caps'>RPC</span></acronym>  uses a request/response model for message exchanges. The request that is sent to  the end point is the call and the response it sends represents the result of the  call sent.</p>
<p><strong><acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> has the  following features:</strong></p>
<p>* PROTOCOL  independence<br />
* LANGUAGE independence<br />
* PLATFORM AND OS  independence<br />
<acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> is a way by  which programs communicate with other programs using <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>.<acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> uses <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> to  encapsulate data that needs to be sent to a remote subroutine. In more simple  terms <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> is a way by which Java objects and COM objects communicate with each  other. A <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> client is a program that creates an <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> document that contains  information required to invoke a method remotely in a distributed  system.</p>
<p>A <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> server is a  code that listens to the <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> messages and acts as a distributor and an  interpreter. <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> defines encoding rules called Base level codings. The  encodings can be either<br />
* SIMPLE  ENCODINGS<br />
* COMPOUND ENCODINGS</p>
<p><strong>SIMPLE  ENCODINGS</strong> are simple types like ints, floats, strings or user defined data  types. These include data types such as arrays of bytes and  Enumerations.</p>
<p><strong>COMPOUND  ENCODINGS</strong> include data types such as arrays and structures.</p>
<p>See the <a rel="nofollow" href="http://www.xml-training-guide.com/soap-xml.html">source</a>&#8230;</p>
]]></content:encoded>
			</item>
		<item>
		<title>Take Advantage of SQLXML with ASP.NET</title>
		<link>http://asp-dot-net.AssistProgramming.com/take-advantage-of-sqlxml-with-aspnet.html</link>
		<pubDate>Mon, 03 Dec 2007 17:29:42 +0000</pubDate>
		<description><![CDATA[Looking for advantages of SQLXML I found some interesting things:
&#8220;SQLXML is a set of supplemental tools that extend SQL Server&#8217;s existing support for retrieving and storing XML data. With SQLXML 3.0, you are now able to use SQL Server to expose Web services. SQLXML&#8217;s Web services let you execute stored procedures, user-defined functions, and they [...]]]></description>
			<content:encoded><![CDATA[<p>Looking for advantages of SQLXML I found some interesting things:</p>
<p>&#8220;<strong>SQLXML</strong> is a set of supplemental tools that extend <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server&#8217;s existing support for retrieving and storing <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data. With SQLXML 3.0, you are now able to use <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server to expose Web services. SQLXML&#8217;s Web services let you execute stored procedures, user-defined functions, and they support templates.</p>
<p>While SQLXML&#8217;s Web services capabilities do not offer the flexibility or portability that can be gained by developing your own Web service applications to access data, they are ideal for rapid application development because you can offer SQLXML Web services without writing any code! In addition, the technology is well-suited for exposing reports over the Web. You can develop a client application that consumes SQLXML Web services with very little client-side code. From there, you have a number of options to shape, format, or parse the result set.</p>
<p>In this article you&#8217;ll see how to expose a stored procedure as a Web service and build a simple ASP.NET Web Form-based client to access and test the Web service.</p>
<p>You should have a basic of understanding of <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server 2000 and <acronym title='Internet Infomation Server'><span class='caps'>IIS</span></acronym>, including knowledge of how to setup a virtual directory in <acronym title='Internet Infomation Server'><span class='caps'>IIS</span></acronym> and how to grant permissions to a user in <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server. You can find basic documentation on these subjects in <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server 2000 Books Online and in the SQLXML 3.0 Documentation . To begin, you need an instance of <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server 2000, a Windows 2000 server running <acronym title='Internet Infomation Server'><span class='caps'>IIS</span></acronym>, Microsoft&#8217;s MSXML 4.0 <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> parser, the SQLXML 3.0 toolkit, and Visual Studio .NET (VS.NET). You can download the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> parser and SQLXML tools and documentation from the SQLXML resource link in the Resources column of this article.</p>
<p><strong>Configuring a Web Service</strong><br />
The demonstration application for this article uses the Northwind sample database that&#8217;s installed by default with <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server. To get started, follow the instructions in the SQLXML 3.0 Documentation, available for download with the SQLXML 3.0 installer.</p>
<p>First, perform the steps in the procedure labeled Creating the nwind Virtual Directory under the topic <acronym title='Internet Infomation Server'><span class='caps'>IIS</span></acronym> Virtual Directory Management for <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server in the SQLXML 3.0 documentation.</p>
<p>Go to the Configure <acronym title='Internet Infomation Server'><span class='caps'>IIS</span></acronym> Support MMC snap-in application under the SQLXML 3.0 program group.</p>
<p>Select the default web site for your server, go to the Action menu and select New, then click on Virtual Directory.</p>
<p>Create a virtual directory named nwind under <acronym title='Internet Infomation Server'><span class='caps'>IIS</span></acronym> that supports SQLXML applications accessing the Northwind database.</p>
<p>Configure the security settings to support the access to the Northwind database by the virtual directory application.</p>
<p>Under the Settings tab, check the Allow Post option. This allows HTTP POST requests, which are required to support SQLXML Web.</p>
<p>Under this virtual directory, you can configure different types of SQLXML applications, including templates, schemas, and dbobjects, which support template execution, XPath queries against a mapping schema file, and direct access of database objects respectively. These different types of applications under the virtual directory are called virtual name types. There is also a <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> virtual name type that identifies Web services using <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> messaging. Create a <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> virtual name type and name it MyWebService. Now you need to follow the steps in the section labeled Step 2: Configuring the Virtual Name under the topic Initial Setup for Sending <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> Requests.</p>
<p>Enter MyWebService as the name for the new virtual directory application and select the virtual name type <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym>. This creates a reference to the Web Service extensions of the Northwind database. Configuring MyWebService creates a WSDL (Web Services Definition Language) file and a <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server Configuration (.ssc) configuration file for your Web service. The .ssc file describes the virtual name type configuration, and SQLXML uses it to generate the WSDL file. The WSDL file describes the Web services and the methods that your client application can call when using the service.</p>
<p>After setting up a <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> virtual name type, select the Configure option under the Virtual Names tab of the <acronym title='Internet Infomation Server'><span class='caps'>IIS</span></acronym> Virtual Directory management tool for SQLXML 3.0. To set up a stored procedure method mapping type for your soap virtual name type, select the CustOrdersDetail stored procedure under SP/Template option and select the Save option. Saving the stored procedure mapping adds a CustOrdersDetail method to MyWebService. After completing this step, browse to your nwind virtual directory and look for a file named soap.wsdl, which is the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>-formatted WSDL file that describes the services you configured. In a text editor the file looks like this:</p>
<pre>
&lt;xsd:element name="CustOrdersDetail"&gt;

&lt;xsd:complexType&gt;

&lt;xsd:sequence&gt;

&lt;xsd:element minOccurs="0" maxOccurs="1"

name="OrderID" type="xsd:int"

nillable="true"/&gt;

&lt;/xsd:sequence&gt;

&lt;/xsd:complexType&gt;

&lt;/xsd:element&gt;

&lt;xsd:element name="CustOrdersDetailResponse"&gt;

&lt;xsd:complexType&gt;

&lt;xsd:sequence&gt;

&lt;xsd:element minOccurs="1" maxOccurs="1"

name="CustOrdersDetailResult"

type="sqlresultstream:SqlResultStream"/&gt;

&lt;xsd:element name="returnValue"

type="xsd:int" nillable="true"/&gt;

&lt;/xsd:sequence&gt;

&lt;/xsd:complexType&gt;

&lt;/xsd:element&gt;"</pre>
<p><a rel="nofollow" href="http://www.devx.com/xml/article/16433">See the source.</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>Accessing a Database Using XML</title>
		<link>http://xml-tips.AssistProgramming.com/accessing-a-database-using-xml.html</link>
		<pubDate>Sat, 17 Nov 2007 06:14:50 +0000</pubDate>
		<description><![CDATA[Database created  XML, to only incorporate data contained within the data base. It is difficult to  flexibly represent some data, because they deal with individual rows and not  hierarchical data. The data that does not change frequently, the XML data is  generated only upon changes, and not the client requests. If [...]]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Database created  <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, to only incorporate data contained within the data base. It is difficult to  flexibly represent some data, because they deal with individual rows and not  hierarchical data. The data that does not change frequently, the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data is  generated only upon changes, and not the client requests. If data mining is a  requirement, the real solution is generating the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data from the <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> server,  because there are only few tools for OLAP processing in the middleware realm.  </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Middleware  computing provides a central point of access to many systems, database driven or  not. Middleware also performs rules based processing on data that is being  translated. The middleware approach is expensive to build and may be overkill  for a specific application. It is slower than database created <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> for data that  is not changing frequently.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><strong>Retrieving Data  from <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> database</strong></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">There are two  different methods of generating <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> from within <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> server. One way is to use  Web Assistant Wizard, to create Web Tasks, which are automated tasks that run at  specific intervals and generate either <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> or <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> files, or the second way is  to use stored procedures to return results sets that are formatted into <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>.  </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Also using Web  Assistant Wizard it is possible to create Web Task that generates the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> file  that retrieves the data from <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> database and displays it in the  browser.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Microsoft’s <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym>  feature is to make the generation of <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> files from <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym>. There is no reason to  build custom Web software that interactively queries for the data and builds  <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> results. Web Tasks are designed and are meant to generate an <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym>. An <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>  specification is not complete when Web Tasks are added to <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> server.  </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Web Tasks  automatically creates the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> file based on the template created by the user and  the settings given in the Web Assistant Wizard. The <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> files retrieves the data  from <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server and displays it to the user and viewed from the browser. To  access the database using <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, an example is given below. </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">A table is created  called “Bookinfo“ with the columns BName, Author, AuthorADD, Phone, Publisher  and PublisherADD in <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server database and insert rows. A template file called  “Bookinfo.tpl” is also created and the Web Assistant Wizard is used to create  the Bookinfo.xml file. </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">The real  flexibility of the template feature of <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server is the ability to use it to  generate <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>. The server does not care whether the file contains all anything  other than the keywords it uses to insert current row data. Three files,one the  template file called Bookinfo.tpl, one the <acronym title='Document Type Definition'><span class='caps'>DTD</span></acronym> file called the Bookinfo.dtd and  one <acronym title='Cascading Style Sheets'><span class='caps'>CSS</span></acronym> file called Bookinfo.css. </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">The <acronym title='Cascading Style Sheets'><span class='caps'>CSS</span></acronym> file  contains the codes for styling format. The keywords &lt;%begindetail%&gt;,  &lt;%enddetail%&gt; and &lt;%insert_data_here%&gt; are the ASP code used to  fetch the data from <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> database. &lt;%begindetail%&gt; and &lt;%endetail%&gt;  are used to mark the area where <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> query’s results set should be used to fill  the &lt;%insert_data_here%&gt; statements. It indicates where column data should  be placed from the results set. The following is the code for  Bookinfo.tpl.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">&lt;?xml  version=”1.0”?&gt;<br />
&lt;?xml-stylesheet href=”Bookinfo.css”  type=”text/css”?&gt;<br />
&lt;!doctype penta SYSTEM  “Bookinfo.dtd”&gt;<br />
&lt;penta&gt;<br />
&lt;pentabody&gt;<br />
&lt;toptitle&gt;Online  books dot com&lt;/toptitle&gt;<br />
&lt;weltext&gt;Welcome to online  books&lt;/weltext&gt;<br />
&lt;bodytext&gt;Happy to inform the facility of reading  the following books online at free of  cost&lt;/bodytext&gt;<br />
&lt;/pentabody&gt;<br />
&lt;Bookinfo&gt;<br />
&lt;%begindetail%&gt;<br />
&lt;Entry&gt;<br />
&lt;BName  &gt;&lt;%insert_data_here%&gt;&lt;/BName&gt;<br />
&lt;Author&gt;&lt;%insert_data_here%&gt;&lt;/Author&gt;<br />
&lt;AuthorADD&gt;&lt;%insert_data_here%&gt;&lt;/AuthorADD&gt;<br />
&lt;Phone&gt;&lt;%insert_data_here%&gt;&lt;/Phone&gt;<br />
&lt;Publisher&gt;&lt;%insert_data_here%&gt;&lt;/Publisher&gt;<br />
&lt;PublisherADD&gt;&lt;%insert_data_here%&gt;&lt;/PublisherADD&gt;<br />
&lt;/Entry&gt;<br />
&lt;%enddetail%&gt;<br />
&lt;/Bookinfo&gt;<br />
&lt;Foot&gt;<br />
&lt;Footer&gt;Online  books for  demonstration&lt;/footer&gt;<br />
&lt;/Foot&gt;<br />
&lt;/penta&gt;</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><strong>The following is  the code for Bookinfo.dtd</strong></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">&lt;!ELEMENT penta  (pentabody, Bookinfo, Foot)&gt;<br />
&lt;!ELEMENT pentabody (toptitle, weltext,  bodytext)&gt;<br />
&lt;!ELEMENT toptitle (#PCDATA)&gt;<br />
&lt;!ELEMENT welltext  (#PCDATA)&gt;<br />
&lt;!ELEMENT bodytext (#PCDATA)&gt;<br />
&lt;!ELEMENT Bookinfo  (Entry)&gt;<br />
&lt;!ELEMENT Entry (BName, Author, AuthorADD, Phone, Publisher,  PublisherADD)&gt;<br />
&lt;!ELEMENT BName (#PCDATA)&gt;<br />
&lt;!ELEMENT Author  (#PCDATA)&gt;<br />
&lt;!ELEMENT AuthorADD (#PCDATA)&gt;<br />
&lt;!ELEMENT Phone  (#PCDATA)&gt;<br />
&lt;!ELEMENT Publisher (#PCDATA)&gt;<br />
&lt;!ELEMENT  PublisherADD (#PCDATA)&gt;<br />
&lt;!ELEMENT Foot (#PCDATA)&gt;<br />
&lt;!ELEMENT  Footer (#PCDATA)</font></p>
<p><a rel="nofollow" href="http://www.xml-training-guide.com/access-database-using-xml.html">See the source&#8230;</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>How The Core Computer Group Uses DataDirect XQuery®</title>
		<link>http://xml-tips.AssistProgramming.com/core-computer-group-uses-datadirect-xquery.html</link>
		<pubDate>Thu, 27 Sep 2007 06:51:57 +0000</pubDate>
		<description><![CDATA[
XQuery Saving Lives: Data Integration Using DataDirect XQuery
When the Volpe Center and the Transportation Information Project Support  (TRIPS) contractors, lead by CSC, were requested by the National Highway Traffic  Safety Administration (NHTSA) - part of the U.S. Department of Transportation -  the goal was simple: provide an efficient way to deliver Car [...]]]></description>
			<content:encoded><![CDATA[<h1></h1>
<h3>XQuery Saving Lives: Data Integration Using DataDirect XQuery</h3>
<hr style="margin-top: 0px; margin-bottom: 0px" />When the Volpe Center and the Transportation Information Project Support  (TRIPS) contractors, lead by CSC, were requested by the National Highway Traffic  Safety Administration (NHTSA) - part of the U.S. Department of Transportation -  the goal was simple: provide an efficient way to deliver Car Crash Information  in an open, public format following the US-federal standards and compliance  rules.</p>
<p>The information, collected since 1997 under the Electronic Car Crash Data  System, averages out data involving approximately 5,000 accidents every year.  Data is collected in 24 sites around the country and consolidated in a large  Oracle database (500 GigaBytes). NHTSA wanted to make the information available  to several groups of people, including Department of Transportation researchers,  insurance company investigators, vehicle manufacturers and the general  public.</p>
<p>Previously, all data distribution had taken place using flat files and  various proprietary formats; new federal regulations and technology evolution  empowered the Volpe Center to move to the current open standard: <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>.</p>
<h3>Doing Things the Old-Fashioned Way</h3>
<p>Initially, the engineers at the Volpe Center explored using a conventional  approach — <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> queries driven by Java code. They determined that moving data  from a database into <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> using <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> and Java would require about 50 Java classes  and 150 <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> statements for one study type. Obviously, a project of this  magnitude would be complex to design and debug, and would require considerable  maintenance of code.</p>
<h3>Doing Things a Better Way</h3>
<p>After careful consideration in November 2005 it was determined that a better  option was to store the data in an <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> repository. The Volpe Center decided to  use DataDirect XQuery® to handle their <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> and relational tasks. XQuery allowed  them to move all the data directly into <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> files validated against the specific  Car Crash <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>-schema design; all the XQueries for sub processing data features  such as search and dataset construction, are performed against the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> files.  The new architecture enabled by DataDirect XQuery requires just a single Java  class and 7 XQueries. Each XQuery encapsulates the transformation rules clean of  any other type of code, considerably reducing maintenance efforts, and  simplifying code.</p>
<p>“Building the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> repository from the Oracle relational database and later  executing the XQueries on the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> to traverse the data resulted in amazing  performance,” reports Juan Alfonso, senior software engineer at <a rel="nofollow" href="http://www.corecomputergroup.com/" target="_blank">Core Computer Group</a>,  a TRIPS project contractor. “Moreover, a large extraction from 500MB of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data  building datasets intended for SAS analysis took significantly less time  compared to using different methods. Simple XQueries with XPath expressions  pointing to the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> repository locations performed easily using the DataDirect  XQuery implementation.”</p>
<h3>Get The Information to the People</h3>
<p>DataDirect and the TRIPS project team at the Volpe Center were instrumental  in developing the National Highway Traffic Safety Administration’s new system,  which allows their customers to access important information quickly,  efficiently, and reliably. DataDirect XQuery, from Core Computer Group’s  perspective, was instrumental in enabling the Volpe Center to efficiently  deliver a powerful and reliable solution to their customer.</p>
<p>“DataDirect XQuery is the one that worked, and it worked with excellent  performance, which we demonstrated with our project,” Alfonso says in summing it  up. “With DataDirect XQuery we were able to reduce code complexity, simplify  code maintenance and improve performance and scalability.”</p>
<p>“Additionally, the next release of our series of car crash studies will  deploy a set of new features like dynamic search capabilities and custom dataset  creation. The processing will be performed using a backend generic XQuery  factory, based on DataDirect XQuery. The advantage to doing this process  directly from the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> repository, is that it will allow us to isolate the  final-public-deliverable data from the Oracle production database.”</p>
<p><strong>Goal:</strong> Real-time lookup and distribution of high-volume data  from <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> and a large (500 <acronym title='Gigabyte'><span class='caps'>GB</span></acronym>) database.</p>
<p><strong>Why they selected DataDirect:</strong> By moving away from more  conventional approaches (such as Java code and <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> query statements), and  exploring different XQuery implementations, DataDirect XQuery was the most  efficient solution for both the relational to xml and later <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data  integration.</p>
<p><strong>Business benefits:</strong> National Highway Traffic Safety  Administration was able to provide a way for their researchers and customers to  access the Car Crash Information Collection database quickly and efficiently  while saving development time and effort.</p>
<p><strong>Technical benefits:</strong> By choosing DataDirect XQuery, the Volpe  Center and the TRIPS contractors were able to move the data to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> files  residing on the file system and to drastically simplify the query code. The  architecture the Volpe Center developed using XQuery is powerful, efficient,  stable, and easy to maintain.</p>
<p>Source : <a rel="nofollow" href="http://www.xquery.com/customers/volpe.html" title="DataDirect Technologies" target="_blank">DataDirect Technologies</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>SGML - XML - HTML -XHTML All together</title>
		<link>http://xml-tips.AssistProgramming.com/sgml-xml-html-xhtml-all-together.html</link>
		<pubDate>Mon, 24 Sep 2007 22:10:15 +0000</pubDate>
		<description><![CDATA[SGML
In 1986 the Standard Generalized Markup Language (SGML)  became an international standard for defining descriptions of the structure and content of different types of electronic documents. SGML, the &#8220;mother tongue&#8221; of HTML and XML, is used for describing thousands of different document types in many fields of human activity, from transcription  of ancient [...]]]></description>
			<content:encoded><![CDATA[<h2>SGML</h2>
<p>In 1986 the Standard Generalized Markup Language (SGML)  became an international standard for defining descriptions of the structure and content of different types of electronic documents. SGML, the &#8220;mother tongue&#8221; of <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> and <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, is used for describing thousands of different document types in many fields of human activity, from transcription  of ancient Sumerian tablets to the technical documentation for stealbombers, and from patient&#8217;s clinical records to musical notations.</p>
<p>SGML has withstood the test of time. Its popularity is rapidly increasing among organizations with large amounts of document data to create, manage, and distribute as in the Defense, Aerospace, Semiconductor and Publishing industries. However, various barriers exist to delivering SGML over the Web. These barriers include the lack of widely supported stylesheets, complex and unstable software because of SGML’s broad and powerful options, and obstacles to interchange of SGML data because of varying levels of SGML compliance among SGML software packages.</p>
<p>These difficulties have condemned SGML to being a successful niche technique  rather than a mainstream tool. Indeed some cynics have renamed SGML in &#8216;Sounds Good Maybe Later&#8217;.</p>
<h2><acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym></h2>
<p><acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> is a subset of SGML, the most frequently used document type in the Web. It defines a single, fixed type of document with markup that lets you describe a common class of simple office style report, with headings, paragraphs, lists, illustrations, etc., and some provision  for hypertext and multimedia.</p>
<p><acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> was defined to allow the transfer, display and linking of documents over the internet and is the key enabling technology for the WWW. Prior to the emerging of the internet, it was unusual in the word of computing to hear the word &#8220;page&#8221; used to describe elements of data. But <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> web pages have amazing similarities with paper in their role of information publishing. Both <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> and paper pages<br />
are optimized for visual clarity,<br />
focus on ultimate usability (but not on reusability),<br />
contain no contextual information, and<br />
have no document structure to enable automation.</p>
<p>Today&#8217;s web is created by Hand for Eyes only. <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> has too low an &#8220;Information IQ&#8221; to enable many desirable applications. <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> was designed as a  markup language an with simple structures, strong emphasis on formatting and  was weak for encoding content.  It was not designed to encode structure and semantics needed for complex applications.</p>
<h2><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym></h2>
<p>Because of the lack of SGML support in mainstream Web browsers, most applications that deliver SGML information over the Web convert the SGML to <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym>. This down-translation removes much of the intelligence of the original SGML information. That lost intelligence virtually eliminates information flexibility and poses a significant barrier to reuse, interchange, and automation.</p>
<p>For this reason, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> (Extensible Markup Language) was developed by the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> working group (known as the SGML Editorial Review Board) formed under the auspices of the World Wide Web Consortium (<acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym>) in 1996. <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is a highly functional subset of SGML. The purpose of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is to specify an SGML subset that works very well for delivering SGML information over the Web. When the mainstream Web browsers support <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, it is believed that it’s going to be very easy to publish SGML information on the Web. It&#8217;s actually misnamed because <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is not a single Markup Language. It is a metalanguage to let users design their own markup language.</p>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is a public format and not a proprietary format of any company. The v 1.0 specifications was accepted by the <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym> as Recommendation on February 10, 1998.</p>
<p><acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> was conceived as a means of regaining the power and flexibility of SGML without most of its complexity. While retaining the beneficial features of SGML, <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> removes many of the more complex features of SGML that make the authoring and design of suitable software both difficult and costly. But <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> also lacks some important capabilities of SGML that primarily affect document creation, not document delivery. That’s because <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> was not designed to replace SGML in every respect.</p>
<p>The question that is open is not whether <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> will succeed as a widespread data format, but rather how fast, to what level of success and with what products. The question of whether <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> would enter the market was answered when Microsoft, Adobe, Netscape and other big market players not only supported the development of the new standard but began making sizable product investments to this new format. The leading Web browser Products already support <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> in their latest releases. The momentum building behind the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> effort means that <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> is inevitably destined to become the mainstream technology for powering broadly functional and highly valuable business applications on the Internet, intranets, and extranets.</p>
<h2><acronym title='eXtensible HyperText Markup Language'><span class='caps'>XHTML</span></acronym></h2>
<p><acronym title='eXtensible HyperText Markup Language'><span class='caps'>XHTML</span></acronym> is a working draft for there formulation of <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> 4.0 [<acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym>] as an application of <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> 1.0 [<acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>]. It is the basis for a family of future document types that extend and subset <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym>.</p>
<p>There are two major reasons for content developers to adopt <acronym title='eXtensible HyperText Markup Language'><span class='caps'>XHTML</span></acronym>. First, <acronym title='eXtensible HyperText Markup Language'><span class='caps'>XHTML</span></acronym> is designed to be extensible (Design you own tags). Second, <acronym title='eXtensible HyperText Markup Language'><span class='caps'>XHTML</span></acronym> is designed for portability. There will be increasing use of non-desktop user agents to access Internet documents. Some estimates indicate that by the year 2002, 75% of Internet document viewing will be carried out on these alternate platforms. In most cases these platforms will not have the computing power of a desktop platform, and will not be designed to accommodate ill-formed <acronym title='HyperText Markup Language'><span class='caps'>HTML</span></acronym> as current user agents tend to do. Indeed if these user agents do not receive well-formed <acronym title='eXtensible HyperText Markup Language'><span class='caps'>XHTML</span></acronym>, they may simply not display the document.</p>
<p>Source <a rel="nofollow" href="http://www.javacommerce.com/displaypage.jsp?name=intro.sql&amp;id=18238" title="JavaCommerce" target="_blank">JavaCommerce</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>Database-to-XML Mapping using Stylus Software</title>
		<link>http://xml-tips.AssistProgramming.com/database-to-xml-mapping-using-stylus-software.html</link>
		<pubDate>Tue, 11 Sep 2007 22:09:45 +0000</pubDate>
		<description><![CDATA[Previous versions of Stylus Studio® featured database-to-XML mapping tools that allow you to query a relational database using SQL/XML or SQL and render the results as XML. As of Stylus Studio 2007 Release 2 (May 2007), this functionality has been depricated in favor of a new and more powerful relational-to-XML mapping tools based on industry-standard [...]]]></description>
			<content:encoded><![CDATA[<p>Previous versions of Stylus Studio® featured database-to-<acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> mapping tools that allow you to query a relational database using <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym>/<acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> or <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> and render the results as <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>. As of Stylus Studio 2007 Release 2 (May 2007), this functionality has been depricated in favor of a new and more powerful relational-to-<acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> mapping tools based on industry-standard <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym> XQuery technologies, for visually mapping relational and <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data as illustrated here:</p>
<p><a href="http://www.assistprogramming.com/wp-content/uploads/2007/09/relational_to_xml_mapping_b.gif" title="relational_to_xml_mapping_b.gif"><img src="http://www.assistprogramming.com/wp-content/uploads/2007/09/relational_to_xml_mapping_b.thumbnail.gif" alt="relational_to_xml_mapping_b.gif" /></a></p>
<p>XQuery is the official <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym> <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> Query language for querying <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> along with any data source with an <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> representation. It provides a powerful language constructs which somewhat resembles <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> and XPath, and is designed for using <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> in the context of an <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> enabled relational database, thus providing the ability to create, insert, and update <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data directly. Support of XQuery-based relational to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> mapping technologies in Stylus Studio® provides a powerful, extensible, and cost-effective solution for accessing relational data as <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, a frequently encountered challenge in any advanced data integration application.</p>
<h3>Database-to-<acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> Mapping with Any Database</h3>
<p>Our Database-to-<acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> Mapper supports access all of the leading relational databases; support for Microsoft <acronym title='Structured Query Language'><span class='caps'>SQL</span></acronym> Server, Oracle, IBM DB/2, Sybase and many others. Support for accessing any relational database via XQuery is accomplished through integrated support for DataDirect XQuery™, a Java-implementation of XQuery that can query <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, relational data as well as <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> messages, EDI, legacy data formats, or a combination of data sources. DataDirect XQuery™ provides the fastest, most reliable, and most scalable XQuery support for all major relational databases, and it runs on any Java platform. DataDirect XQuery™ supports the XQuery for Java <acronym title='Application Interface'><span class='caps'>API</span></acronym> (XQJ), and is easily embeddable in any Java program — it does not require any other product or application server, and it has no server of its own. DataDirect XQuery™ is recommended for applications that must manage <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>, relational, and legacy data formats, including applications for data integration, Web services, Web publishing, and report generation.</p>
<h3>Visual Database to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> Mapping</h3>
<p>Stylus Studio® provides a visual Relational to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> mapping tool (illustrated below) for creating, editing, and testing the XQuery statements used to define any relational database tables and views as a customized <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data source. Once you&#8217;ve created a connection to a relational database, you first browse the database contents using our file explorer which includes support for browsing Database objects such as tables and views. Our XQuery Mapper automatically generates the XQuery code required to query (or update) relational database tables and views — just drag and drop your relational database sources to the datasource pane and visually map from source to target output document, specifying the processing you&#8217;d like to take place. Our relational to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> database mapping tools implements the mapping code using none other than industry-standard XQuery code.<br />
<img src="http://www.assistprogramming.com/wp-content/uploads/2007/09/database_to_xml.gif" alt="database_to_xml.gif" /></p>
<h3>Viewing a Database to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> Mapping</h3>
<p>You can execute your newly created database to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> mappings to verify that it produces the desired <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data source from your relational data. To run the database to <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> application, simply click the Execute Query button and the <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> results are displayed in a Preview window. Once you are satisfied with the results, save the resulting XQuery file.</p>
<p><img src="http://www.assistprogramming.com/wp-content/uploads/2007/09/preview_sqlxml_query.gif" alt="preview_sqlxml_query.gif" /></p>
<p>Stylus Studio® provides a powerful, standards-based solution for accessing relational data and rendering it as <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym>. Visual XQuery editing, testing, and built-in support for DataDirect XQuery™ makes it easy to visually map, query and update relational databases as <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> and save them as <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> data sources that can be used anywhere you use <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> — to build XQuery, <acronym title='eXtensible Stylesheet Language Transformation'><span class='caps'>XSLT</span></acronym>, even Web services — <a rel="nofollow" href="http://www.stylusstudio.com/xml_download.html" title="Download the Complete <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> processying tool from stylus">Download a free trial now!</a></p>
]]></content:encoded>
			</item>
		<item>
		<title>Web Services Open Standard</title>
		<link>http://xml-tips.AssistProgramming.com/web-services-open-standard.html</link>
		<pubDate>Sat, 08 Sep 2007 19:10:43 +0000</pubDate>
		<description><![CDATA[4 September 2007, the World Wide Web Consortium issued a critical Web standard for extending the features of Web services and Service Oriented Architecture (SOA) applications. Building on the fundamental open Web services standards from W3C, Web Services Policy enables developers to meet requirements for secure transactions, reliable messaging, addressing metadata, and other scenarios, in [...]]]></description>
			<content:encoded><![CDATA[<p>4 September 2007, the World Wide Web Consortium issued a critical Web standard for extending the features of Web services and Service Oriented Architecture (SOA) applications. Building on the fundamental open Web services standards from <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym>, Web Services Policy enables developers to meet requirements for secure transactions, reliable messaging, addressing metadata, and other scenarios, in modular fashion. With <a rel="nofollow" href="http://www.w3.org/TR/2007/REC-ws-policy-20070904/">Web Services Policy 1.5</a>, SOA developers can enable extensions to a service without disruption or requiring changes to lower level service descriptions. The extensions themselves (consisting of what are called &#8220;policy assertions&#8221;) are defined by other specifications.</p>
<h3>Web Services Policy 1.5 Based on Industry Needs, Experience</h3>
<p>Years of customer experience with commercial Web services applications have made clear the need for a modular approach for describing required and optional extensions used by a service. Without this capability, it can be costly to rewrite an entire service whenever application needs change. Web Services Policy 1.5 can reduce this cost. It connects the core Web services standards &#8212; <acronym title='Simple Object Access Protocol'><span class='caps'>SOAP</span></acronym> 1.2, WSDL 2.0, and <acronym title='eXtensible Markup Language'><span class='caps'>XML</span></acronym> Schema &#8212; to a growing set of extensions that reflect industry needs and experience.</p>
<p>The <a rel="nofollow" href="http://www.w3.org/2002/ws/policy/"><acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym> Web Services Policy Working Group</a> invited implementers to demonstrate interoperability by evaluating software against the group&#8217;s test suite. <a rel="nofollow" href="http://www.w3.org/2007/07/dashboard-summary.html">Ten implementations of Web Services Policy 1.5</a> helped confirm the maturity of the specification. The tests focused on security assertions, one of the most important use cases cited by industry.</p>
<p>Another use case, addressing metadata, is the focus of <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym>&#8217;s <a rel="nofollow" href="http://www.w3.org/2002/ws/addr/">WS-Addressing Working Group</a>. The two <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym> Working Groups have collaborated to ensure that the <a rel="nofollow" href="http://www.w3.org/TR/ws-addr-metadata">Addressing Metadata Specification</a> is aligned with the policy framework.</p>
<p>The <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym> Web Services Policy Working Group also secured review from several OASIS Web Services Technical Committees (UDDI, WS-RX, WS-TX, and WS-SX) to ensure that Web Services Policy 1.5 would satisfy their use cases.</p>
<h3>Web Services Working Group Brings Together Industry Leaders</h3>
<p>The Web Services Policy Working Group brings together leaders from across the software industry including Adobe Systems Inc; Axway Software; BEA Systems, Inc; CA; Fujitsu Limited; IBM; IONA Technologies, Inc.; JBoss Inc.; Layer 7 Technologies; Microsoft Corporation; Nokia; Nortel Networks; Oracle Corporation; SAP AG; Sonic Software; Sun Microsystems, Inc.; webMethods, Inc.; and WSO2.</p>
<p>Source:<a rel="nofollow" href="http://www.w3.org/2007/07/wspolicy-pressrelease" title="Worl Wide Web Consortium" target="_blank"> <acronym title='World Wide Web Consortium'><span class='caps'>W3C</span></acronym></a></p>
]]></content:encoded>
			</item>
	</channel>
</rss>
