XML Interview Questions

What is the difference between DOM and SAX? What would you use if an option is given?

DOM parses an XML document and returns an instance of org.w3c.dom.Document. This document object’s tree must then be “walked” in order to process the different elements. DOM parses the ENTIRE Document into memory, and then makes it available to you. The size of the Document you can parse is limited to the memory available.

SAX uses an event callback mechanism requiring you to code methods to handle events thrown by the parser as it
encounters different entities within the XML document. SAX throws events as the Document is being parsed. Only the
current element is actually in memory, so there is no limit to the size of a Document when using SAX.

The specific parser technology that will be used will be determined by the requirements of your application. If you need the entire document represented, you will most likely use DOM builder implementation. If you only care about parts of the XML document and/or you only need to parse the document once, you might be better served using SAX implementation.

What is SOAP?

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.

What is DOM?

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.

Is it necessary to validate XML file against a DTD?

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.

What is XPath?

XPath stands for XML Path Language
XPath is a syntax for defining parts of an XML document
XPath is used to navigate through elements and attributes in an XML document
XPath contains a library of standard functions
XPath is a major element in XSLT
XPath is designed to be used by both XSLT and XPointer
XPath is a W3C Standard

What is XSL?

XSLT – a language for transforming XML documents
XSLT is used to transform an XML document into another XML document, or another type of document that is recognized by a browser, like HTML and XHTML.
Normally XSLT does this by transforming each XML element into an (X)HTML element.

What is a DTD and a Schema?

The XML Document Type Declaration contains or points to markup declarations that provide a grammar for a class of documents. This grammar is known as a document type definition or DTD.

The DTD can point to an external subset containing markup declarations, or can contain the markup declarations directly in an internal subset, or can even do both.

A Schema is:

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.

Schemas are a richer and more powerful of describing information than what is possible with DTDs