Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud.
We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
This column has two objectives. The first is to help you prepare for IBM Test 141 on XML and related technologies. The second is to help you learn XML by offering tips for designing and optimizing XML solutions.
The first question in your mind is probably: Why should I get XML certified? There are three simple answers to that question. First, exam preparation brings discipline and rigor to the process of learning XML and the very large collection of related specifications. Second, there is no doubt that being XML certified will make you more competitive in today's tight IT job market. For example, some government organizations make certification a prerequisite for obtaining grants and contracts for new projects. If you already have a job, certification could result in a promotion, salary increase, or better job security. Finally, the ultimate goal of learning is performance. Preparing for the exam and becoming certified will arm you with the knowledge and skills you need to architect and implement the right solution for your next XML project.
For more information on the objectives of IBM Test 141 and a sample test, visit
www-1.ibm.com/certify/tests/sam141.shtml. The format of the exam is multiple choice. This column presents five questions from the five different exam objectives. It provides the correct answer and detailed explanations for each question. The IBM XML certification is not product specific. It covers W3C specifications and other vendor-neutral specifications like SAX and UDDI. The knowledge and skills acquired during exam preparation can be used with a variety of products and in different XML project scenarios.
The exam contains approximately 57 questions. The objectives are grouped into five different categories:
Architecture: This objective represents about 19% of the exam questions. Some questions are scenario-based. Based on various business and technical considerations you will be asked to select the appropriate technologies for an XML-based solution. The choices will include XML Schema, DTDs, XSLT, CSS, DOM, SAX, Namespaces, and others. You should understand the roles of SOAP, WSDL, and UDDI in Web services architecture and how these three technologies complement each other and can be used together. It is helpful to have a basic knowledge of the structure of SOAP messages as well as the relationship between XML Schemas and WSDL. To answer XML security-related questions correctly you should know the types of data objects that can be signed or encrypted as well as the basic processing rules for signature validation and decryption, respectively.
Information Modeling: This objective represents about 26% of the exam questions. You will be asked to translate modeling requirements into DTD and XML Schema constructs. A strong knowledge of the syntax of DTDs and XML Schemas is a requirement. This exam objective also covers the proper use of Namespaces, XLink, and XPointer.
XML Processing: This objective represents about 33% of the exam questions. You should familiarize yourself with DOM and SAX interfaces and the methods defined by those interfaces. You should be able to write correct XPath expressions and functions to select nodes in an XML document. Other questions are related to the use of XSLT elements and functions.
XML Rendering: This objective represents about 11% of the exam questions. It covers the use of CSS, XSLT, and XSL Formatting Objects specifications in rendering XML data. It is important to know how these technologies can be used together to render XML content and the differences in their processing models. In addition, you should have a basic understanding of the purposes of the different formatting objects.
Testing and Tuning: This objective represents about 11% of the exam questions. You will be tested on how to optimize XML solutions using various techniques like stylesheet and schema modularization, uniqueness and referential constraints, and other constructs. The exam questions related to this objective focus on XML application testing, data query, and integration issues.
The first step in your exam preparation process is to take the IBM sample test at http://certify.torolab.ibm.com. Your test results will give you a good idea of where you should concentrate your efforts. There is a variety of resources for preparing for the exam, and you should select the one that best fits your needs and budget. Available educational resources include classroom training, e-learning (live and asynchronous), books, and online discussion groups, to name a few. Exam simulators are a very effective method for preparing for the final exam. Exam simulators include practice tests that can be taken in study mode and in exam mode. In study mode the simulator indicates the correct answer for each question and offers detailed explanations, including tips for designing and optimizing XML solutions. In exam mode the simulator mimics the interface of a real exam. An exam simulator also gives students the ability to view questions as flashcards. It's very helpful to get some hands-on coding practice as well.
The following practice questions will give you a good idea of what to expect at the exam. The exam objective covered by each question is indicated in parentheses after the question number.
Question 1 (Architecture)
A manufacturing company is using a legacy application that imports and exports data in comma-delimited flat files. XML will be used as the data exchange format between the manufacturing company and its suppliers and customers.
Which of the following is MOST likely to be required by this architecture?
A. The element types and attribute names in the XML documents sent by suppliers and customers must match the names of data fields in the manufacturing company's legacy system.
B. Before sending documents to suppliers, the comma-delimited flat files must be transformed into XML by writing a DOM application.
C. The XML documents received from suppliers and customers must be validated and transformed into comma-delimited flat files by writing an XSLT transformation.
D. An XSLT processor will be used to transform comma-delimited flat files data into XML before sending documents to suppliers and customers.
Select two answers.
Explanation: Choice A is incorrect. The element types and attribute names used by suppliers need not be the same as the data fields in the legacy system. The data can be mapped. XML is all about interoperability between heterogeneous applications.
Choice B is correct because the DOM is a very flexible method for constructing XML document trees from scratch. The Document interface contains factory methods for creating nodes and building a DOM tree.
Choice C is correct because the result of an XSLT transformation can be XML or non-XML data.
Choice D is not correct because the input to an XSLT transformation must be a well-formed XML document. Therefore, a comma-delimited flat file cannot be processed with XSLT.
Question 2 (Testing & Tuning)
Consider the following XSLT element and function:
Which of the following elements will be returned by the key function?
A. <chapter chapkey= 'durand'>
B. <chapkey author= 'durand'>
C. <chapter author= 'durand'>
D. <chapter key= 'durand'>
Select one answer.
Explanation: Choice C is the correct answer. The <xsl:key> element is used to declare keys. The "name" attribute specifies the name of the key. The <xsl:key> element specifies the key of any node that matches the pattern specified in the "match" attribute. In this case, the "match" attribute is a pattern that selects <chapter> elements. Therefore, the key is applicable to <chapter> elements.
The "use" attribute is an expression specifying the value of the key. The value of the "use" attribute is an expression that returns the "author" attribute of the <chapter> element.
The key function key ("chapkey", 'durand') returns a node set containing the nodes in the same document as the context node that have a value for the key named "chapkey" equal to the string "durand". The key function will return <chapter> elements that have an "author" attribute with value "durand".
Question 3 (Information Modeling)
A DTD in a catalog.dtd file contains the following declarations:
Which of the following is TRUE about the structure of an <Item> element in the XML document?
A. Inside an <Item> element, the <Manufacturer> element must occur before the <DiscountedPrice> element.
B. An <Item> element must contain at least one <Price> child element.
C. The first child element of an <Item> element must be a <Description> element.
D. An <Item> element must contain at least one <Manufacturer> child element.
Select one answer.
Explanation: Choice D is the correct answer. The declarations in a conditional section are part of the DTD only if the keyword of the conditional section is INCLUDE. The declarations in a conditional section are not logically part of the DTD if the keyword of the conditional section is IGNORE.
In this case, the keywords of the two conditional sections are parameter-entity references. The parameter-entity references must be expanded to determine whether to include or ignore the conditional sections. The parameter entities "discount" and "regular" are declared in both the internal subset and the external subset of the document type declaration. Entity declarations in the internal subset take precedence over those in the external subset.
The internal subset sets the "discount" keyword to INCLUDE. The conditional section with keyword "discount" is used to validate the XML document. The <Item> element must contain the following elements in the order specified:
1. An optional <Description> element
2. A required <PartNumber> element
3. A required <DiscountedPrice> element
4. One or more <Manufacturer> elements
Question 4 (XML Processing)
Consider the following XML document:
<!DOCTYPE a [
<!ELEMENT a EMPTY>
<!ATTLIST a
b NMTOKEN #REQUIRED
c CDATA 'y'
d CDATA 'z'>
]>
<a b='x' d='1' />
Which of the following statements is TRUE about the Element interface in DOM 2?
A. getAttributeNode("b") returns the string "x".
B. getAttribute("c") returns the empty string.
C. getAttribute("c") returns the string "y".
D. An attribute "d" with value "z" immediately appears when removeAttribute("d") is called.
Select two answers.
Explanation: Choice A is not correct because getAttributeNode() returns the Attr node with the specified node name or null if there is no such attribute.
Choice B is not correct because getAttribute() returns the Attr value as a string, or the empty string if that attribute does not have a specified or default value.
Choice C is correct because in this case, the default value of c is y.
Choice D is correct. removeAttribute() removes an attribute by name. If the removed attribute is known to have a default value, an attribute immediately appears containing the default value.
Question 5 (XML Rendering)
Which of the following statements is FALSE about XSL Formatting Objects?
A. The fo:page-sequence formatting object is used to specify how to create a sequence of pages within a document.
B. The fo:table-and-caption flow object is used for formatting a table together with its caption.
C. The fo:table-caption formatting object is used to contain block-level formatting objects containing the caption for the table only when using fo:table-and-caption.
D. The fo:list-item-body formatting object contains the label and the body of an item in a list.
Select one answer.
Explanation: Choice D is the correct answer. The following formatting objects are used to format lists: fo:list-block, fo:list-item, fo:list-item-label, and fo:list-item-body. The fo:list-item formatting object contains the label and the body of the item. The fo:list-item-body formatting object contains only the body of an item in a list. The fo:list-item-label formatting object contains the content of the label of the item.
Conclusion
For each specification covered by the exam objectives, you should put the emphasis on the following:
The purpose of the specification and its relationship to other XML-related specifications.
Its benefits when compared to other specifications and how they complement each other in real applications. This will get you ready to correctly answer architecture-related questions, which are often scenario-based.
The processing model (or rules) of the specification.
The syntax of the specification.
The collection of element types and attribute names defined by its namespace and their purpose.
The next article will cover XML Schema and Web Services exam objectives.
About Joel Amoussou Joel Amoussou is founder and chief learning architect of XMLMentor.net, where he develops blended learning solutions for building and assessing XML skills. Joel is the author of an XML exam simulator and teaches live e-learning courses on XML certification.
Reader Feedback: Page 1 of 1
#2
iyyappan commented on 23 Oct 2003
very good test with excellent questions..
#1
Mitesh commented on 9 May 2003
I agree with the author on the importnace of certification and main benefit apart from job security is masterting the subject as you prepare for the subject.
After reading this article I am sure to look into get myself certifed or at least go over the exam material and try to give one real exam (whether I pass or not)
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice: