List of XML interview questions Part I

1. What is XML?

XML is the Extensible Markup Language. It improves the functionality
of the Web by letting you identify your information in a more accurate,
flexible, and adaptable way. It is extensible because it is not
a fixed format like HTML (which is a single, predefined markup language).
Instead, XML is actually a meta language language for describing
other languages which lets you design your own markup languages
for limitless different types of documents. XML can do this because
it’s written in SGML, the international standard meta language for
text document markup (ISO 8879).

2. What is a markup language?

A markup language is a set of words and symbols for describing
the identity of pieces of a document (for example ‘this is
a paragraph’, ‘this is a heading’, ‘this
is a list’, ‘this is the caption of this figure’,
etc). Programs can use this with a style sheet to create output
for screen, print, audio, video, Braille, etc.

Some markup languages (eg those used in word processors) only describe
appearances (’this is italics’, ‘this is bold’),
but this method can only be used for display, and is not normally
re-usable for anything else.

3. Where should I use XML?

Its goal is to enable generic SGML to be served, received, and
processed on the Web in the way that is now possible with HTML.
XML has been designed for ease of implementation and for interoperability
with both SGML and HTML.
Despite early attempts, browsers never allowed other SGML, only
HTML (although there were plugins), and they allowed it (even encouraged
it) to be corrupted or broken, which held development back for over
a decade by making it impossible to program for it reliably. XML
fixes that by making it compulsory to stick to the rules, and by
making the rules much simpler than SGML.

But XML is not just for Web pages: in fact it’s very rarely used
for Web pages on its own because browsers still don’t provide reliable
support for formatting and transforming it. Common uses for XML
include:
Information identification because you can define your own markup,
you can define meaningful names for all your information items.
Information storage because XML is portable and non-proprietary,
it can be used to store textual information across any platform.
Because it is backed by an international standard, it will remain
accessible and processable as a data format. Information structure

XML can therefore be used to store and identify any kind of (hierarchical)
information structure, especially for long, deep, or complex document
sets or data sources, making it ideal for an information-management
back-end to serving the Web. This is its most common Web application,
with a transformation system to serve it as HTML until such time
as browsers are able to handle XML consistently. Publishing the
original goal of XML as defined in the quotation at the start of
this section. Combining the three previous topics (identity, storage,
structure) means it is possible to get all the benefits of robust
document management and control (with XML) and publish to the Web
(as HTML) as well as to paper (as PDF) and to other formats (eg
Braille, Audio, etc) from a single source document by using the
appropriate stylesheets. Messaging and data transfer XML is also
very heavily used for enclosing or encapsulating information in
order to pass it between different computing systems which would
otherwise be unable to communicate. By providing a lingua franca
for data identity and structure, it provides a common envelope for
inter-process communication (messaging). Web services Building on
all of these, as well as its use in browsers, machine-processable
data can be exchanged between consenting systems, where before it
was only comprehensible by humans (HTML). Weather services, e-commerce
sites, blog newsfeeds, AJaX sites, and thousands of other data-exchange
services use XML for data management and transmission, and the web
browser for display and interaction.

4. Why is XML such an important development?

It removes two constraints which were holding back Web developments:
1. dependence on a single, inflexible document type (HTML) which
was being much abused for tasks it was never designed for;

2. the complexity of full SGML, whose syntax allows many powerful
but hard-to-program options.
XML allows the flexible development of user-defined document types.
It provides a robust, non-proprietary, persistent, and verifiable
file format for the storage and transmission of text and data both
on and off the Web; and it removes the more complex options of SGML,
making it easier to program for.

5. Describe the differences between XML and HTML.

It’s amazing how many developers claim to be proficient programming
with XML, yet do not understand the basic differences between XML
and HTML. Anyone with a fundamental grasp of XML should be able
describe some of the main differences outlined in the table below.

XML
User definable tags

Content driven
End tags required for well formed documents
Quotes required around attributes values
Slash required in empty tags

HTML
Defined set of tags designed for web display

Format driven
End tags not required
Quotes not required
Slash not required

6. Describe the role that XSL can play when dynamically
generating HTML pages from a relational database.

Even if candidates have never participated in a project involving
this type of architecture, they should recognize it as one of the
common uses of XML. Querying a database and then formatting the
result set so that it can be validated as an XML document allows
developers to translate the data into an HTML table using XSLT rules.
Consequently, the format of the resulting HTML table can be modified
without changing the database query or application code since the
document rendering logic is isolated to the XSLT rules.

7. What is SGML?

SGML is the Standard Generalized Markup Language (ISO 8879:1986),
the international standard for defining descriptions of the structure
of different types of electronic document. There is an SGML FAQ
from David Megginson at http://math.albany.edu:8800/hm/sgml/cts-faq.htmlFAQ;
and Robin Cover’s SGML Web pages are at http://www.oasis-open.org/cover/general.html.
For a little light relief, try Joe English’s ‘Not the SGML
FAQ’ at http://www.flightlab.com/~joe/sgml/faq-not.txtFAQ.

SGML is very large, powerful, and complex. It has been in heavy
industrial and commercial use for nearly two decades, and there
is a significant body of expertise and software to go with it.
XML is a lightweight cut-down version of SGML which keeps enough
of its functionality to make it useful but removes all the optional
features which made SGML too complex to program for in a Web environment.

8. Aren’t XML, SGML, and HTML all the same thing?

Not quite; SGML is the mother tongue, and has been used for describing
thousands of different document types in many fields of human activity,
from transcriptions of ancient Irish manuscripts to the technical
documentation for stealth bombers, and from patients’ clinical records
to musical notation. SGML is very large and complex, however, and
probably overkill for most common office desktop applications.

XML is an abbreviated version of SGML, to make it easier to use
over the Web, easier for you to define your own document types,
and easier for programmers to write programs to handle them. It
omits all the complex and less-used options of SGML in return for
the benefits of being easier to write applications for, easier to
understand, and more suited to delivery and interoperability over
the Web. But it is still SGML, and XML files may still be processed
in the same way as any other SGML file (see the question on XML
software).
HTML is just one of many SGML or XML applicationsâ€â€the one
most frequently used on the Web.
Technical readers may find it more useful to think of XML as being
SGML– rather than HTML++.

9. Who is responsible for XML?

XML is a project of the World Wide Web Consortium (W3C), and the
development of the specification is supervised by an XML Working
Group. A Special Interest Group of co-opted contributors and experts
from various fields contributed comments and reviews by email.
XML is a public format: it is not a proprietary development of any
company, although the membership of the WG and the SIG represented
companies as well as research and academic institutions. The v1.0
specification was accepted by the W3C as a Recommendation on Feb
10, 1998.

10. Why is XML such an important development?

It removes two constraints which were holding back Web developments:

1. dependence on a single, inflexible document type (HTML) which
was being much abused for tasks it was never designed for;
2. the complexity of full question A.4, SGML, whose syntax allows
many powerful but hard-to-program options.
XML allows the flexible development of user-defined document types.
It provides a robust, non-proprietary, persistent, and verifiable
file format for the storage and transmission of text and data both
on and off the Web; and it removes the more complex options of SGML,
making it easier to program for.

11. Give a few examples of types of applications that can
benefit from using XML.

There are literally thousands of applications that can benefit
from XML technologies. The point of this question is not to have
the candidate rattle off a laundry list of projects that they have
worked on, but, rather, to allow the candidate to explain the rationale
for choosing XML by citing a few real world examples. For instance,
one appropriate answer is that XML allows content management systems
to store documents independently of their format, which thereby
reduces data redundancy. Another answer relates to B2B exchanges
or supply chain management systems. In these instances, XML provides
a mechanism for multiple companies to exchange data according to
an agreed upon set of rules. A third common response involves wireless
applications that require WML to render data on hand held devices.

