BizTalk Map Documenter for 2010

Posted: August 31, 2011  |  Categories: BizTalk Uncategorized

I recently had to document a map quickly and decided to try the BizTalk Map Documenter v2.1

The first error I got was “Extension function parameters or return values which have CLR type ‘ConcatString’ are not supported.”. Looking at the comments on the download site I discovered that you have to modify  the parseLinkPath() and getHtmlSpaces() javascript functions within the XSLT to concatenate an empty string to the return value so that the runtime knew to cast it as a string.

After fixing this I got some output but it did not contain content for Constant functoids or links into functoids. John Glisson has been there before and after making the changes that he recommended I got some output for functoids.

I still was not satisfied because the functoid names where missing from the output. I think that the reason why this is happening is because the attribute Functoid_Name is not created in the map files created by BizTalk 2010. I changed the XSLT to look at the Functoid-FID instead and then choose a hard coded value to display. i.e.

<span class=”functoidName”>
            <!–<xsl:value-of select=”$functoidNode/@Functoid-Name” />–>
      <!–Added by Mahindra 2011/08/31–>
      <xsl:choose>
        <xsl:when test=”$functoidNode/@Functoid-FID = 107″>String Concatenate</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 125″>Date and Time</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 127″>ASCII to Character</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 260″>Scripting</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 315″>Equal</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 321″>Logical And</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 375″>Value Mapping</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 424″>Looping</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 474″>Iteration</xsl:when>
        <xsl:when test=”$functoidNode/@Functoid-FID = 705″>Logical Not</xsl:when>
        <xsl:otherwise>
          <xsl:value-of select=”$functoidNode/@Functoid-FID” />
        </xsl:otherwise>
      </xsl:choose>
     
    </span>

I only added the functoids that i needed to document.

Now i was satisfied. This sure beats documenting the maps by hand.

  • Added all of the functoids in case anyone else needs:

    Scripting
    Record Count
    Index
    Value Mapping (Flattening)
    Value Mapping
    Nil Value
    Looping
    Iteration
    Table Looping
    Table Extractor
    Assert
    Mass Copy

    Character to ASCII
    ASCII to Character
    Hexadecimal
    Octal

    Cumulative Sum
    Cumulative Average
    Cumulative Minimum
    Cumulative Maximum
    Cumulative Concatenate

    Database Lookup
    Value Extractor
    Error Return
    Format Message
    Get Application ID
    Get Application Value
    Get Common ID
    Get Common Value
    Set Common ID
    Remove Application ID

    Add Days
    Date
    Time
    Date and Time

    Greater Than
    Greater Than or Equal To
    Less Than
    Less Than or Equal To
    Equal
    Not Equal
    Logical String
    Logical Date
    Logical Numeric
    Logical OR
    Logical AND
    Logical Existence
    Logical NOT
    IsNil

    Absolute Value
    Integer
    Maximum Value
    Minimum Value
    Modulo
    Round
    Square Root
    Addition
    Subtraction
    Multiplication
    Division

    Arc Tangent
    Cosine
    Sine
    Tangent
    Natural Exponential Function
    Natural Logarithm
    10^n
    Common Logarithm
    X^Y
    Base-Specified Logarithm

    String Find
    String Left
    Lowercase
    String Right
    Size
    String Extract
    String Concatenate
    String Left Trim
    String Right Trim
    Uppercase

    • mbrimble

      Can you send me all the other functoids? I have not got around to adding them all to my version yet?

  • Interesting that it did not come out right.

  • I would need the functoids for documentation. Kindly post them as well or better publish another complete xslt for the same.

One Platform Operations, Monitoring and Analytics Software
BizTalk360

microsoft biztalk

Learn more

Over 500 customers across 30+ countries depend on BizTalk360

ServiceBus360

Azure service bus

Learn more

Start managing your Azure Service Bus namespaces in minutes

One Platform - Operations, Monitoring and Analytics Software
BizTalk360

microsoft biztalk

Learn more

Over 500 customers across 30+ countries depend on BizTalk360

One Platform - Operations, Monitoring and Analytics Software
ServiceBus360

Azure service bus

Learn more

Start managing your Azure Service Bus namespaces in minutes

Back to Top