Schemas

What is the difference between a Document Schema and a Property Schema?
A document schema is like any regular schema, whereas a Property schema consists of only child elements under a root node.

What is the difference between complex type and simple type?
Simple element types will not contain other elements, they only contain data. Complex types define the organization of elements that contain other elements

What is the difference between xsd:include and xsd:import?
The import element allows you to use schema components from any schema;
The include element allows you to add all the components of an included schema to the containing schema.


Use xsd:include to bring in an XSD from the same or no namespace.
Use xsd:import to bring in an XSD from a different namespace.

Can an Envelope schema consist of more than one schema type?
Yes. Technically it is possible.

Can a flat file message be processing without a pipeline?
A Pipeline's job is to convert any external format into XML, be it a flat file or EDI or anything else.

Can multiple messages be processed or batched without an envelope schema?
It is possible to process multiple messages, without an envelope.

What is property promotion, why is it required?
When a property is Promoted, it is exposed to the orchestration/send port filters etc.

In which scenarios would use a "promoted property" vs "distinguished fields"?
The rule here is, if you dont want the schema element to appear in send port filters/debugging information then make it a distinguished field.

In Biztalk, what does a message type consist of?
A message type consists of the TargetNamespace #RootElement name.

What are un-typed messages, how does one create them?
A message created in BizTalk Orchestration is bound to a schema, this is a typed message. In un-typed messages, the message is bound to System.Xml.XmlDocument instead of a schema.

What is the purpose of a document schema?
Schema is basically a contract of your message and defines it. The XML Schema definition (XSD) language defines the structure of an XML instance message, and this is the intended purpose of XSD, such schemas use XSD in a straightforward way. 

Schema is a term borrowed from the database world to describe the structure of data in relational tables. In the context of XML, a schema describes a model for a whole class of documents. 

What is the purpose of a property schema?
Property schema is a special type of schema, not created to describe messages. Instead it describes context properties. It consists of only child node under a root node.

What is the purpose of an envelope schema?
An envelope schema is a special type of XML schema. Envelope schemas are used to define the structure of XML envelopes, which are used to wrap one or more XML business documents into a single XML instance message. When you define an XML schema to be an envelope schema, a couple of additional property settings are required, depending on such factors as whether there are more than one root record defined in the envelope schema. 

What is the purpose of a Flat File schema?
A flat file schema defines the structure of a class of instance messages that use a flat file format, either delimited or positional or some combination thereof. Because the native semantic capabilities of XSD do not accommodate all of the requirements for defining the structure of flat file instance messages—such as the various types of delimiters that might be used for different records and fields within the flat file. BizTalk Server uses the annotation capabilities of XSD to store this extra information within an XSD schema. BizTalk Server defines a rich set of specific annotation tags that can be used to store all of the required additional information. 

What is the target namespace to schema?
Target Namespace is to schema what a namespace is to .Net Object and root node as a class name.

Is it possible to create a custom data type and use it in a schema?
Yes, it's possible to create custom data type and it can be used across the schema. 

Can schema have two nodes with the same name and different datatypes?
Yes, as long as they are not in the same scope. 

Can schema have multiple root nodes?
Yes, a schema (XSD) can have multiple root nodes. In case you have a schema with multiple root nodes you will end up with multiple message types declared in BizTalk, one for every root node. So when you want to create a message you will need to specify exactly which message type you are going to use! 

Is it possible to include and import in a single schema?
Yes, it is possible, both are the ways to utilize already existing schema. The only condition is the schema which is included should have same TargetNamespace or no namespace.

By default, what is the data type of elements in a schema?
xs:string 

What is the difference between Group Max occurs, Group Min Occurs and Max occurs, Min Occurs?
These are all node properties. 
Group Max Occurs: Specifies the maximum number of times that to the underlying group content of the selected All Group node can occur.
Group Min Occurs: Specifies the minimum number of times that the underlying group content of the selected All Group node can occur.
Max Occurs: Specifies the maximum number of times that the element corresponding to the selected Record node can occur.
Min Occurs:  Specifies the minimum number of times that the element corresponding to the selected Record node can occur.

What is BlockDefault property used for?
Use the BlockDefault property to prevent or restrict the types of derivations that can be used in instance messages for all data types defined by the schema being edited. 

