(1)
What are the primary differences between XML and HTML?
The
differences between HTML and XML could be defined in broad strokes such as the
following:
“HTML
is a DTD for SGML and XML is a subset of SGML”
http://matwww.ee.tut.fi/hmopetus/prj/xmlsem2000/ht/leppanen.htm
Accessed
07/26/2003
-Or you
could attempt to define the more specific differences-
“…End
tags are required (XML).
(Not
always so HTML-FSH)
All
attributes have to be fully quoted with either single or double quotes (XML).
(Not
always so HTML-FSH)
Tags
have to be properly nested (XML).
(Usually
in HTML-FSH)
Tag
names have to be in lower-case (XHTML only).
(Not so
HTML-FSH)
XML
documents have to be well-formed (XML).
(Not
always so HTML-FSH)
Duplicate
attributes are not allowed (XML).
Attribute
values must be properly escaped (XML)…etc.”
http://www.html2xml.com/Html2XmlDifferences.asp
Accessed
07/26/2003
-Or-
In XML
one and only root element
XML
tags have a distinct start and end components.
All XML
tags are nested correctly.
All XML
attribute values are quoted.
Empty
XML elements are formatted correctly.
-While
this is not (strictly speaking) the case with HTML
But the
primary differences could most accurately be stated as:
XML
tags are about preserving and defining the information contained within them
(i.e. content: essentially giving one the ability to define a new, distinct
mark-up language.)
HTML is
more concerned with presentation of information within a browser.
HTML in
a browser window is much more “forgiving” with regard to syntax than XML, and
will generally display as intended even with “errors”.
XML
must maintain a very specific and accurate structure in order for the document
information to be reused. (FSH 07/26/2003)
“HTML
is a language used for data presentation and formatting, XML’s
emphasis
is on data content.”
XML New
Perspectives, Patrick Carey, Course technology 2002 p 1.07
(2)
Why was XML created?
XML can
be used in a wide variety of applications, but the bottom line is this: It's a
way to represent data. In some cases, that data is intended for a database; in
others, it's meant to be read by a person.
http://www-106.ibm.com/developerworks/xml/library/x-starthere.html
Accessed
07/26/2003
“The
W3C established ten primary design goals for XML:
1. XML must be easily usable over the internet.
2. XML must support a wide variety of
applications.
3. XML must be compatible with SGML.
4. It
must be easy to write programs that support XML documents.
5. The
number of optional features in XML must be kept to an absolute minimum.
6. XML
documents must be clear and easily understood by nonprogrammers.
7. The
XML design should be prepared quickly.
8. the
design of XML must be exact and concise.
9. XML
documents should be easy to create.
10.
Terseness in XML markup is of minimal importance.”
XML New
Perspectives Patrick Carey Course technology 2002 p 1.07
“HTML
is a language used for data presentation and formatting, XML’s
emphasis
is on (reusable - FSH 07/26/2003) data content.”
XML New
Perspectives, Patrick Carey, Course technology 2002 p 1.07
(3)
What business problem does XML solve?
"XML
has become the syntax of choice for newly designed document formats
across
almost all computer platforms."
XML in
a Nutshell 2nd Edition, Elliot Rusty Harold & W. Scott Means, O'reilly
& Associates 2002
(It
bridges the gap between diverse operating systems-FSH)
“XML
can more easily perform some functions that HTML wasn’t created to do:
Tightly
control document displays
Be
flexible enough to describe different specific types of information
Convey
information in a variety of media and formats
Define
complex linking relationships between documents
Publish
a single set of information across a variety of media” (Extremely portable-
FSH)
XML for
Dummies Second Edition, Ed Tittel Frank Boumphrey, Hungrey Minds Inc 2002 p27
“HTML
is a language used for data presentation and formatting, XML’s
emphasis
is on (reusable - FSH 07/26/2003) data content.”
XML New
Perspectives, Patrick Carey, Course technology 2002 p 1.07
(4)
Is XML a language or meta-language? Explain
“Although
XML is sometimes referred to as a markup language, it is actually more of a
meta-markup language because it is a markup language that is used to create
other markup languages. Unlike HTML,
which is an SGML application, XML should be considered a subset of SGML.”
XML New
Perspectives Patrick Carey Course technology 2002 p 1.07
(5)
What language was XML and HTML derived from?
SGML
(6)
Why does XML need to be human and machine readable?
An XML
document needs to be read (“parsed”) by an XML processor (“parser”)
To
insure that it is well formed and valid (satisfied XML specifications for
structure and syntax.) The data can
then be read, manipulated, or modified by a individual (or XML application.)
(7)
What are the three requirements for writing well formed XML?
“In
XML, every start tag must have a corresponding end tag (unless it is an empty
tag that takes special form, as described in the next item). Tags should be properly nested; that is, you
can't have an open tag within the scope of some other tag and the corresponding
end tag outside that scope.
If a
tag is empty by its nature (in other words, the corresponding element can never
contain any text), it must have a forward slash (/) before the closing greater
than symbol (>) Such tags are the only tags that do not have corresponding
end tags.
All
attribute values without exception must be enclosed in quotes (either single
quotes (‘) or double quotes ("")).
In
fact, the preceding requirements are the only ones that you must satisfy to
make your files well-formed XML.”
http://www.webreference.com/dlab/books/html/38-2.html
Accessed
07/29/2003 FSH
(8)
What is the role of a DTD with XML?
The
“Document Type Definition” comprises (or “defines”) what will be allowed
(elements, attributes, etc.) to occur in the XML document that references it;
…the
“rules”, as it were-FSH
(9)
Write a very short DTD document
(This
document should be named “test.dtd”)
<!ELEMENT
my_name (name)>
<!ELEMENT
name (first_name,last_name)>
<!ELEMENT
first_name (#PCDATA)>
<!ELEMENT
last_name (#PCDATA)>
Should
be referenced by:
(This
document should be named test.xml)
<?xml
version="1.0" encoding="UTF-8"
standalone="no"?>
<!DOCTYPE
my_name SYSTEM “test.dtd">
<my_name>
<name>
<first_name>frederick</first_name>
<last_name>haggerty</last_name>
</name>
</my_name>
(10)
What is the role of CSS with XML?
CSS
gives us the ability to add "form to function”.
Whereas:
“HTML
is a language used for data presentation and formatting, XML’s
emphasis
is on (reusable - FSH 07/26/2003) data content.”
XML New
Perspectives Patrick Carey Course technology 2002 p 1.07
CSS
allows us to enhance the possible “presentation” capabilities of XML.
(11)
Write very short CSS document?
I have
provided three documents as follows:
This is
the CSS (stylesheet named test.css) associated with test.xml
my_name
{display:block; background-color:#C6EFF7; color:#000066; border:thin solid
black; margin-top:20px; text-align:center; font-family:Arial; font-size:10pt; }
This
document should be named “test.dtd”
<!ELEMENT
my_name (name)>
<!ELEMENT
name (first_name,last_name)>
<!ELEMENT
first_name (#PCDATA)>
<!ELEMENT
last_name (#PCDATA)>
text.dtd
should be referenced by:
This
document named test.xml
<?xml
version="1.0" encoding="UTF-8"
standalone="no"?>
<?xml-stylesheet
type ="text/css" href="test.css"?>
<!DOCTYPE
my_name SYSTEM "test.dtd">
<my_name>
<name>
<first_name>frederick</first_name>
<last_name>haggerty</last_name>
</name>
</my_name>
(12)
What is the role of XSD with XML? (Think namespaces and datatypes)
“XSD
(XML Schema Definition), a Recommendation of the World Wide Web Consortium
(W3C), specifies how to formally describe the elements in an Extensible Markup
Language (XML) document. This description can be used to verify that each item
of content in a document adheres to the description of the element in which the
content is to be placed.”
http://searchwebservices.techtarget.com/sDefinition/0,,sid26_gci831325,00.html
Accessed
07/28/2003 FSH
“A
schema…defines what a given set of one or more XML documents can look like:
what
elements they contain, and in what order, what their content might be, and what
attributes these might contain.”
XML for
the World Wide Web, Elizabeth Castro, Peachpit Press 2001
“XML
Schemas express shared vocabularies and allow machines to carry out rules made
by people. They provide a means for defining the structure, content and
semantics of XML documents.”
http://www.perfectxml.com/XMLAcronyms.asp
Accessed
07/28/2003 FSH
(13)
Write a very short XSD document
<?xml
version="1.0" encoding="UTF-8"?>
<!--
edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by frederick (haggerty)
-->
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element
name="my_name">
<xs:complexType>
<xs:sequence>
<xs:element
name="name">
<xs:complexType>
<xs:sequence>
<xs:element
name="first_name" type="xs:string"/>
<xs:element
name="last_name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
(14)
Why are namespaces important to XSD?
"Namespaces
have two purposes in XML:
1. To
distinguish elements and attributes from different vocabularies with different
meanings that happen to share the same name.
2. To group all related elements and
attributes from a single XML application together so software can easily
recognize them."
XML in
a Nutshell 2nd Edition, Elliot Rusty Harold & W. Scott Means, O'reilly
& Associates 2002 p60
"XML
namespaces provide a simple method for qualifying element and attribute names
used in Extensible Markup Language documents by associating them with
namespaces identified by URI references."
http://www.w3.org/TR/REC-xml-names/
Accessed
07/28/2003 FSH
If
other XML document(s) interact with mine, our schemas might contain duplicate
names/words with conflicting rules/definitions; this would create a problem! We
use namespaces to create (what Elizabeth Castro refers to as) a
"superlabel". This allows the "words" in each XML document/schema
to become unique/individual/distinct.
-FSH
(15)
Compare and contrast DTDs with XSD
"DTDs
have several disadvantages with respect written with XML Schema. First, DTDs
are written in a syntax that little to do with XML, thus can not be parsed with
an XML parser (a parser that parses XML content exclusively-FSH). Second, all
declarations are global, which means you can't define two different elements
with same name, even if they appear in separate contexts (see answer [#14]
above- FSH). Finally, DTDs can not control what kind of information a given
element or attribute can contain."
"XML
schema ...written in XML itself, lets you define both global elements (that
must be used the same way throughout the XML document) and local elements (that
can have a particular meaning in a particular context).
XML
schema contains a system of datatypes that let you specify what an element
should contain (i.e. integer,
period
of time)."
"In
short, XML schema gives you much more control over the documents content."
XML for
the World Wide Web, Elizabeth Castro, Peachpit Press 2001
(16)
Compare and contrast CSS with XSLT
CSS
(Cascading Style Sheets) in XML are not all that different than CSS in HTML
except that some predefined elements and attributes that exist in HTML; notably
<STYLE>, <LINK> elements and style, class attributes are
meaningless in XML until they are assigned a definition.
"CSS
in general serve the purpose of improving the expression (the way it is
presented- FSH) of XML data
...for
example font-size and family, the way the document flows...(etc.- FSH)"
Beginning
XML Wrox Press David Hunter 2000 p61
(In XML
this is a method)..."to separate (the XML) data from the way it is
displayed." This is referred to as the "Content/Presentation
Paradigm"
Beginning
XML Wrox Press David Hunter 2000 p65
XSLT
(Extensible Style sheet Language for Transformation) is a language that can be
used to transform XML documents into any text format.
"XSLT
and CSS provide complementary functionality - XLST can help you structure your
pages in a wide number of formats, and CSS can balance this with easily
modifiable media representations."
Beginning
XML, David Hunter, Wrox Press 2000 p214
Lastly:
"XSLT
does not replace CSS...XLST's primary domain is to provide
transformation", (CSS enhances the results of this transformation-FSH)
Beginning
XML, David Hunter, Wrox Press 2000 p132
(17)
What is XSL or XSLT?
"XSLT,
which stands for Extensible Stylesheet Language: Transformations, is a language
which, according to the very first sentence in the specification (found at
<http://www.w3.org/TR/xslt>), is primarily designed for transforming one
XML document into another. However, XSLT is more than capable of transforming
XML to HTML and many other text-based formats, so a more general definition
might be as follows:XSLT is a language for transforming the structure of an XML
document."
http://archive.devx.com/upload/free/bkchapters/xsltproref/31290102.asp
Accessed
07/29/2003 FSH
"In
order to perform an XSLT transformation, you need at least three things: an XML
document to transform, an XSLT style sheet, and an XSLT engine."
Beginning
XML, David Hunter, Wrox Press 2000 p132
XSLT is
an XML based language used to create style sheets. An XML engine (such as MSXML
included in IE5 and higher-FSH) uses these style sheets to transform XML
documents into other document types.
(18)
What is XLink and XPointer?
"XLink
(is) an attribute based syntax for hyperlnks between XML, and non-XML documents
that provide the simple one-directional links familiar from HTML,
multidrectional links between many documents, and links between documents to
which you don't have write access."
XML in
a Nutshell 2nd Edition, Elliot Rusty Harold & W. Scott Means, O'reilly
& Associates 2002
"Xpointer
(is) a syntax for URI fragment indentifier that selects particular parts of the
XML document referred to by the URI - often used in conjunction with
XLink."
XML in
a Nutshell 2nd Edition, Elliot Rusty Harold & W. Scott Means, O'reilly
& Associates 2002
Xlink
allows XML documents to utilize hyperlinking that expands the possibilities
thought of in the traditional HTML sense. Xpointers are designed to take you to
specific locations within documents. XPointers can identify ID type attributes.
If you want to link to an element that contains an ID attribute, the XPointer
consists of the value of that attribute. Xpointers will also provide a method
to point to a certain section within documents.-FSH
(19)
What is RDF?
“Resource
Description Framework, as its name implies, is a framework for describing and
interchanging metadata. It is built on the following rules:
Resource is anything that can have a URI;
this includes all the world's Web pages, as well as individual elements of an
XML document.
PropertyType
is a Resource that has a name and can be used as a property, for example Author
or Title. In many cases, all we really care about is the name; but a
PropertyType needs to be a resource so that it can have its own properties.
Property
is the combination of a Resource, a PropertyType, and a value. An example would
be: "The Author of http://www.textuality.com/RDF/Why.html is Tim
Bray." The Value can just be a string, for example "Tim Bray" in
the previous example, or it can be another resource.
RDF is
designed to have the following characteristics:
Independence,
Interchange, Scalability, PropertyTypes are Resources,
Values
Can Be Resources, Properties Can Be Resources”
http://www.xml.com/pub/a/98/06/rdf.html
Tim
Bray [Jan. 24, 2001]
Accessed
07/29/2003 FSH
(20)
What is EAI? Why is XML useful in EAI?
“EAI is
use of middleware to integrate the application programs, and legacy systems
involved in an organization's critical business processes.”
http://www.hyperdictionary.com/dictionary/Enterprise+Application+Integration
Accessed
07/29/2003 FSH
Enterprise
Application Integration. XML would be
useful in this type of business model because it would ensure “applications and
systems are integrated across an enterprise, improving information flows and
streamlining business processes.”
http://www.datamirror.com/?src=overture
Accessed
07/29/2003 FSH
EAI can
“automate critical aspects of the business process with a profound impact on
service levels, profitability and communications.” This is often implemented as an application-to-application type
structure.
http://www.staffware.com/landing/eai/?link=OvertureEAI
Accessed
07/29/2003 FSH
(21) Compare and contrast middleware with
EAI
“Middleware
is software that mediates between an application program and a network. It
manages the interaction between disparate applications across the heterogeneous
computing platforms. The Object Request Broker (ORB), software that manages
communication between objects, is an example of a middleware program.”
http://www.hyperdictionary.com/computing/middleware
Accessed
07/29/2003 FSH
“EAI is
use of middleware to integrate the application programs, databases, and legacy
systems involved in an organization's critical business processes.”
http://www.hyperdictionary.com/dictionary/Enterprise+Application+Integration
Accessed
07/29/2003 FSH
(22)
How does Microsoft use XML
"The
Channel Definition Format (CDF) is a file format from Microsoft that lets you
create a file that defines a Web "channel," which is a preselected
Web site or group of related Web sites. To use the channel, a user needs to
have the Microsoft Internet Explorer 4 or later browser. The CDF file
identifies the Web page and subpages that the user sees after selecting a
channel on the browser. The file may also identify subpages that may be
selected from the main channel page. A channel developer for a Web site puts
the CDF file on the Web server. A user who clicks on a channel (for example,
from the Internet Explorer channel menu bar) is actually specifying the Uniform
Resource Locator or Internet file name of the Channel Definition File that
defines the channel.
The
Channel Definition Format is an application of Extensible Markup Langugage
(XML) that Microsoft is proposing as a standard way to describe a Web site
channel. In Internet Explorer 5, the channel user implementation has been
changed. The Channel Bar that formerly appeared automatically when Windows was
started has been removed. Channels are now accessed as a special folder in the
Favorites menu."
http://searchwebservices.techtarget.com/sDefinition/0,,sid26_gci213841,00.html
Accessed
07/29/2003 FSH
Microsoft also seems to be employing XML
“data bases” (in such as applications as SQL) in much of the underlying
foundation of the file/document sharing aspects of the (relatively new) .NET
infrastructure.(FSH)
Example:
"MapPoint
.NET XML Web Service
Microsoft
MapPoint .NET is a hosted, programmable XML Web Service that allows you to
integrate high-quality maps, driving directions, distance calculations,
proximity searches, and other location intelligence into your applications,
business processes, and Web sites."
(23)
How does Sun use XML?
It
would appear that Sun, having been unable to wrest from Microsoft the
domination in “Office” related software by giving away “Star Office"
(which incidentally loads a document as XML for processing) to the desktop
community is reverting to the long held belief (along with Oracle) that “fat
server thin client” is the future. They spearhead a consortium that is using
XML (and their influence at W3C) to make a networking XML application that will
essentially compete with Microsoft’s products.
That’s
the way it looks to me.
I
could be wrong.-FSH
“A
posting from Michael Brauer <mailto:michael.brauer@sun.com> to the OASIS
Open Office XML Format Technical Committee mailing list contains the
OpenOffice.org XML file format specification and DTD files that Sun
Microsystems, Inc. will contribute to the OASIS TC. The contribution will be
discussed at the TC's first meeting on December 16, 2002. The XML specification
consists of a 571-page OpenOffice.org XML File Format - Technical Reference
Manual and 22 modularized XML DTD files. The design goal in the OpenOffice.org
XML file format was to have a complete specification encompassing all
OpenOffice.org components and to provide an open standard for office documents.
The single XML format applies to a wide range of document types created by
office tools. The specification is being made available to OASIS under a
reciprocal Royalty-Free License, as explained in the communiqué.
A
Late-Breaking News session at XML 2002 (December 10, 2002) feature the file
format in a presentation by Daniel Vogelheim (Software Engineer, Sun
Microsystems, Germany). In "XML For The Masses - An XML Based File Format
for Office Documents" <http://www.xmlconference.org/xmlusa/2002/tuesday.asp>
Daniel examined the design rationale behind the OpenOffice.org XML File Format
and described uses of the format within and outside of its supporting
applications.
Modularized
DTD filenames: accelerator.dtd, chart.mod, datastyl.mod, defs.mod, dialog.dtd,
drawing.mod, dtypes.mod, event.dtd, form.mod, image.dtd, menubar.dtd, meta.mod,
nmspace.mod, office.dtd, office.mod, script.mod, settings.mod, statusbar.dtd,
style.mod, table.mod, text.mod, toolbar.dtd
The goal
of the OASIS Open Office XML Format TC is "to create an open, XML-based
file format specification for office applications." On 2002-11-04 OASIS
issued a Call for Participation in this new 'Open Office XML Format Technical
Committee'. Michael Brauer (Sun Microsystems) will chair the TC. The proposed
XML file format is to be "suitable for office documents containing
text, spreadsheets, charts, and graphical components." It will be
compatible XML v1.0 and W3C Namespaces. The file format will "retain
high-level information suitable for editing the document and keep the
document's content and layout information separate such that they can be
processed independently of each other." For interoperability, it must
be "friendly to transformations using XSLT or similar XML-based languages
or tools. The design will borrow from similar, existing standards wherever
possible and permitted. Since the OpenOffice.org XML format specification meets
these criteria and has proven its value in real life, this TC will use it as
the basis for its work. TC work will be done in two phases, each resulting in a
Committee Specification that includes (1) a set of XML DTDs/schemas setting the
vocabulary, constraints and semantics of the file format in question, and (2) a
set of written specifications that describe the elements and attributes of the
DTDs/schemas in plain English."”
http://xml.coverpages.org/ni2002-12-11-a.html
Accessed
07/29/2003 FSH
http://www.openoffice.org/
(24)
What is UDDI, and why is it important?
UDDI
The service discovery protocol for Web Services through which companies can
find one another to conduct business. This standard was unveiled by Ariba, IBM,
Microsoft, and 33 other companies in September 2000.
http://www.hyperdictionary.com/dictionary/Universal+Description%2c+Discovery%2
Accessed
07/29/2003 FSH
It
would seem as though major companies with seemingly somewhat disparate and
competitive backgrounds are seeking a common communication thread. This concept
was unheard of in the 1990's and is even today revolutionary. The underlying
method for these "high tech yellow pages" seems to be based in XML
and the major contributors (SAP, MS, IBM (yes even Microsoft), etc.)
involvement with an operation called OASIS which incorporates the newly
evolving technology. This is a major
step forward in inter-company cooperation, and ultimately the consuming public
will reap its benefits.
(25)
What are web services, SOAP, and WSDL, and how do they incorporate XML?
"SOAP
is a lightweight protocol for exchange of information in a decentralized,
distributed environment. It is an XML based protocol that consists of three
parts: an envelope that defines a framework for describing what is in a message
and how to process it, a set of encoding rules for expressing instances of application-defined
datatypes, and a convention for representing remote procedure calls and
responses. SOAP can potentially be used in combination with a variety of other
protocols..."
http://www.w3.org/TR/SOAP/
Accessed
07/29/2003 FSH
"SOAP
is a lightweight and simple XML-based protocol that is designed to exchange
structured and typed information on the Web. The purpose of SOAP is to enable
rich and automated Web services based on a shared and open Web infrastructure.
SOAP can be used in combination with a variety of existing Internet protocols
and formats including HTTP, SMTP, and MIME and can support a wide range of
applications from messaging systems to RPC."
http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28000523
Accessed
07/29/2003 FSH
"WSDL
is an XML format for describing network services as a set of endpoints
operating on messages containing either document-oriented or procedure-oriented
information. The operations and messages are described abstractly, and then
bound to a concrete network protocol and message format to define an endpoint.
Related concrete endpoints are combined into abstract endpoints (services).
WSDL is extensible to allow description of endpoints and their messages
regardless of what message formats or network protocols are used to
communicate, however, the only bindings described in this document describe how
to use WSDL in conjunction with SOAP 1.1, HTTP GET/POST, and MIME."
<http://www.w3.org/TR/wsdl>
Accessed
07/29/2003 FSH
“'What
is WSDL, NASSL and WDS?” WSDL (Web Services Description Language) is an
XML-based specification schema for describing the operational information of a
Web service such as interface and end points. WSDL defines XML grammar for
describing contracts between a set of endpoints exchanging messages. Contracts
provide documentation for distributed systems and serve as a recipe for
automating the details involved in applications communication. WSDL may be used
to design specifications to invoke and operate Web Services on the Internet.
Using WSDL, Web Services can be enabled to access and invoke remote
applications and databases. NASSL (Network Accessible Services Specification
Language) was the IDL used on previous versions of the Web Services toolkit.
The features of NASSL have been incorporated into WSDL. WSDL should now be used
instead of NASSL. WDS (Well Defined Services) is an XML-based document schema
for describing non-operational service information (service category,
description, expiration date, etc.) and other business information (company
name, SIC code, address, etc.) for using Web Services to enable e-business.
Once UDDI is fully incorporated into a future version of the toolkit, many of
the WDS categorization can be handled by the UDDI registry."
http://xml.coverpages.org/wsdl.html
Accessed
07/29/2003 FSH