12. What is DOM and how does it relate to XML?

The Document Object Model (DOM) is an interface specification maintained
by the W3C DOM Workgroup that defines an application independent
mechanism to access, parse, or update XML data. In simple terms
it is a hierarchical model that allows developers to manipulate
XML documents easily Any developer that has worked extensively with
XML should be able to discuss the concept and use of DOM objects
freely. Additionally, it is not unreasonable to expect advanced
candidates to thoroughly understand its internal workings and be
able to explain how DOM differs from an event-based interface like
SAX.

13. What is SOAP and how does it relate to XML?

The Simple Object Access Protocol (SOAP) uses XML to define a protocol
for the exchange of information in distributed computing environments.
SOAP consists of three components: an envelope, a set of encoding
rules, and a convention for representing remote procedure calls.
Unless experience with SOAP is a direct requirement for the open
position, knowing the specifics of the protocol, or how it can be
used in conjunction with HTTP, is not as important as identifying
it as a natural application of XML.

14. Why not just carry on extending HTML?

HTML was already overburdened with dozens of interesting but incompatible
inventions from different manufacturers, because it provides only
one way of describing your information.
XML allows groups of people or organizations to question C.13, create
their own customized markup applications for exchanging information
in their domain (music, chemistry, electronics, hill-walking, finance,
surfing, petroleum geology, linguistics, cooking, knitting, stellar
cartography, history, engineering, rabbit-keeping, question C.19,
mathematics, genealogy, etc).
HTML is now well beyond the limit of its usefulness as a way of
describing information, and while it will continue to play an important
role for the content it currently represents, many new applications
require a more robust and flexible infrastructure.

15. Why should I use XML?

Here are a few reasons for using XML (in no particular order).
Not all of these will apply to your own requirements, and you may
have additional reasons not mentioned here (if so, please let the
editor of the FAQ know!).
* XML can be used to describe and identify information accurately
and unambiguously, in a way that computers can be programmed to
‘understand’ (well, at least manipulate as if they could
understand).

* XML allows documents which are all the same type to be created
consistently and without structural errors, because it provides
a standardized way of describing, controlling, or allowing/disallowing
particular types of document structure. [Note that this has absolutely
nothing whatever to do with formatting, appearance, or the actual
text content of your documents, only the structure of them.]
* XML provides a robust and durable format for information storage
and transmission. Robust because it is based on a proven standard,
and can thus be tested and verified; durable because it uses plain-text
file formats which will outlast proprietary binary ones.
* XML provides a common syntax for messaging systems for the exchange
of information between applications. Previously, each messaging
system had its own format and all were different, which made inter-system
messaging unnecessarily messy, complex, and expensive. If everyone
uses the same syntax it makes writing these systems much faster
and more reliable.
* XML is free. Not just free of charge (free as in beer) but free
of legal encumbrances (free as in speech). It doesn’t belong to
anyone, so it can’t be hijacked or pirated. And you don’t have to
pay a fee to use it (you can of course choose to use commercial
software to deal with it, for lots of good reasons, but you don’t
pay for XML itself).
* XML information can be manipulated programmatically (under machine
control), so XML documents can be pieced together from disparate
sources, or taken apart and re-used in different ways. They can
be converted into almost any other format with no loss of information.
* XML lets you separate form from content. Your XML file contains
your document information (text, data) and identifies its structure:
your formatting and other processing needs are identified separately
in a style sheet or processing system. The two are combined at output
time to apply the required formatting to the text or data identified
by its structure (location, position, rank, order, or whatever).

16. Can you walk us through the steps necessary to parse
XML documents?

Superficially, this is a fairly basic question. However, the point
is not to determine whether candidates understand the concept of
a parser but rather have them walk through the process of parsing
XML documents step-by-step. Determining whether a non-validating
or validating parser is needed, choosing the appropriate parser,
and handling errors are all important aspects to this process that
should be included in the candidate’s response.

17. Give some examples of XML DTDs or schemas that you
have worked with.

Although XML does not require data to be validated against a DTD,
many of the benefits of using the technology are derived from being
able to validate XML documents against business or technical architecture
rules. Polling for the list of DTDs that developers have worked
with provides insight to their general exposure to the technology.
The ideal candidate will have knowledge of several of the commonly
used DTDs such as FpML, DocBook, HRML, and RDF, as well as experience
designing a custom DTD for a particular project where no standard
existed.

18. Using XSLT, how would you extract a specific attribute
from an element in an XML document?

Successful candidates should recognize this as one of the most
basic applications of XSLT. If they are not able to construct a
reply similar to the example below, they should at least be able
to identify the components necessary for this operation: xsl:template
to match the appropriate XML element, xsl:value-of to select the
attribute value, and the optional xsl:apply-templates to continue
processing the document.

Extract Attributes from XML Data
Example 1.
<xsl:template match=”element-name”>
Attribute Value:
<xsl:value-of select=”@attribute”/>
<xsl:apply-templates/>

</xsl:template>

19. When constructing an XML DTD, how do you create an
external entity reference in an attribute value?

Every interview session should have at least one trick question.
Although possible when using SGML, XML DTDs don’t support defining
external entity references in attribute values. It’s more important
for the candidate to respond to this question in a logical way than
than the candidate know the somewhat obscure answer.

20. How would you build a search engine for large volumes
of XML data?

The way candidates answer this question may provide insight into
their view of XML data. For those who view XML primarily as a way
to denote structure for text files, a common answer is to build
a full-text search and handle the data similarly to the way Internet
portals handle HTML pages. Others consider XML as a standard way
of transferring structured data between disparate systems. These
candidates often describe some scheme of importing XML into a relational
or object database and relying on the database’s engine for searching.
Lastly, candidates that have worked with vendors specializing in
this area often say that the best way the handle this situation
is to use a third party software package optimized for XML data.

21. What is the difference between XML and C or C++ or
Java? Updated

C and C++ (and other languages like FORTRAN, or Pascal, or Visual
Basic, or Java or hundreds more) are programming languages with
which you specify calculations, actions, and decisions to be carried
out in order:
mod curconfig[if left(date,6) = “01-Apr”,
t.put “April googlel!”,
f.put days(‘31102005′,’DDMMYYYY’) –
days(sdate,’DDMMYYYY’)
” more shopping days to Samhain”];

XML is a markup specification language with which you can design
ways of describing information (text or data), usually for storage,
transmission, or processing by a program. It says nothing about
what you should do with the data (although your choice of element
names may hint at what they are for):
<part num=”DA42? models=”LS AR DF HG KJ”

update=”2001-11-22?>
<name>Camshaft end bearing retention circlip</name>
<image drawing=”RR98-dh37? type=”SVG” x=”476?

y=”226?/> <maker id=”RQ778?>Ringtown
Fasteners Ltd</maker>
<notes>Angle-nosed insertion tool <tool
id=”GH25?/> is required for the removal

and replacement of this part.</notes>
</part>
On its own, an SGML or XML file (including HTML) doesn’t do anything.
It’s a data format which just sits there until you run a program
which does something with it.

22. Does XML replace HTML?

No. XML itself does not replace HTML. Instead, it provides an alternative
which allows you to define your own set of markup elements. HTML
is expected to remain in common use for some time to come, and the
current version of HTML is in XML syntax. XML is designed to make
the writing of DTDs much simpler than with full SGML. (See the question
on DTDs for what one is and why you might want one.)

