|
Technical Interview Questions
Javascript Interview Questions
Oracle Interview Questions
XHtml Interview Questions
Ajax
Interview Questions
CSS Interview Questions
VB
Interview Questions
.........More
Programming Source Codes
Java Source Codes
Html Source Codes
CSS Source Codes
C Source Codes
.........More
Soft Skills
Communication Skills
Leadership Skills
.........More
|
|
XML Interview Questions and Answers
I'm trying to understand the XML Spec: why does it
have such difficult terminology?
For implementation to succeed, the terminology needs to
be precise. Design goal eight of the specification tells
us that ‘the design of XML shall be formal and concise’.
To describe XML, the specification therefore uses formal
language drawn from several fields, specifically those
of text engineering, international standards and
computer science. This is often confusing to people who
are unused to these disciplines because they use
well-known English words in a specialised sense which
can be very different from their common meanings—for
example: grammar, production, token, or terminal.
The specification does not explain these terms because
of the other part of the design goal: the specification
should be concise. It doesn't repeat explanations that
are available elsewhere: it is assumed you know this and
either know the definitions or are capable of finding
them. In essence this means that to grok the fullness of
the spec, you do need a knowledge of some SGML and
computer science, and have some exposure to the language
of formal standards.
Sloppy terminology in specifications causes
misunderstandings and makes it hard to implement
consistently, so formal standards have to be phrased in
formal terminology. This FAQ is not a formal document,
and the astute reader will already have noticed it
refers to ‘element names’ where ‘element type names’ is
more correct; but the former is more widely understood.
Can I still use server-side inclusions?
Yes, so long as what they generate ends up as part of an
XML-conformant file (ie either valid or just
well-formed).
Server-side tag-replacers like shtml, PHP, JSP, ASP,
Zope, etc store almost-valid files using comments,
Processing Instructions, or non-XML markup, which gets
replaced at the point of service by text or XML markup
(it is unclear why some of these systems use
non-HTML/XML markup). There are also some XML-based
preprocessors for formats like XVRL (eXtensible Value
Resolution Language) which resolve specialised
references to external data and output a normalised XML
file.
Can I (and my authors) still use client-side inclusions?
The same rule applies as for server-side inclusions, so
you need to ensure that any embedded code which gets
passed to a third-party engine (eg calls to SQL, VB,
Java, etc) does not contain any characters which might
be misinterpreted as XML markup (ie no angle brackets or
ampersands). Either use a CDATA marked section to avoid
your XML application parsing the embedded code, or use
the standard <, and & character entity references
instead.
How can I include a conditional statement in my XML?
You can't: XML isn't a programming language, so you
can't say things like
<google if {DB}="A">bar</google>
If you need to make an element optional, based on some
internal or external criteria, you can do so in a
Schema. DTDs have no internal referential mechanism, so
it isn't possible to express this kind of conditionality
in a DTD at the individual element level.
It is possible to express presence-or-absence
conditionality in a DTD for the whole document, by using
parameter entities as switches to include or ignore
certain sections of the DTD based on settings either
hardwired in the DTD or supplied in the internal subset.
Both the TEI and Docbook DTDs use this mechanism to
implement modularity.
Alternatively you can make the element entirely optional
in the DTD or Schema, and provide code in your
processing software that checks for its presence or
absence. This defers the checking until the processing
stage: one of the reasons for Schemas is to provide this
kind of checking at the time of document creation or
editing.
I have to do an overview of XML for my
manager/client/investor/advisor. What should I mention?
* XML is not a markup language. XML is a ‘metalanguage’,
that is, it's a language that lets you define your own
markup languages (see definition).
* XML is a markup language [two (seemingly)
contradictory statements one after another is an
attention-getting device that I'm fond of], not a
programming language. XML is data: is does not ‘do’
anything, it has things done to it.
* XML is non-proprietary: your data cannot be held
hostage by someone else.
* XML allows multi-purposing of your data.
* Well-designed XML applications most often separate
‘content’ from ‘presentation’. You should describe what
something is rather what something looks like (the
exception being data content which never gets presented
to humans).
Saying ‘the data is in XML’ is a relatively useless
statement, similar to saying ‘the book is in a natural
language’. To be useful, the former needs to specify ‘we
have used XML to define our own markup language’ (and
say what it is), similar to specifying ‘the book is in
French’.
A classic example of multipurposing and separation that
I often use is a pharmaceutical company. They have a
large base of data on a particular drug that they need
to publish as:
* reports to the FDA;
* drug information for publishers of drug
directories/catalogs;
* ‘prescribe me!’ brochures to send to doctors;
* little pieces of paper to tuck into the boxes;
* labels on the bottles;
* two pages of fine print to follow their ad in Reader's
Digest;
* instructions to the patient that the local pharmacist
prints out;
* etc.
Without separation of content and presentation, they
need to maintain essentially identical information in 20
places. If they miss a place, people die, lawyers get
rich, and the drug company gets poor. With XML (or
SGML), they maintain one set of carefully validated
information, and write 20 programs to extract and format
it for each application. The same 20 programs can now be
applied to all the hundreds of drugs that they sell.
In the Web development area, the biggest thing that XML
offers is fixing what is wrong with HTML:
* browsers allow non-compliant HTML to be presented;
* HTML is restricted to a single set of markup (‘tagset’).
If you let broken HTML work (be presented), then there
is no motivation to fix it. Web pages are therefore tag
soup that are useless for further processing. XML
specifies that processing must not continue if the XML
is non-compliant, so you keep working at it until it
complies. This is more work up front, but the result is
not a dead-end.
If you wanted to mark up the names of things: people,
places, companies, etc in HTML, you don't have many
choices that allow you to distinguish among them. XML
allows you to name things as what they are:
<person>Charles Goldfarb</person> worked
at <company>IBM</company>
gives you a flexibility that you don't have with HTML:
<B>Charles Goldfarb</B> worked at<B>IBM<</B>
With XML you don't have to shoe-horn your data into
markup that restricts your options.
Page Numbers
: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Have a Question ?
post your questions here. It
will be answered as soon as possible.
Check
HTML Interview
Questions for more HTML Interview Questions with Answers
Check
JDBC Interview
Questions for more JDBC Interview Questions with Answers
Check
Job Interview Questions
for more Interview Questions with Answers
|