Friday, August 23, 2013

Interview questions on XSLT - BizTalk

This post intends to cover the  XSLT related questions, which a BizTalk developer can face during an interview.

Questions and answers:

1.     What is XSLT?
XSLT or Extensible Stylesheet Language Transformations is a style sheet language for XML documents (stands for XSL Transformations), it defines the transformation rules of the messages.
2.     Where does XSLT come into the picture in BizTalk?
When a developer faces a complex mapping (problem) and to solve it requires a substantial amount of logic he/she can use custom XSLT. See TechNet Wiki article 
BizTalk Virtual Mapper VS Custom-XSLT
3.     What is Muenchian method?
The Muenchian Method is an algorithm for grouping of data used in XSL Transformations that identifies keys in the results and then queries all nodes with that key. It can be applied with custom XSLT within a BizTalk Map. See MSDN Blog Muenchian Grouping and Sorting in BizTalk Maps Jump .
4.     Which version of XSLT is supported by the BizTalk mapper?
BizTalk Mapper supports XSLT 1.0. Using XSLT 2.0 in BizTalk Mapper is not supported (See MSDN Creating Maps Using BizTalk Mapper Jump ).
5.     Can I use Custom XSLT inside a BizTalk mapper?
Yes, by making use of the scripting functoid.
6.     Is it possible to exclude xml declaration <?xml...?> in the ouptut file?
Yes. To exclude xml declaration, the attribute "omit-xml-declaration" is to be set as "yes.
7.     Can the filter be applied to the output from the xml file?
Yes. It can be done by adding a criterion to the select attribute in the <xsl:for-each> element.Filter operators which can be used are:
o    =(equal)
o    != (not equal)
o    &lt; less than
o    &gt; greater than

8.     How to traverse through the repeating node the input file?
 The XSL <xsl:for-each> element can be used to select every XML element of a specified node-set.
        9.  Is it possible to have custom functions?
             Yes, it can be done in script blocks which can be done using <msxsl:script> element.

      10. Is it possible to use the method from an assembly available in GAC?
            It can be done using <msxsl:assembly> element and it has to be child of <msxsl:script>element.



No comments:

Post a Comment