23. Do I have to know HTML or SGML before I learn XML?

No, although it’s useful because a lot of XML terminology and practice
derives from two decades’ experience of SGML.
Be aware that ‘knowing HTML’ is not the same as ‘understanding
SGML’. Although HTML was written as an SGML application, browsers
ignore most of it (which is why so many useful things don’t work),
so just because something is done a certain way in HTML browsers
does not mean it’s correct, least of all in XML.

24. What does an XML document actually look like (inside)?

The basic structure of XML is similar to other applications of
SGML, including HTML. The basic components can be seen in the following
examples. An XML document starts with a Prolog:
1. The XML Declaration which specifies that this is an XML document;
2. Optionally a Document Type Declaration which identifies the type
of document and says where the Document Type Description (DTD) is
stored;

The Prolog is followed by the document instance:
1. A root element, which is the outermost (top level) element (start-tag
plus end-tag) which encloses everything else: in the examples below
the root elements are conversation and titlepage;
2. A structured mix of descriptive or prescriptive elements enclosing
the character data content (text), and optionally any attributes
(’name=value’ pairs) inside some start-tags.
XML documents can be very simple, with straightforward nested markup
of your own design:
<?xml version=”1.0? standalone=”yes”?>
<conversation><br>

<greeting>Hello, world!</greeting>
<response>Stop the planet, I want to get
off!</response>
</conversation>
Or they can be more complicated, with a Schema or question C.11,
Document Type Description (DTD) or internal subset (local DTD changes
in [square brackets]), and an arbitrarily complex nested structure:

<?xml version=”1.0? encoding=”iso-8859-1??>
<!DOCTYPE titlepage
SYSTEM “http://www.google.bar/dtds/typo.dtd”
[<!ENTITY % active.links “INCLUDE”>]>
<titlepage id=”BG12273624?>

<white-space type=”vertical” amount=”36?/>
<title font=”Baskerville” alignment=”centered”
size=”24/30?>Hello, world!</title>
<white-space type=”vertical” amount=”12?/>
<!– In some copies the following

decoration is hand-colored, presumably
by the author –>
<image location=”http://www.google.bar/fleuron.eps”

type=”URI” alignment=”centered”/>
<white-space type=”vertical” amount=”24?/>
<author font=”Baskerville” size=”18/22?

style=”italic”>Vitam capias</author>
<white-space type=”vertical” role=”filler”/>
</titlepage>

Or they can be anywhere between: a lot will depend on how you want
to define your document type (or whose you use) and what it will
be used for. Database-generated or program-generated XML documents
used in e-commerce is usually unformatted (not for human reading)
and may use very long names or values, with multiple redundancy
and sometimes no character data content at all, just values in attributes:
<?xml version=”1.0??> <ORDER-UPDATE AUTHMD5=”4baf7d7cff5faa3ce67acf66ccda8248?

ORDER-UPDATE-ISSUE=”193E22C2-EAF3-11D9-9736-CAFC705A30B3?
ORDER-UPDATE-DATE=”2005-07-01T15:34:22.46? ORDER-UPDATE-DESTINATION=”6B197E02-EAF3-11D9-85D5-997710D9978F”
ORDER-UPDATE-ORDERNO=”8316ADEA-EAF3-11D9-9955-D289ECBC99F3?>
<ORDER-UPDATE-DELTA-MODIFICATION-DETAIL ORDER-UPDATE-ID=”BAC352437484?>
<ORDER-UPDATE-DELTA-MODIFICATION-VALUE ORDER-UPDATE-ITEM=”56?
ORDER-UPDATE-QUANTITY=”2000?/>

</ORDER-UPDATE-DELTA-MODIFICATION-DETAIL>
</ORDER-UPDATE>

25. How does XML handle white-space in my documents?

All white-space, including linebreaks, TAB characters, and normal
spaces, even between ’structural’ elements where no
text can ever appear, is passed by the parser unchanged to the application
(browser, formatter, viewer, converter, etc), identifying the context
in which the white-space was found (element content, data content,
or mixed content, if this information is available to the parser,
eg from a DTD or Schema). This means it is the application’s responsibility
to decide what to do with such space, not the parser’s:
* insignificant white-space between structural elements (space which
occurs where only element content is allowed, ie between other elements,
where text data never occurs) will get passed to the application
(in SGML this white-space gets suppressed, which is why you can
put all that extra space in HTML documents and not worry about it)
* significant white-space (space which occurs within elements which
can contain text and markup mixed together, usually mixed content
or PCDATA) will still get passed to the application exactly as under
SGML. It is the application’s responsibility to handle it correctly.

The parser must inform the application that white-space has occurred
in element content, if it can detect it. (Users of SGML will recognize
that this information is not in the ESIS, but it is in the Grove.)

<chapter>
<title>
My title for
Chapter 1.

</title>
<para>
text
</para>
</chapter>

In the example above, the application will receive all the pretty-printing
linebreaks, TABs, and spaces between the elements as well as those
embedded in the chapter title. It is the function of the application,
not the parser, to decide which type of white-space to discard and
which to retain. Many XML applications have configurable options
to allow programmers or users to control how such white-space is
handled.

26. Which parts of an XML document are case-sensitive?

All of it, both markup and text. This is significantly different
from HTML and most other SGML applications. It was done to allow
markup in non-Latin-alphabet languages, and to obviate problems
with case-folding in writing systems which are caseless.
* Element type names are case-sensitive: you must follow whatever
combination of upper- or lower-case you use to define them (either
by first usage or in a DTD or Schema). So you can’t say <BODY>…</body>:
upper- and lower-case must match; thus <Img/>, <IMG/>,
and <img/> are three different element types;

* For well-formed XML documents with no DTD, the first occurrence
of an element type name defines the casing;
* Attribute names are also case-sensitive, for example the two width
attributes in <PIC width=”7in”/> and <PIC WIDTH=”6in”/>
(if they occurred in the same file) are separate attributes, because
of the different case of width and WIDTH;
* Attribute values are also case-sensitive. CDATA values (eg Url=”MyFile.SGML”)
always have been, but NAME types (ID and IDREF attributes, and token
list attributes) are now case-sensitive as well;
* All general and parameter entity names (eg A), and your
data content (text), are case-sensitive as always.

27. How can I make my existing HTML files work in XML?

Either convert them to conform to some new document type (with
or without a DTD or Schema) and write a stylesheet to go with them;
or edit them to conform to XHTML. It is necessary to convert existing
HTML files because XML does not permit end-tag minimisation (missing
, etc), unquoted attribute values, and a number of other SGML shortcuts
which have been normal in most HTML DTDs. However, many HTML authoring
tools already produce almost (but not quite) well-formed XML.
You may be able to convert HTML to XHTML using the Dave Raggett’s
HTML Tidy program, which can clean up some of the formatting mess
left behind by inadequate HTML editors, and even separate out some
of the formatting to a stylesheet, but there is usually still some
hand-editing to do.

28. Is there an XML version of HTML?

Yes, the W3C recommends using XHTML which is ‘a reformulation
of HTML 4 in XML 1.0?. This specification defines HTML as
an XML application, and provides three DTDs corresponding to the
ones defined by HTML 4.* (Strict, Transitional, and Frameset). The
semantics of the elements and their attributes are as defined in
the W3C Recommendation for HTML 4. These semantics provide the foundation
for future extensibility of XHTML. Compatibility with existing HTML
browsers is possible by following a small set of guidelines (see
the W3C site).

29. If XML is just a subset of SGML, can I use XML files
directly with existing SGML tools?

