XML Interview Questions and Answers
What is XML?
XML (Extensible markup language) is all about describing data.An XML tag is not something predefined but it is something you have to define according to your needs.The XML document is self explanatory, any one can easily understand looking at the XML data what exactly it means.
What is the version information in XML?
“version” tag shows which version of XML is used.
What is ROOT element in XML?
In our XML sample given previously tag is the root element. Root
element is the top most elements for a XML.
If XML does not have closing tag will it work?
No, every tag in XML which is opened should have a closing tag. For instance in the top
if I remove tag that XML will not be understood by lot of application.
Is XML case sensitive?
Yes, they are case sensitive.
What is the difference between XML and HTML?
XML describes data while HTML describes how the data should be displayed. So HTML is about displaying information while XML is about describing information.
Is XML meant to replace HTML?
No, they both go together one is for describing data while other is for displaying data.
Can you explain why your project needed XML?
Note: - This is an interview question where the interviewer wants to know why you have chosen XML.
Remember XML was meant to exchange data between two entities as you can define your user friendly tags with ease. In real world scenarios XML is meant to exchange data. For instance you have two applications who want to exchange information. But because they work in two complete opposite technologies it’s difficult to do it technically. For instance one application is made in JAVA and the other in .NET. But both languages understand XML so one of the applications will spit XML file which will be consumed and parsed by other applications
You can give a scenario of two applications which are working separately and how you chose XML as the data transport medium.
What is DTD (Document Type definition)?
It defines how your XML should structure. For instance in the above XML we want to make it compulsory to provide “qty” and “totalcost”, also that these two elements can only contain numeric. So you can define the DTD document and use that DTD document with in that XML.
What is well formed XML?
If a XML document is confirming to XML rules (all tags started are closed, there is a root element etc) then it’s a well formed XML.
What is a valid XML?
If XML is confirming to DTD rules then it’s a valid XML.
What is CDATA section in XML?
All data is normally parsed in XML but if you want to exclude some elements you will need to put those elements in CDATA.
What is CSS?
With CSS you can format a XML document.
What is XSL?
XSL (the eXtensible Stylesheet Language) is used to transform XML document to some other document. So its transformation document which can convert XML to some other document. For instance you can apply XSL to XML and convert it to HTML document or probably CSV files.
What is element and attributes in XML?
In the below example invoice is the element and the invnumber the attribute.
Which are the namespaces in .NET used for XML?
“System.xml.dll” is the actual physical file which has all XML implementation. Below are
the commonly used namespaces:-
System.Xml
System.Xml.Schema
System.Xml.XPath
System.Xml.Xsl
Showing posts with label xml faqs. Show all posts
Showing posts with label xml faqs. Show all posts
How would you build a search engine for large volumes of XML data?
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.
Obviously, some important areas of XML technologies were not included in this list -- namespaces, XPointer, XLink, and so on -- and should be added to the interviewer's set of questions if applicable to the particular position that the candidate is applying for. However, these questions in conjunction with others to assess soft skills (communication skills, ability to work on teams, leadership ability, etc.) will help determine how well candidates understand the fundamental principles of XML.
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.
Obviously, some important areas of XML technologies were not included in this list -- namespaces, XPointer, XLink, and so on -- and should be added to the interviewer's set of questions if applicable to the particular position that the candidate is applying for. However, these questions in conjunction with others to assess soft skills (communication skills, ability to work on teams, leadership ability, etc.) will help determine how well candidates understand the fundamental principles of XML.
Using XSLT, how would you extract a specific attribute from an element in an XML document?
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.
Attribute Value:
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.
Attribute Value:
Give some examples of XML DTDs or schemas that you have worked with.
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.
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.
What is SOAP and how does it relate to XML?
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.
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.
What is DOM and how does it relate to XML?
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.
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.
Give a few examples of types of applications that can benefit from using XML.
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.
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.
Describe the role that XSL can play when dynamically generating HTML pages from a relational database.
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.
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.
XML Interview questions,Faqs
XML Interview FAQS
1)Can I use XML namespaces in DTDs?
2)Define DTD (Document Type definition).
3)Describe about the syntax rules which form the XML documents?
4)Differences Between XML and xlink?
5)Explain about DOM interface?
6)Explain about XML Canonicalization?
7)Explain about XML data binding?
8)Explain about XML namespaces?
9)Explain about XML signature?
10)Explain about XQuery?
11)Explain about core validation?
12)Explain about the DTD features?
13)Explain about the techniques for processing XML files?
14)Give some examples of XML DTDs
15)Give the main reasons to use DTD?
16)Give us syntax rules of XQuery?
17)How can u create an XML file?
18)How do I configure an XPointer processor?
19)How do I implement an application-specific XPointer scheme?
20)How do I make a table which looks good on xlink and Prodigy?
21)How do I write my own DTD?
22)How do integrate XPointer into my application?
23)How do you create Drop Down Combos in xlink ?
24)How do you display XML with XSLT?
Some More XML INTERVIEW QUESTIONS
# How do you load data from XML file to a ORACLE table?
# How do you parse/validate the XML document?
# How to add elements and attributes with XQuery in XML data?
# How to declare DTD?
# How to define functions in XQuery?
# How to perform comparisons in XQuery?
# How to perform conditional operations in XQuery?
# How to perform operation on node using XQuery function in XML?Explain with an example?
# How to use FLWOR expression given by XQuery in XML data?
# How to use XPointer?
# How would you produce PDF output using XSL’s?
# How you define atomic values?
# How you define syntax of XLink?
# How you define syntax of XPointer?
# How you define terms in XQuery?
# How you use XQuery FLWOR with HTML?
# List the rules to be followed by an XML document.
# Other than XML/XSLT, what are other web services.
# State and explain about XML encoding errors?
# State some advantages of XML
# State some disadvantages of XML?
# State some features of XQuery.
# WHich type of problems we can solved with XQuery?
# What XPointer schemes are supported in this release?
# What about xpointer resources?
# What are XML indexes and secondary XML indexes?
# What are the differences between SAX and DOM parsers?
# What are the steps to transform XML into HTML using XSL?
# What do you mean by selecting and Filtering elements in XQuery?
# What is DOM?
# What is DTD?
# What is XLink ?
# What is XML Namespace?
# What is XML Serialization and Binary Serialization?
# What is XML data binding?
# What is XML template?
# What is XML?
# What is XMLA ?
# What is XPointer?
# What is XQuery?
# What is XSL?
# What is XSLT?
# What is Xpath?
# What is a CDATA section in XML?
# What is a schema? What are the limitations of a DTD?
# What is an XML encoding error?
# What is server-side XPointer?
# What is the difference between SAX parser and DOM parser?
# What is the difference between Schema and DTD?
# What is the purpose of FOR XML in SQL Server?
# What is the use of Xlinks Modularization?
# What parser would you use for searching a huge XML file?
# When a XML file has a DTD declared which is not accessible to the parser, what would happen?
# When constructing an XML DTD
# Why doesn't use XLink?
# Why should I care if my document is in correct x link? It displays all right on my browser.
1)Can I use XML namespaces in DTDs?
2)Define DTD (Document Type definition).
3)Describe about the syntax rules which form the XML documents?
4)Differences Between XML and xlink?
5)Explain about DOM interface?
6)Explain about XML Canonicalization?
7)Explain about XML data binding?
8)Explain about XML namespaces?
9)Explain about XML signature?
10)Explain about XQuery?
11)Explain about core validation?
12)Explain about the DTD features?
13)Explain about the techniques for processing XML files?
14)Give some examples of XML DTDs
15)Give the main reasons to use DTD?
16)Give us syntax rules of XQuery?
17)How can u create an XML file?
18)How do I configure an XPointer processor?
19)How do I implement an application-specific XPointer scheme?
20)How do I make a table which looks good on xlink and Prodigy?
21)How do I write my own DTD?
22)How do integrate XPointer into my application?
23)How do you create Drop Down Combos in xlink ?
24)How do you display XML with XSLT?
Some More XML INTERVIEW QUESTIONS
# How do you load data from XML file to a ORACLE table?
# How do you parse/validate the XML document?
# How to add elements and attributes with XQuery in XML data?
# How to declare DTD?
# How to define functions in XQuery?
# How to perform comparisons in XQuery?
# How to perform conditional operations in XQuery?
# How to perform operation on node using XQuery function in XML?Explain with an example?
# How to use FLWOR expression given by XQuery in XML data?
# How to use XPointer?
# How would you produce PDF output using XSL’s?
# How you define atomic values?
# How you define syntax of XLink?
# How you define syntax of XPointer?
# How you define terms in XQuery?
# How you use XQuery FLWOR with HTML?
# List the rules to be followed by an XML document.
# Other than XML/XSLT, what are other web services.
# State and explain about XML encoding errors?
# State some advantages of XML
# State some disadvantages of XML?
# State some features of XQuery.
# WHich type of problems we can solved with XQuery?
# What XPointer schemes are supported in this release?
# What about xpointer resources?
# What are XML indexes and secondary XML indexes?
# What are the differences between SAX and DOM parsers?
# What are the steps to transform XML into HTML using XSL?
# What do you mean by selecting and Filtering elements in XQuery?
# What is DOM?
# What is DTD?
# What is XLink ?
# What is XML Namespace?
# What is XML Serialization and Binary Serialization?
# What is XML data binding?
# What is XML template?
# What is XML?
# What is XMLA ?
# What is XPointer?
# What is XQuery?
# What is XSL?
# What is XSLT?
# What is Xpath?
# What is a CDATA section in XML?
# What is a schema? What are the limitations of a DTD?
# What is an XML encoding error?
# What is server-side XPointer?
# What is the difference between SAX parser and DOM parser?
# What is the difference between Schema and DTD?
# What is the purpose of FOR XML in SQL Server?
# What is the use of Xlinks Modularization?
# What parser would you use for searching a huge XML file?
# When a XML file has a DTD declared which is not accessible to the parser, what would happen?
# When constructing an XML DTD
# Why doesn't use XLink?
# Why should I care if my document is in correct x link? It displays all right on my browser.
Basic xml interview question and answers
What Is XML?
XML stands for Extensible Markup Language, and it is used to describe documents and data in a standardized, text-based format that can be easily transported via standard Internet protocols. XML, like HTML, is based on, Standard Generalized Markup Language (SGML).
What are Well-formed XML documents?
XML, is very strict about a small core of format requirements that make the difference between a text document containing a bunch of tags and an actual XML document. XML documents that meet W3C XML document formatting recommendations are described as being well-formed XML documents. Well-formed XML documents can contain elements, attributes, and text.
What is an empty XML element?
Elements with no attributes or text are called as empty XML element. Empty XML elements can be represented in an XML document as shown below:
What is meant by XML document declaration?
Most XML documents start with an element at the top of the page. This is called an XML document declaration. An XML document declaration is an optional element that is useful to determine the version of XML and the encoding type of the source data. It is not a required element for an XML document to be well formed. Most common XML document declaration is shown below:
What does UTF stands for?
UTF stands for Universal Character Set Transformation Format.
Should every XML document have a root element?
Yes.
Can an XML document contain multiple root level elements?
No, an XML document can contain only one root level element.
What is the use of XML attributes?
XML attributes are used for adding more information and descriptions to the values of elements,and the text associated with elements.
Is XML case sensitive?
Yes
How do you comment lines in XML?
You can comment lines in XML as shown below.
What are XML namespaces?
Namespaces are a method for separating and identifying duplicate XML element names in an XML document. Namespaces can also be used as identifiers to describe data types and other information. Namespace declarations can be compared to defining a short variable name for a long variable (such as pi=3.14159....) in programming languages. In XML, the variable assignment is defined by an attribute declaration. The variable name is the attribute name, and the variable value is the attribute value. In order to identify namespace declarations versus other types of attribute declarations, a reserved xmlns: prefix is used when declaring a namespace name and value. The attribute name after the xmlns: prefix identifies the name for the defined namespace. The value of the attribute provides the unique identifier for the namespace. Once the namespace is declared, the namespace name can be used as a prefix in element names.
Why is it a good idea to use a URL as the XML namespace value?
Although the namespace declaration value does not need to be a URL or resolve to an actual URL destination, it is a good idea to use a URL anyway, and to choose a URL that could resolve to an actual destination, just in case developers want to add documentation for the namespace to the URL in the future.
When to use namespaces?
Namespaces are optional components of basic XML documents. However, namespace declarations are recommended if your XML documents have any current or future potential of being shared with other XML documents that may share the same element names. Also, newer XML-based technologies such as XML Schemas,SOAP, and WSDL make heavy use of XML namespaces to identify data encoding types and important elements of their structure.
XML stands for Extensible Markup Language, and it is used to describe documents and data in a standardized, text-based format that can be easily transported via standard Internet protocols. XML, like HTML, is based on, Standard Generalized Markup Language (SGML).
What are Well-formed XML documents?
XML, is very strict about a small core of format requirements that make the difference between a text document containing a bunch of tags and an actual XML document. XML documents that meet W3C XML document formatting recommendations are described as being well-formed XML documents. Well-formed XML documents can contain elements, attributes, and text.
What is an empty XML element?
Elements with no attributes or text are called as empty XML element. Empty XML elements can be represented in an XML document as shown below:
What is meant by XML document declaration?
Most XML documents start with an element at the top of the page. This is called an XML document declaration. An XML document declaration is an optional element that is useful to determine the version of XML and the encoding type of the source data. It is not a required element for an XML document to be well formed. Most common XML document declaration is shown below:
What does UTF stands for?
UTF stands for Universal Character Set Transformation Format.
Should every XML document have a root element?
Yes.
Can an XML document contain multiple root level elements?
No, an XML document can contain only one root level element.
What is the use of XML attributes?
XML attributes are used for adding more information and descriptions to the values of elements,and the text associated with elements.
Is XML case sensitive?
Yes
How do you comment lines in XML?
You can comment lines in XML as shown below.
What are XML namespaces?
Namespaces are a method for separating and identifying duplicate XML element names in an XML document. Namespaces can also be used as identifiers to describe data types and other information. Namespace declarations can be compared to defining a short variable name for a long variable (such as pi=3.14159....) in programming languages. In XML, the variable assignment is defined by an attribute declaration. The variable name is the attribute name, and the variable value is the attribute value. In order to identify namespace declarations versus other types of attribute declarations, a reserved xmlns: prefix is used when declaring a namespace name and value. The attribute name after the xmlns: prefix identifies the name for the defined namespace. The value of the attribute provides the unique identifier for the namespace. Once the namespace is declared, the namespace name can be used as a prefix in element names.
Why is it a good idea to use a URL as the XML namespace value?
Although the namespace declaration value does not need to be a URL or resolve to an actual URL destination, it is a good idea to use a URL anyway, and to choose a URL that could resolve to an actual destination, just in case developers want to add documentation for the namespace to the URL in the future.
When to use namespaces?
Namespaces are optional components of basic XML documents. However, namespace declarations are recommended if your XML documents have any current or future potential of being shared with other XML documents that may share the same element names. Also, newer XML-based technologies such as XML Schemas,SOAP, and WSDL make heavy use of XML namespaces to identify data encoding types and important elements of their structure.
XML Interview question and answers
What determines the validity of an XML document?
Document Type Definition(DTD) or an XML Schema determines the validity of an XML document.
What is a valid XML document?
XML documents are compared to rules that are specified in a DTD or schema. A well-formed XML document that meets all of the requirements of one or more specifications is called a valid XML Document.
What are the 2 types of XML parsers?
Nonvalidating Parsers - Parsers that don’t support validation
Validating Parsers - Parsers that support validation
Can you combine both Schema and DTD references in a single XML document?
Yes
Are DTD's well-formed XML documents?
No, DTDs are not well-formed XML documents. This is because they follow DTD syntax rules rather than XML document syntax.
Are XML schema's well-formed XML documents?
Yes.
What is the difference between an XML schema and a DTD?
The XML Schema is the officially sanctioned Schema definition. Unlike DTDs, the format of XML Schemas follows the rules of well-formed XML documents. The Schema also allows for much more granular control over the data that is being described. Because of the XML format and the detailed format controls, Schemas tend to be very complex and often much longer than the XML documents that they are describing. Schemas are often much more easy for developers to read and follow,due to the less cryptic nature of the references in Schemas versus DTDs.
How do you define references to schemas in an XML document?
References to schemas are defined by creating an instance of the XMLSchemainstance namespace. An example is shown below.
The namespace declaration reference to http://www.w3.org/2001/XMLSchemainstance resolves to an actual document at that location, which is a brief description of the way that the W3C Schema should be referenced. The noNamespaceSchemaLocation value tells us that there is no predefined namespace for the Schema. This means that all of the elements in the XML document should be validated against the schema specified. The location of the Schema is schemafile.xsd. Because there is no path defined, the file containing the schema should be located in the same directory as the XML file to be validated by the Schema.
You can also define the schema location, and map it to a specific namespace by using the schemaLocation attribute declaration instead of noNamespace SchemaLocation. If you do so, you have to declare a namespace that matches the schemaLocation attribute value. The declaration must be made before you reference the schema in a schemaLocation attribute assignment.
Document Type Definition(DTD) or an XML Schema determines the validity of an XML document.
What is a valid XML document?
XML documents are compared to rules that are specified in a DTD or schema. A well-formed XML document that meets all of the requirements of one or more specifications is called a valid XML Document.
What are the 2 types of XML parsers?
Nonvalidating Parsers - Parsers that don’t support validation
Validating Parsers - Parsers that support validation
Can you combine both Schema and DTD references in a single XML document?
Yes
Are DTD's well-formed XML documents?
No, DTDs are not well-formed XML documents. This is because they follow DTD syntax rules rather than XML document syntax.
Are XML schema's well-formed XML documents?
Yes.
What is the difference between an XML schema and a DTD?
The XML Schema is the officially sanctioned Schema definition. Unlike DTDs, the format of XML Schemas follows the rules of well-formed XML documents. The Schema also allows for much more granular control over the data that is being described. Because of the XML format and the detailed format controls, Schemas tend to be very complex and often much longer than the XML documents that they are describing. Schemas are often much more easy for developers to read and follow,due to the less cryptic nature of the references in Schemas versus DTDs.
How do you define references to schemas in an XML document?
References to schemas are defined by creating an instance of the XMLSchemainstance namespace. An example is shown below.
The namespace declaration reference to http://www.w3.org/2001/XMLSchemainstance resolves to an actual document at that location, which is a brief description of the way that the W3C Schema should be referenced. The noNamespaceSchemaLocation value tells us that there is no predefined namespace for the Schema. This means that all of the elements in the XML document should be validated against the schema specified. The location of the Schema is schemafile.xsd. Because there is no path defined, the file containing the schema should be located in the same directory as the XML file to be validated by the Schema.
You can also define the schema location, and map it to a specific namespace by using the schemaLocation attribute declaration instead of noNamespace SchemaLocation. If you do so, you have to declare a namespace that matches the schemaLocation attribute value. The declaration must be made before you reference the schema in a schemaLocation attribute assignment.
Subscribe to:
Posts (Atom)