1.
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.
2.
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 ball 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.
3.
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.
4.
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.
5.
Can you walk us through the steps necessary to parse XML documents?
Superficially, this is a fairly basic question.
However, the ball 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.
6.
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.
7.
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>
8.
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.
9.
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
|