Yes, provided you use up-to-date SGML software which knows about
the WebSGML Adaptations TC to ISO 8879 (the features needed to support
XML, such as the variant form for EMPTY elements; some aspects of
the SGML Declaration such as NAMECASE GENERAL NO; multiple attribute
token list declarations, etc).
An alternative is to use an SGML DTD to let you create a fully-normalised
SGML file, but one which does not use empty elements; and then remove
the DocType Declaration so it becomes a well-formed DTDless XML
file. Most SGML tools now handle XML files well, and provide an
option switch between the two standards.

30. Can XML use non-Latin characters?

Yes, the XML Specification explicitly says XML uses ISO 10646,
the international standard character repertoire which covers most
known languages. Unicode is an identical repertoire, and the two
standards track each other. The spec says (2.2): ‘All XML
processors must accept the UTF-8 and UTF-16 encodings of ISO 10646…’.
There is a Unicode FAQ at http://www.unicode.org/faq/FAQ.
UTF-8 is an encoding of Unicode into 8-bit characters: the first
128 are the same as ASCII, and higher-order characters are used
to encode anything else from Unicode into sequences of between 2
and 6 bytes. UTF-8 in its single-octet form is therefore the same
as ISO 646 IRV (ASCII), so you can continue to use ASCII for English
or other languages using the Latin alphabet without diacritics.
Note that UTF-8 is incompatible with ISO 8859-1 (ISO Latin-1) after
code point 127 decimal (the end of ASCII).
UTF-16 is an encoding of Unicode into 16-bit characters, which lets
it represent 16 planes. UTF-16 is incompatible with ASCII because
it uses two 8-bit bytes per character (four bytes above U+FFFF).

31. What’s a Document Type Definition (DTD) and where do
I get one?

A DTD is a description in XML Declaration Syntax of a particular
type or class of document. It sets out what names are to be used
for the different types of element, where they may occur, and how
they all fit together. (A question C.16, Schema does the same thing
in XML Document Syntax, and allows more extensive data-checking.)

