Distinguished Fields in Disassembler Pipeline Components

Distinguished fields defined in a schema are written to the message context by the XML Disassembler, BizTalk Framework Disassembler, or Flat File Disassembler pipeline components in the following format:

name used is the distinguished field in XPath

namespace URI is http://schemas.microsoft.com/BizTalk/2003/btsDistinguishedFields

The value of the property is the System.String value extracted from the XML document using specified XPath.

The following example schema has a distinguished field Price.

<?xml version="1.0" encoding="utf-16" ?>   
<xs:schema xmlns="http://SendHtmlMessage.PO" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://SendHtmlMessage.PO xmlns:xs="http://www.w3.org/2001/XMLSchema">  
   <xs:element name="PO">  
      <xs:annotation>  
         <xs:appinfo>  
            <b:properties>  
               <b:property distinguished="true" xpath="/*[local-name()='PO' and namespace-uri()='http://SendHtmlMessage.PO']/*[local-  
               name()='Price' and namespace-uri()='']" />   
            </b:properties>  
         </xs:appinfo>  
      </xs:annotation>  
      <xs:complexType>  
         <xs:sequence>  
            <xs:element name="Item" type="xs:string" />   
            <xs:element name="Price" type="xs:string" />   
         </xs:sequence>  
      </xs:complexType>  
   </xs:element>  
</xs:schema>  

For the document instance

<PO>  
            <Item>Bolt</Item>  
            <Price>10</Price>  
<PO>  

the XML Disassembler writes a distinguished field on a message context as follows:

Name of the property on the context: "/*[local-name()='PO' and namespace-uri()='http://SendHtmlMessage.PO']/\*[local-name()='Price' and namespace-uri()='']"

Namespace of the property: http://schemas.microsoft.com/BizTalk/2003/btsDistinguishedFields

Value of the property: 10

Note

If the size of any XML document element values exceeds 85KB, a degradation in the performance of processing those documents may occur.

See Also

Flat File Disassembler Pipeline Component
How to Configure the Flat File Disassembler Pipeline Component