What is canonical schema?
A canonical schema is a design pattern, which is applied within service oriented paradigm, and within BizTalk server context establish loose coupling between systems. Through performing transformation of messages from one system to canonical schema and from canonical schema to message of another system, systems have no direct relation with each other. Canonical schema can also be viewed as an internal schema in BizTalk and aid you in structuring your solution through best practice of creating separate projects for maps, orchestrations, internal and external schemas. Another advantage of using a canonical schema is that it reduces the number of transformations you need. If you need a to map a few types of inbound message coming from different parties to a few outbound messages, you can create a map to your canonical schema for each inbound schema and then a map from your canonical schema to each outbound schema. If for example you have three types of incoming that needs to be mapped to three types of outgoing messages you will only need to build and maintain six maps instead of nine. 

What is correlation property schema?
Correlation types define a set of properties on which you will be correlating messages. These can be any properties which were previously defined in a property schema (see question 2) and deployed with some BizTalk Project including "system" properties deployed with the GlobalPropertySchemas which is installed as part of the base BizTalk install. A correlation set defines a set of properties and values for these properties that a message must contain to be processed by a particular orchestration. 

Difference between Flat File Schema and XML schema?
A flat file schema defines the structure of a class of instance messages that use a flat file format, either delimited or positional or some combination thereof. Because the native semantic capabilities of XSD do not accommodate all of the requirements for defining the structure of flat file instance messages—such as the various types of delimiters that might be used for different records and fields within the flat file—BizTalk Server uses the annotation capabilities of XSD to store this extra information within an XSD schema. BizTalk Server defines a rich set of specific annotation tags that can be used to store all of the required additional information. 

An XML Schema is basically a contract of your message and defines it. The XML Schema definition (XSD) language defines the structure of an XML instance message, and this is the intended purpose of XSD, such schemas use XSD in a straightforward way. 

Can we have schema without target namespace? What will be its MessageType?
Yes, we can have schema without target namespace and it's message type will be the Root node.

Which property is only available for Flat file schema?
Custom Date/time property is only available for flat file schema.

What is Message?
Each message in BizTalk Server is considered a multi-part message and is made up of zero or more parts. Each message with one or more parts has one of these parts identified as the body part. Each part consists of a binary chunk of data which can represent an XML document, a flat file, a serialized .NET class, or other binary stream of data. You use the body part of the message to identify the type of the message that can be used for routing. 

What is difference between BizTalk (Schema) Editor and BizTalk Schema Generator?
BizTalk Editor resides within the Microsoft Visual Studio shell. Some of the functionality within BizTalk Editor relies upon existing user interface elements within the Visual Studio shell. 

BizTalk can automatically create schema from DTD , well formed XML , XDR . To do this schema generator is used.

How is schema generator invoked?
Right click the project in Solution Explorer and select Add Generated Items --> Generate Schemas.

What is InstallWFX.vbs script?
It is a script which when run installs the BizTalk Schema Generator. It is used when generating schema from existing items . Its likely to get error first time or after updates "WFX to XSD Schema generation module is not installed". Then this script can be used to install the schema generator.

Can "EDI" be a part of Namespace?
It can be but it should be avoided in the projects that uses BizTalk EDI engine as during run time there can be conflicts with this and expected results might not be seen.

Is it possible to promote XML record of ComplexContent ?
No. To promote XML record its ContentType property should be set SimpleContent.

What is the maximum length allowed for promoted properties?
255 characters

What is the maximum length allowed for Distinguished fields?
It can be of any length, no limits.

How to create an XPath alias  to a field which can be used to in decision making in Orchestration?
Distinguished field  is a XPath alias to the field.To create it , right click the element-->Promote-->Show promotion-->Add

What is <Any> element? 
An <Any> element in a schema designates a specific location in the schema where new elements or attributes can be added. When BizTalk uses the schema to process a message containing unknown elements or attributes in the designated location, the schema will still consider the message valid.

What is the Root Node? 
It's a node within a BizTalk Server schema that represents the outermost XML element in the business document specified by the schema.

How BizTalk engine identify a unique schema?
BizTalk uses a combination of namespace#rootnode to define the schema type of a message, thereby making a MessageType unique (for example: http://mynamespace.com#MyRootNode). In other words, BizTalk uses this combination to identify and resolve schemas references.

How BizTalk engine perform a validation of an instance of the message against the Schema?
By default, BizTalk Server will examine only the namespace and the root node name of a message to identify and validate the schema, and will not detect extra elements in message body. To perform a deep validation of a message format, you have to create a Custom Pipeline with the XML Disassembler component.

What is difference between XSD and DTD?
XSD are written in XML
XSD  support data types
XSD  support namespaces
XSD are extensible to future additions
XSD are richer and more powerful than DTDs

No comments:

Post a Comment