For example, if you want a document type to be able to describe
Lists which contain Items, the relevant part of your DTD might contain
something like this:
<!ELEMENT List (Item)+>
<!ELEMENT Item (#PCDATA)>

This defines a list as an element type containing one or more items
(that’s the plus sign); and it defines items as element types containing
just plain text (Parsed Character Data or PCDATA). Validators read
the DTD before they read your document so that they can identify
where every element type ought to come and how each relates to the
other, so that applications which need to know this in advance (most
editors, search engines, navigators, and databases) can set themselves
up correctly. The example above lets you create lists like:

<List>
<Item>Chocolate</Item>
<Item>Music</Item>
<Item>Surfingv</Item>

</List>

(The indentation in the example is just for legibility while editing:
it is not required by XML.)
A DTD provides applications with advance notice of what names and
structures can be used in a particular document type. Using a DTD
and a validating editor means you can be certain that all documents
of that particular type will be constructed and named in a consistent
and conformant manner.
DTDs are not required for processing the tip in question Bwell-formed
documents, but they are needed if you want to take advantage of
XML’s special attribute types like the built-in ID/IDREF cross-reference
mechanism; or the use of default attribute values; or references
to external non-XML files (’Notations’); or if you simply
want a check on document validity before processing.
There are thousands of DTDs already in existence in all kinds of
areas (see the SGML/XML Web pages for pointers). Many of them can
be downloaded and used freely; or you can write your own (see the
question on creating your own DTD. Old SGML DTDs need to be converted
to XML for use with XML systems: read the question on converting
SGML DTDs to XML, but most popular SGML DTDs are already available
in XML form.
The alternatives to a DTD are various forms of question C.16, Schema.
These provide more extensive validation features than DTDs, including
character data content validation.

32. Does XML let me make up my own tags?

No, it lets you make up names for your own element types. If you
think tags and elements are the same thing you are already in considerable
trouble: read the rest of this question carefully.

33. How do I create my own document type?

Document types usually need a formal description, either a DTD
or a Schema. Whilst it is possible to process well-formed XML documents
without any such description, trying to create them without one
is asking for trouble. A DTD or Schema is used with an XML editor
or API interface to guide and control the construction of the document,
making sure the right elements go in the right places.
Creating your own document type therefore begins with an analysis
of the class of documents you want to describe: reports, invoices,
letters, configuration files, credit-card verification requests,
or whatever. Once you have the structure correct, you write code
to express this formally, using DTD or Schema syntax.

34. How do I write my own DTD?

You need to use the XML Declaration Syntax (very simple: declaration
keywords begin with
<!ELEMENT Shopping-List (Item)+>
<!ELEMENT Item (#PCDATA)>

It says that there shall be an element called Shopping-List and
that it shall contain elements called Item: there must be at least
one Item (that’s the plus sign) but there may be more than one.
It also says that the Item element may contain only parsed character
data (PCDATA, ie text: no further markup).
Because there is no other element which contains Shopping-List,
that element is assumed to be the ‘root’ element, which
encloses everything else in the document. You can now use it to
create an XML file: give your editor the declarations:
<?xml version=”1.0??>

<!DOCTYPE Shopping-List SYSTEM “shoplist.dtd”>

(assuming you put the DTD in that file). Now your editor will let
you create files according to the pattern:
<Shopping-List>

<Item>Chocolate</Item>
<Item>Sugar</Item>

<Item>Butter</Item>
</Shopping-List>

It is possible to develop complex and powerful DTDs of great subtlety,
but for any significant use you should learn more about document
systems analysis and document type design. See for example Developing
SGML DTDs: From Text to Model to Markup (Maler and el Andaloussi,
1995): this was written for SGML but perhaps 95% of it applies to
XML as well, as XML is much simpler than full SGMLâ€â€see the
list of restrictions which shows what has been cut out.
Warning
Incidentally, a DTD file never has a DOCTYPE Declaration in it:
that only occurs in an XML document instance (it’s what references
the DTD). And a DTD file also never has an XML Declaration at the
top either. Unfortunately there is still software around which inserts
one or both of these.

35. Can a root element type be explicitly declared in the
DTD?

No. This is done in the document’s Document Type Declaration, not
in the DTD.

36. I keep hearing about alternatives to DTDs. What’s a
Schema?

The W3C XML Schema recommendation provides a means of specifying
formal data typing and validation of element content in terms of
data types, so that document type designers can provide criteria
for checking the data content of elements as well as the markup
itself. Schemas are written in XML Document Syntax, like XML documents
are, avoiding the need for processing software to be able to read
XML Declaration Syntax (used for DTDs).
There is a separate Schema FAQ at http://www.schemavalid.com.
The term ‘vocabulary’ is sometimes used to refer to
DTDs and Schemas together. Schemas are aimed at e-commerce, data
control, and database-style applications where character data content
requires validation and where stricter data control is needed than
is possible with DTDs; or where strong data typing is required.
They are usually unnecessary for traditional text document publishing
applications.
Unlike DTDs, Schemas cannot be specified in an XML Document Type
Declaration. They can be specified in a Namespace, where Schema-aware
software should pick it up, but this is optional:

<invoice id=”abc123?
xmlns=”http://example.org/ns/books/”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://acme.wilycoyote.org/xsd/invoice.xsd”>

</invoice>

More commonly, you specify the Schema in your processing software,
which should record separately which Schema is used by which XML
document instance.
In contrast to the complexity of the W3C Schema model, Relax NG
is a lightweight, easy-to-use XML schema language devised by James
Clark (see http://relaxng.org/) with development hosted by OASIS.
It allows similar richness of expression and the use of XML as its
syntax, but it provides an additional, simplified, syntax which
is easier to use for those accustomed to DTDs.

37. How do I get XML into or out of a database?

Ask your database manufacturer: they all provide XML import and
export modules to connect XML applications with databases. In some
trivial cases there will be a 1:1 match between field names in the
database table and element type names in the XML Schema or DTD,
but in most cases some programming will be required to establish
the desired match. This can usually be stored as a procedure so
that subsequent uses are simply commands or calls with the relevant
parameters.
In less trivial, but still simple, cases, you could export by writing
a report routine that formats the output as an XML document, and
you could import by writing an XSLT transformation that formatted
the XML data as a load file.

38. Can I encode mathematics using XML?Updated

Yes, if the document type you use provides for math, and your users’
browsers are capable of rendering it. The mathematics-using community
has developed the MathML Recommendation at the W3C, which is a native
XML application suitable for embedding in other DTDs and Schemas.

It is also possible to make XML fragments from other DTDs, such
as ISO 12083 Math, or OpenMath, or one of your own making. Browsers
which display math embedded in SGML existed for many years (eg DynaText,
Panorama, Multidoc Pro), and mainstream browsers are now rendering
MathML. David Carlisle has produced a set of stylesheets for rendering
MathML in browsers. It is also possible to use XSLT to convert XML
math markup to LATEX for print (PDF) rendering, or to use XSL:FO.

Please note that XML is not itself a programming language, so concepts
such as arithmetic and if-statements (if-then-else logic) are not
meaningful in XML documents.

39. How will XML affect my document links?

The linking abilities of XML systems are potentially much more
powerful than those of HTML, so you’ll be able to do much more with
them. Existing href-style links will remain usable, but the new
linking technology is based on the lessons learned in the development
of other standards involving hypertext, such as TEI and HyTime,
which let you manage bidirectional and multi-way links, as well
as links to a whole element or span of text (within your own or
other documents) rather than to a single point. These features have
been available to SGML users for many years, so there is considerable
experience and expertise available in using them. Currently only
Mozilla Firefox implements XLink.
The XML Linking Specification (XLink) and the XML Extended Pointer
Specification (XPointer) documents contain the details. An XLink
can be either a URI or a TEI-style Extended Pointer (XPointer),
or both. A URI on its own is assumed to be a resource; if an XPointer
follows it, it is assumed to be a sub-resource of that URI; an XPointer
on its own is assumed to apply to the current document (all exactly
as with HTML).

An XLink may use one of #, ?, or |. The # and ? mean the same as
in HTML applications; the | means the sub-resource can be found
by applying the link to the resource, but the method of doing this
is left to the application. An XPointer can only follow a #.
The TEI Extended Pointer Notation (EPN) is much more powerful than
the fragment address on the end of some URIs, as it allows you to
specify the location of a link end using the structure of the document
as well as (or in addition to) known, fixed points like IDs. For
example, the linked second occurrence of the word ‘XPointer’
two paragraphs back could be referred to with the URI (shown here
with linebreaks and spaces for clarity: in practice it would of
course be all one long string):

http://xml.silmaril.ie/faq.xml#ID(hypertext)
.child(1,#element,’answer’)
.child(2,#element,’para’)
.child(1,#element,’link’)

This means the first link element within the second paragraph within
the answer in the element whose ID is hypertext (this question).
Count the objects from the start of this question (which has the
ID hypertext) in the XML source:
1. the first child object is the element containing the question
();
2. the second child object is the answer (the element);
3. within this element go to the second paragraph;
4. find the first link element.
Eve Maler explained the relationship of XLink and XPointer as follows:

XLink governs how you insert links into your XML document, where
the link might point to anything (eg a GIF file); XPointer governs
the fragment identifier that can go on a URL when you’re linking
to an XML document, from anywhere (eg from an HTML file).
[Or indeed from an XML file, a URI in a mail message, etc…Ed.]
David Megginson has produced an xpointer function for Emacs/psgml
which will deduce an XPointer for any location in an XML document.
XML Spy has a similar function.

40. How does XML handle metadata?

Because XML lets you define your own markup languages, you can
make full use of the extended hypertext features of XML (see the
question on Links) to store or link to metadata in any format (eg
using ISO 11179, as a Topic Maps Published Subject, with Dublin
Core, Warwick Framework, or with Resource Description Framework
(RDF), or even Platform for Internet Content Selection (PICS)).

There are no predefined elements in XML, because it is an architecture,
not an application, so it is not part of XML’s job to specify how
or if authors should or should not implement metadata. You are therefore
free to use any suitable method. Browser makers may also have their
own architectural recommendations or methods to propose.

41. Can I use JavaScript, ActiveX, etc in XML files?

This will depend on what facilities your users’ browsers implement.
XML is about describing information; scripting languages and languages
for embedded functionality are software which enables the information
to be manipulated at the user’s end, so these languages do not normally
have any place in an XML file itself, but in stylesheets like XSL
and CSS where they can be added to generated HTML.
XML itself provides a way to define the markup needed to implement
scripting languages: as a neutral standard it neither encourages
not discourages their use, and does not favour one language over
another, so it is possible to use XML markup to store the program
code, from where it can be retrieved by (for example) XSLT and re-expressed
in a HTML script element.
Server-side script embedding, like PHP or ASP, can be used with
the relevant server to modify the XML code on the fly, as the document
is served, just as they can with HTML. Authors should be aware,
however, that embedding server-side scripting may mean the file
as stored is not valid XML: it only becomes valid when processed
and served, so care must be taken when using validating editors
or other software to handle or manage such files. A better solution
may be to use an XML serving solution like Cocoon, AxKit, or PropelX.

42. Can I use Java to create or manage XML files?

Yes, any programming language can be used to output data from any
source in XML format. There is a growing number of front-ends and
back-ends for programming environments and data management environments
to automate this. Java is just the most popular one at the moment.

There is a large body of middleware (APIs) written in Java and other
languages for managing data either in XML or with XML input or output.

43. How do I execute or run an XML file?

You can’t and you don’t. XML itself is not a programming language,
so XML files don’t ‘run’ or ‘execute’. XML
is a markup specification language and XML files are just data:
they sit there until you run a program which displays them (like
a browser) or does some work with them (like a converter which writes
the data in another format, or a database which reads the data),
or modifies them (like an editor).
If you want to view or display an XML file, open it with an XML
editor or an question B.3, XML browser.
The water is muddied by XSL (both XSLT and XSL:FO) which use XML
syntax to implement a declarative programming language. In these
cases it is arguable that you can ‘execute’ XML code,
by running a processing application like Saxon, which compiles the
directives specified in XSLT files into Java bytecode to process
XML.

44. How do I control formatting and appearance?

In HTML, default styling was built into the browsers because the
tagset of HTML was predefined and hardwired into browsers. In XML,
where you can define your own tagset, browsers cannot possibly be
expected to guess or know in advance what names you are going to
use and what they will mean, so you need a stylesheet if you want
to display formatted text.
Browsers which read XML will accept and use a CSS stylesheet at
a minimum, but you can also use the more powerful XSLT stylesheet
language to transform your XML into HTMLâ€â€which browsers, of
course, already know how to display (and that HTML can still use
a CSS stylesheet). This way you get all the document management
benefits of using XML, but you don’t have to worry about your readers
needing XML smarts in their browsers.

45. How do I use graphics in XML?

Graphics have traditionally just been links which happen to have
a picture file at the end rather than another piece of text. They
can therefore be implemented in any way supported by the XLink and
XPointer specifications (see question C.18, ‘How will XML
affect my document links?’), including using similar syntax
to existing HTML images. They can also be referenced using XML’s
built-in NOTATION and ENTITY mechanism in a similar way to standard
SGML, as external unparsed entities.
However, the SVG specification (see the tip below, by Peter Murray-Rust)
lets you use XML markup to draw vector graphics objects directly
in your XML file. This provides enormous power for the inclusion
of portable graphics, especially interactive or animated sequences,
and it is now slowly becoming supported in browsers.
The XML linking specifications for external images give you much
better control over the traversal and activation of links, so an
author can specify, for example, whether or not to have an image
appear when the page is loaded, or on a click from the user, or
in a separate window, without having to resort to scripting.

XML itself doesn’t predicate or restrict graphic file formats: GIF,
JPG, TIFF, PNG, CGM, EPS, and SVG at a minimum would seem to make
sense; however, vector formats (EPS, SVG) are normally essential
for non-photographic images (diagrams).
You cannot embed a raw binary graphics file (or any other binary
[non-text] data) directly into an XML file because any bytes happening
to resemble markup would get misinterpreted: you must refer to it
by linking (see below). It is, however, possible to include a text-encoded
transformation of a binary file as a CDATA Marked Section, using
something like UUencode with the markup characters ], & and
> removed from the map so that they could not occur as an erroneous
CDATA termination sequence and be misinterpreted. You could even
use simple hexadecimal encoding as used in PostScript. For vector
graphics, however, the solution is to use SVG (see the tip below,
by Peter Murray-Rust).
Sound files are binary objects in the same way that external graphics
are, so they can only be referenced externally (using the same techniques
as for graphics). Music files written in MusiXML or an XML variant
of SMDL could however be embedded in the same way as for SVG.
The point about using entities to manage your graphics is that you
can keep the list of entity declarations separate from the rest
of the document, so you can re-use the names if an image is needed
more than once, but only store the physical file specification in
a single place. This is available only when using a DTD, not a Schema.

46. How do I include one XML file in another?

This works exactly the same as for SGML. First you declare the
entity you want to include, and then you reference it by name:
<?xml version=”1.0??>
<!DOCTYPE novel SYSTEM “/dtd/novel.dtd” [
<!ENTITY chap1 SYSTEM “mydocs/chapter1.xml”>
<!ENTITY chap2 SYSTEM “mydocs/chapter2.xml”>
<!ENTITY chap3 SYSTEM “mydocs/chapter3.xml”>

<!ENTITY chap4 SYSTEM “mydocs/chapter4.xml”>
<!ENTITY chap5 SYSTEM “mydocs/chapter5.xml”>
]>
<novel>
<header>
…blah blah…

</header>
&chap1;
&chap2;
&chap3;
&chap4;
&chap5;

</novel>

The difference between this method and the one used for including
a DTD fragment (see question D.15, ‘How do I include one DTD
(or fragment) in another?’) is that this uses an external
general (file) entity which is referenced in the same way as for
a character entity (with an ampersand).
The one thing to make sure of is that the included file must not
have an XML or DOCTYPE Declaration on it. If you’ve been using one
for editing the fragment, remove it before using the file in this
way. Yes, this is a pain in the butt, but if you have lots of inclusions
like this, write a script to strip off the declaration (and paste
it back on again for editing).

47. What is parsing and how do I do it in XML

Parsing is the act of splitting up information into its component
parts (schools used to teach this in language classes until the
teaching profession collectively caught the anti-grammar disease).

‘Mary feeds Spot’ parses as

1. Subject = Mary, proper noun, nominative case
2. Verb = feeds, transitive, third person singular, present tense
3. Object = Spot, proper noun, accusative case
In computing, a parser is a program (or a piece of code or API that
you can reference inside your own programs) which analyses files
to identify the component parts. All applications that read input
have a parser of some kind, otherwise they’d never be able to figure
out what the information means. Microsoft Word contains a parser
which runs when you open a .doc file and checks that it can identify
all the hidden codes. Give it a corrupted file and you’ll get an
error message.
XML applications are just the same: they contain a parser which
reads XML and identifies the function of each the pieces of the
document, and it then makes that information available in memory
to the rest of the program.
While reading an XML file, a parser checks the syntax (pointy brackets,
matching quotes, etc) for well-formedness, and reports any violations
(reportable errors). The XML Specification lists what these are.

Validation is another stage beyond parsing. As the component parts
of the program are identified, a validating parser can compare them
with the pattern laid down by a DTD or a Schema, to check that they
conform. In the process, default values and datatypes (if specified)
can be added to the in-memory result of the validation that the
validating parser gives to the application.

<person corpid=”abc123? birth=”1960-02-31?
gender=”female”> <name> <forename>Judy</forename>
<surname>O’Grady</surname> </name> </person>

The example above parses as: 1. Element person identified with Attribute
corpid containing abc123 and Attribute birth containing 1960-02-31
and Attribute gender containing female containing …
2. Element name containing …
3. Element forename containing text ‘Judy’ followed
by …
4. Element surname containing text ‘O’Grady’
(and lots of other stuff too).
As well as built-in parsers, there are also stand-alone parser-validators,
which read an XML file and tell you if they find an error (like
missing angle-brackets or quotes, or misplaced markup). This is
essential for testing files in isolation before doing something
else with them, especially if they have been created by hand without
an XML editor, or by an API which may be too deeply embedded elsewhere
to allow easy testing.

48. When should I use a CDATA Marked Section?

You should almost never need to use CDATA Sections. The CDATA mechanism
was designed to let an author quote fragments of text containing
markup characters (the open-angle-bracket and the ampersand), for
example when documenting XML (this FAQ uses CDATA Sections quite
a lot, for obvious reasons). A CDATA Section turns off markup recognition
for the duration of the section (it gets turned on again only by
the closing sequence of double end-square-brackets and a close-angle-bracket).

Consequently, nothing in a CDATA section can ever be recognised
as anything to do with markup: it’s just a string of opaque characters,
and if you use an XML transformation language like XSLT, any markup
characters in it will get turned into their character entity equivalent.

If you try, for example, to use:
some text with <![CDATA[markup]]> in it.

in the expectation that the embedded markup would remain untouched,
it won’t: it will just output
some text with <em>markup</em> in it.
In other words, CDATA Sections cannot preserve the embedded markup
as markup. Normally this is exactly what you want because this technique
was designed to let people do things like write documentation about
markup. It was not designed to allow the passing of little chunks
of (possibly invalid) unparsed HTML embedded inside your own XML
through to a subsequent processâ€â€because that would risk invalidating
the output.
As a result you cannot expect to keep markup untouched simply because
it looked as if it was safely ‘hidden’ inside a CDATA
section: it can’t be used as a magic shield to preserve HTML markup
for future use as markup, only as characters.

49. How can I handle embedded HTML in my XML

Apart from using CDATA Sections, there are two common occasions
when people want to handle embedded HTML inside an XML element:
1. when they have received (possibly poorly-designed) XML from somewhere
else which they must find a way to handle;
2. when they have an application which has been explicitly designed
to store a string of characters containing < and & character
entity references with the objective of turning them back into markup
in a later process (eg FreeMind, Atom).
Generally, you want to avoid this kind of trick, as it usually indicates
that the document structure and design has been insufficiently thought
out. However, there are occasions when it becomes unavoidable, so
if you really need or want to use embedded HTML markup inside XML,
and have it processable later as markup, there are a couple of techniques
you may be able to use:

* Provide templates for the handling of that markup in your XSLT
transformation or whatever software you use which simply replicates
what was there, eg
<xsl:template match=”b”>
<b>

50. What are the special characters in XML

For normal text (not markup), there are no special characters:
just make sure your document refers to the correct encoding scheme
for the language and/or writing system you want to use, and that
your computer correctly stores the file using that encoding scheme.
See the question on non-Latin characters for a longer explanation.

If your keyboard will not allow you to type the characters you want,
or if you want to use characters outside the limits of the encoding
scheme you have chosen, you can use a symbolic notation called ‘entity
referencing’. Entity references can either be numeric, using
the decimal or hexadecimal Unicode code point for the character
(eg if your keyboard has no Euro symbol (€) you can type €);
or they can be character, using an established name which you declare
in your DTD (eg ) and then use as € in your document. If you
are using a Schema, you must use the numeric form for all except
the five below because Schemas have no way to make character entity
declarations. If you use XML with no DTD, then these five character
entities are assumed to be predeclared, and you can use them without
declaring them: &lt;

The less-than character (<) starts element markup (the first
character of a start-tag or an end-tag). &amp;

The ampersand character (>) starts entity markup (the first
character of a character entity reference).&gt;
The greater-than character (>) ends a start-tag or an end-tag.
&quot;
The double-quote character (”) can be symbolised with this
character entity reference when you need to embed a double-quote
inside a string which is already double-quoted.


The apostrophe or single-quote character (’) can be symbolised with
this character entity reference when you need to embed a single-quote
or apostrophe inside a string which is already single-quoted.
If you are using a DTD then you must declare all the character entities
you need to use (if any), including any of the five above that you
plan on using (they cease to be predeclared if you use a DTD). If
you are using a Schema, you must use the numeric form for all except
the five above because Schemas have no way to make character entity
declarations.

If you like the post & want to get more then Subscribe our blog posts. Subscribe SunwareTech.net RSS Feed Facebook Twitter Email

Both comments and pings are currently closed.

83 Responses to “List of XML interview questions Part I”

  1. squamous cell cancer says:

    Squamous cell skin cancer is the most second kind of carcinoma in the world.

  2. ??? says:

    if most webmasters and bloggers produced very good article as you do,the usefulness and significance is overwhelming!

  3. Gary Waller says:

    Thanks a bunch for this awesome information. Please keep up the fantastic work. I’ll be coming back lots.

  4. Travel Deals says:

    Man I love your post and it was so informational and I am definetly going to bookmark it. One thing to say the Superb analysis this article has is trully remarkable.No one goes that extra mile these days? Bravo. Just one more suggestion you shouldinstall a Translator Application for your Worldwide Readers !!!

  5. Stephan Shely says:

    So like i saw your blog and it like totally told me whats up thanks for your input. One love.

  6. link building services says:

    Whoa. That was a great article. Please keep writing because I love your style.

  7. fat burner says:

    giiz wovtc slimming tablets ooiiai k ln r hsg

    ytks magxm [URL=http://www.pe6.us/phen375/ – phen375[/URL – ipteav w yq w bvb

  8. Buy Links says:

    Nice!! Great Info. Great People. Great Blog. Thank you for all the great sharing that is being done here.

  9. Jared Brasswell says:

    You should participate in a contest for the most effective blogs on the web. I’ll suggest this site!

  10. Travel Deals says:

    Man I like your comment and it is so informational and I am gonna save it. I Have to say the Indepth analysis you have done is greatly remarkable.Who goes that extra mile these days? Bravo!!! Just another tip you canget a Translator for your Worldwide Audience 🙂

  11. Your goal can be clearly felt in your writing, which is to make sure everyone will enjoy it. I have to say I totally did enjoy and am thrilled for the entertainment. You are appreciated for bringing joy to others.

  12. wired router says:

    My sis instructed me about your website and the way great it is. She’s proper, I’m really impressed with the writing and slick design. It seems to me you’re just scratching the surface in terms of what you’ll be able to accomplish, however you’re off to an ideal begin!

  13. ???? says:

    I not to mention my guys were found to be looking at the good hints located on your web blog and so immediately got a horrible feeling I had not expressed respect to the web site owner for those secrets. My young boys appeared to be totally stimulated to see all of them and now have certainly been using these things. Thanks for truly being really thoughtful and for making a decision on this kind of important guides millions of individuals are really desirous to understand about. My honest apologies for not saying thanks to you sooner. 2

  14. I would like to thank you with the initiatives you have made on paper this text. I am hoping a similar best product of your stuff from now on likewise. The truth is ones own extremely creative composing proficiency offers impressed everyone to start out by myself BlogEngine webpage at this time. Actually the writing a blog is certainly putting on her wings immediately. Your create is definitely a fine illustration showing the software.

  15. ?? says:

    This recorded a piece of me! Eagle Air is a novice looking to be free to stroll all the exhibitions “Life is to learn not to get …”I like this sentence, very healthy outlook on life: You do not get a satisfactory cause; is learned How closer to happiness. You do not get the victory; is to learn how to avoid failure. You do not get the final result you want; that things will not be satisfactory to learn …

  16. Ok ive made my decision, im subscribing, this is awesome, keep it comin.

  17. hi!,I really like your writing so a lot! percentage we communicate more about your article on AOL? I need a specialist on this area to resolve my problem. Maybe that’s you! Looking ahead to see you.

  18. Good piece of details that you’ve obtained on this web site submit. Hope I might get some a lot more of the stuff in your website. I will occur again.

  19. SEO Services says:

    Great wordpress blog here.. It’s hard to find quality writing like yours these days. I really appreciate people like you! take care 🙂

  20. I uncovered your web page via search motors even when looking for for the connected topic, your web page demonstrated up up. give many as a consequence of you for the fabulous blog. Amazingg skills! hold on man, you rock!

  21. Before I meet your pilot website, I incredible didn’t know something about this subject that I will use in my school task. After I read page by page, I found the significant thing for my initial idea, great article in your webpage, I discover many missing file and data in my book guidance, but you gave me the several options. I am postgraduate college and want to finish my subject; it is hard task (for me). I spent over 2 weeks, just browsing and finding this nice article.

  22. Congratulations on having one of the most sophisticated blogs Ive come throughout in some time! Its just incredible how substantially you can take away from some thing simply because of how visually beautiful it is. Youve put with each other a good blog space ?great graphics, videos, layout. This is absolutely a must-see weblog!

  23. acai berry says:

    I admire the valuable information you offer in your articles. I will bookmark your blog and have my children check up here often. I am quite sure they will learn lots of new stuff here than anybody else!

  24. Congratulations on having one of the most sophisticated blogs Ive come throughout in some time! Its just incredible how substantially you can take away from some thing simply because of how visually beautiful it is. Youve put with each other a good blog space ?great graphics, videos, layout. This is absolutely a must-see weblog!

  25. cheap hotel says:

    You must be spending quite some time on your blog to maintain it so well. Congratulations.

  26. Dubturbo says:

    Remarkable Site, The content the Style?

  27. Great post for us artists, thank you for posting it! Cheers!

  28. ??? says:

    my sentiments and I will instantly snatch your rss feed to be updated on any upcoming content you may publish,I am really fan of your site.3$4

  29. ???? says:

    You might want to increase your spam filtering, it seems like your blog has a lot of spam comments.5

  30. Great Post!! Thank you very much!

  31. I’m following http://sunwaretech.net/blog/list-of-xml-interview-questions-part-i/ for quite long time now and in my view it’s growing better and better, with every new post . Thanks for sharing all those impressive information with us. Best regards gewinnspiele kostenlos

  32. Hi there, anyway, thanks for the info!

  33. yoga dvds says:

    Please update me every time you upcoming submit for your weblog. Magnificent study!

  34. I think this is one of the most substantial info for me. And i’m glad reading your article. But want to remark on some basic things, The website style is perfect, the articles is actually outstanding

  35. This post is very usefull thx!

  36. Makes sense.. I gotcha. Nice blog post. Usually find fantasic blog posts right on this website. Thanks much for sharing. I will bookmark this website. Also, I was curious about buying ad space on your website. Appears to be a excellent blog to advertise on. Good posts and nice style. Send to my email the advert info if you could. Have a great new year…

  37. Horse Games says:

    I love the expression. Everyone needs to express there own opinion and feel free to hear others. Keep it up 🙂

  38. I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post

  39. ???? says:

    I in addition to my pals happened to be taking note of the best secrets and techniques on your web blog and then then developed a horrible suspicion I never thanked the web site owner for those secrets. My young boys appeared to be absolutely glad to read all of them and already have truly been tapping into them. Many thanks for truly being really thoughtful and then for deciding on certain cool useful guides millions of individuals are really wanting to discover. Our own honest apologies for not expressing appreciation to sooner. 2

  40. Cant get enough of this blog. Your opinion and facts truly let people know what its all about.

  41. Wow nice info you have here. I hope this will help a lot of people. I will tell my friends to read this. Thanks!

  42. ???? says:

    Your page is looks mercy, your graphics are charming, and what’s more, you use reference that are relevant to what you are saying.2$4

  43. Great job here. I really enjoyed what you had to say. Keep going because you definitely bring a new voice to this subject. Not many people would say what youve said and still make it interesting. Well, at least Im interested. Cant wait to see more of this from you.

  44. It’s good to observe people spreading in the same way info and courses by way of their blogs and forums which offer information on the reader. I am looking for twitter strategies to handle and also to develop my multilevel on tweets and I am certain power tools will visiting let me a great deal.

  45. ???? says:

    Good idea. Can be considered a learned thing, ok,

  46. I think that going to online schools is soon going to become the best way of getting an education.

  47. Hi! Very valuable advice on this blog! It is the small tweaks that create the largest changes. Thanks so much for sharing!

  48. Simply wanna comment on few general things, The website style and design is perfect, the content material is very fantastic : D.

  49. Jin Hoshino says:

    This is a great post. I am a student at FIU and i am always looking for new info on Marketing. Even though I’m a Biology major, I have found that everyone has to know marketing because that’s how we get places in your life. If you know how to market oneself, then you can pretty much get anything out of life. Thus, making this why I always try to get a read or two about marketing. Thanks again.

  50. I’m impressed, I have to say. Really hardly ever do I encounter a blog that’s each educative and entertaining, and let me inform you, you have got hit the nail on the head. Your concept is outstanding; the problem is something that not sufficient persons are speaking intelligently about. I’m very comfortable that I stumbled across this in my search for one thing regarding this.

  51. How is it that just anybody can write a blog and get as popular as this? Its not like youve said anything incredibly impressive –more like youve painted a pretty picture over an issue that you know nothing about! I dont want to sound mean, here. But do you really think that you can get away with adding some pretty pictures and not really say anything?

  52. Buy Links says:

    Straight to the point, i love it. Dont let anyone stop us bloggers.

  53. Rooibos says:

    I don’t even know how I got here, but I thought this post was interesting. Cheers!

  54. Denny Felan says:

    It appears to become a positive thing for college kids since it may help for his or her touchante. In response to myself: The field of online support is certainly expanding.A lot of the merchants tend to be engaging with digital personnel that make money working from home. The reason is that they are oftenaccessed whenever plus they give you the results you want twenty-four hours a day.

  55. Sheet Music says:

    I really enjoy to be on the violin! It’s truly fun.

  56. cheers for this helpful information ill recommend your site to every single one of my buddys as we have been looking for this all over the web.

  57. Nice posting. Many thanks for taking the time to share this information. I bookmarked your web blog and will check back again. Well crafted. Kudos 🙂

  58. DELETE ME says:

    Awesome post mang

  59. comus inn md says:

    Cool… Glad I found this article as I am darn near ready to make a decision on a somewhat expensive purchase. You really assisted me with my market research. Thanks again! –Raina.

  60. ?? says:

    I personally believe there is a mojo to writing articles that only a few posses and frankly you have it , you genius;3$4

  61. I am really impressed with your writing skills and also with the layout on your blog. Is this a paid theme or did you modify it yourself? Either way keep up the excellent quality writing, it’s rare to see a great blog like this one these days..

  62. Sorry for the huge review, but I’m really loving the new Zune, and hope this, as well as the excellent reviews some other people have written, will help you decide if it’s the right choice for you.

  63. family films says:

    Really interesting articles. I enjoyed reading it. Thanks for sharing a nice info!

  64. You are a very smart person!

  65. I appreciate the time you spent writing this. It was a great read, just bookmarked your site.

  66. I took a break to view your article. I found it very relaxing

  67. SEO says:

    Thank you for the good writeup. It in fact was a amusement account it. Look advanced to far added agreeable from you! However, how could we communicate?

  68. When I read a good article I usually do a few things:1.Show it to my close friends.2.keep it in all my common bookmarking sites.3.Make sure to visit the same site where I came accross the post.After reading this post I am seriously concidering going ahead and doing all of the above!

  69. I have been scouting around temporarly for any solid study focused on the following issue . Exploring in Aol I ultimately stumbled upon this page. Reading this information I’m relieved to mention that I have a wonderful sensation I stumbled onto exactly what I wanted. I will make sure to remember this blog and look it over on a constant basis.

  70. xenon lights says:

    Thank you so much with regard to giving me an update on this matter on your web-site. Please be aware that if a new post appears or if perhaps any adjustments occur about the current article, I would be interested in reading a lot more and knowing how to make good utilization of those strategies you share. Thanks for your time and consideration of other people by making this site available.

  71. what’s up this is Billy, 1st time Ive posted. Im entirely sure I acknowledge with the person who wrote in the thread’s second narrative. Imaginably, it has to do with my forebears but I never will play ball with you. Although, the rest of the story was first-class!

  72. fantastic issues altogether, you simply won brand new reader What could you recommend in regards to your submit that you just made a few days in the past? Any certain?

  73. Gilda says:

    Simply wanna comment that you have a very nice internet site , I love the design and style it really stands out. -Gilda

  74. bizuteria says:

    Thanks for this entry. Waiting for next one.

  75. Decent information here I know this is somthing my son could be intereseted in thank you for taking the time to make it readily available to us. Im certain he and he friends will like it as well

  76. Wow! This can be a single of the very best blogs We have ever are available across on this subject. Merely Magnificent

  77. Shayne Haydu says:

    great post! i’m bookmarking this!

  78. I love reading your blog. I’ve you bookmarked your website in order to check out the latest stuff.

  79. Jamorama i think you have a great site here… today was my first time coming here.. i just happened to find it doing a google search. anyway, great post.. i’ll be bookmarking this page for sure.

  80. pligg.com says:

    List of XML interview questions Part I | Sunware Technologies…

    List of XML interview questions Part I | Sunware Technologies…

  81. Thanks for your marvelous posting at http://sunwaretech.net/blog/list-of-xml-interview-questions-part-i! I certainly enjoyed reading it, you may be a great author.I will be sure to bookmark your blog and will come back down the road. I want to encourage you to continue your great work, have a nice weekend!

Copyright © Sunware Technologies - Your web partner