Home > Articles > Web Services > XML

This chapter is from the book

InfoPath 2003

To provide reasonable context for discussing new InfoPath features, let's look at the different versions of the product and what each brings to the table. Version 1, officially released as InfoPath 2003 on August 19, 2003, is Microsoft's inception into the XML forms and data collection markets. As such, it bundles competitive features to allow for a rich form experience. This section recaps the highlights of InfoPath 2003.

The InfoPath design mode is all about creating nice-looking forms that include basic functionality. The design surface, or view, is similar to that of Microsoft Word. The content of the view flows from left to right, top to bottom, and serves as the presentation layer for the form's data. Absolute positioning, such as what PowerPoint offers, would make InfoPath form design cumbersome when accommodating different resolutions and monitor sizes. Therefore, layout tables are used instead as the positioning paradigm of choice—equivalent to that of many professional Web sites. Tables offer a familiar and flexible option when demanding pixel-by-pixel, picture-perfect parity.

For those of us with a less than acute sense for visual design, color schemes spice up even the most boring forms. A single click on the Bright Blue color scheme adds a subtle blue color theme to parts of your form template's controls and layout tables. If you don't care for the effects of Bright Blue, you can choose another scheme at your convenience at any time. Color schemes more dramatically affect Repeating Table controls more than other controls. The header and footer backgrounds, text, and table borders comply with the current theme.

InfoPath 2003 introduced a general set of controls for inclusion in forms. Figure 1.1 shows the Controls task pane. As you would expect, the InfoPath design mode includes controls such as Text Box, List Box, Drop-Down List Box, Check Box, Bulleted List, Numbered List, Plain List, Option Button, and Button. The Section, Optional Section, Repeating Section, and Repeating Table controls support InfoPath's structural editing features. These editing features allow the end user, while filling out the form, to modify the structure of the XML data as the XML Schema allows. Structural editing is what makes InfoPath such an attractive offering compared with its alternatives. The Hyperlink, Expression Box, Picture, and Rich Text Box controls round out the controls available in InfoPath 2003.

Figure 1.1

Figure 1.1 Controls task pane in InfoPath 2003

We mentioned earlier that the data and the presentation layers are two disparate concepts. We've already discussed the presentation layer, but we haven't yet focused on the data. When we refer to "data," we really mean "data and structure." XML consists of hierarchical elements that may or may not contain text content. The definition for the XML structure is bounded by the rules of the XML Schema. (We will talk more about XML Schema in Chapter 4.) InfoPath abstracts away the XML Schema details through the Data Source task pane (DSP; see Figure 1.2). The DSP is a design-mode feature that shows what the XML Schema allows. If you don't have an XML Schema lying around, there's no need to worry. InfoPath automatically builds the XML Schema as you insert new controls onto the designer view. Inserting a control into the form may create either a field or a group in the DSP. This process populates the DSP based on which controls are selected. The newly inserted controls are bound to the newly created data source. The word binding describes the connection between what the user sees and what data is stored behind the scenes. We'll talk more about binding in Chapter 4.

Figure 1.2

Figure 1.2 Data Source task pane in InfoPath 2003

Binding sounds easy, right? It is—for most situations. But due to the flexibility of hooking up any data source to any controls, getting into odd binding dilemmas is inevitable. Design-time visuals are icons displayed on your form controls as you design your form template. These visuals serve as handy reminders to a designer that the form may be broken. We will discuss this versatile feature in more detail in Chapter 4.

Besides the visual zest, let's look at the different ways to pull external data into an InfoPath 2003 form. Secondary data sources are used to connect to databases, SharePoint libraries or lists, and Web services. Say your car registration form template has a Drop-Down List Box control containing all 50 states in the United States. When creating your form template, you could enter each state manually when creating the list items for the control, but it's probably easier to point the Drop-Down List Box control to an existing database. SharePoint servers are somewhat ubiquitous in high-tech small business. Pulling a real-time list of manager names or part numbers into your form allows it to always be up to date with no intervention on your behalf.

Web services have created a growing sensation throughout the Internet community for the last several years. Any popular search engine will yield innumerable results when you query for Web services. Ironically, many search engines also expose a Web service for you to do the searching. InfoPath supports connecting to these Web services without you, as the form designer, writing a single line of code. All you need to know is where the Web service resides. So forget about details like the Web Service Definition Language (WSDL), input parameters, and output parameters that you would need to understand if using other form tools. However, if you wish to deal with those aspects of the Web service using InfoPath 2003, you can access them by writing script code against the InfoPath OM.

The InfoPath OM in version 2003 is designed as a programmatic extension to many features provided in the InfoPath UI and some features that are not. The OM is not a superset but rather a supplement to the functionality available from the UI. To access the OM in InfoPath 2003, you could choose to write either JScript or VBScript in the Microsoft Script Editor (MSE). MSE is the Microsoft Office–bundled development environment of choice for scripting languages. InfoPath even has an extensive help system built into MSE that provides on-demand, context-sensitive help while scripting InfoPath objects.

So let's say that we've made the final touches on our new InfoPath form template by adding some JScript code using MSE. We're all ready to roll the form template out to our team. It's time to publish our form template. Publishing is a short process to deploy the form template to a location accessible by users. A few steps through a wizard is all it takes to properly put your template on a network file share, SharePoint site, Web server, or other shared location.

We've exhausted our brief talk of the InfoPath design mode for now. Let's peek at some of the important features you can find while filling out a form. As mentioned earlier, the UI is instantly familiar. You can expect the standard Microsoft Office set of features, such as cut, copy, and paste; a dizzying array of font formatting options; spell checking; find and replace; and clip art (to name a few).

What's so special about InfoPath? It sounds a lot like Word in many ways. However, InfoPath has two key advantages: An InfoPath form uses XML data, and InfoPath offers data validation, which is not found in Word. If you are an application developer, you will appreciate the tight integration between XML data type validation and the InfoPath UI. You can think of data validation as a way to guide your users to format their input as you determine. For example, if you want a phone number, you could easily use a text box that accepts any text the user types. But with data validation, you can disallow a phone number if it's not ten digits or has non-numeric characters. InfoPath's validation model is also extensible by using the InfoPath OM and writing custom form code.

A popular way to make your form template more interactive is to use conditional formatting. Take an expense report form that adds up prices from a list of items purchased during a business trip. You can design the form template so that if the sum of expenses is more than $1,000, the text for the total value will change from a calm black to an attention-getting bold red. Conditional formatting can be used throughout your form template to not only change fonts but to show and hide regions of your form as well.

It's great to have your users happily filling out your forms. But how do you make sense of the data saved in XML files? InfoPath has convenient, built-in reporting features to bring together data for you and your users. The first of these reporting functions is form merge. When a user selects multiple saved forms, InfoPath aggregates the data from each saved form into a single new one. A common use for this feature is rolling up status reports for the boss. InfoPath also exposes custom form merging for advanced developers by allowing them to write their own custom XSLT. InfoPath 2007 made some great improvements to this customization experience by supporting custom merge actions in design mode. Another way to report InfoPath form data is to export it to Excel. Sometimes InfoPath may not be the best environment to do complex spreadsheet functions like pivot tables. Exporting the data to Excel is a simple click away, and you can customize the process by exporting specific parts of the data. Once data is exported to Excel, you can create pivot tables and charts to help you analyze the data. Since InfoPath is a powerful data-gathering tool, reporting options such as form merging and export to Excel help round out the story for bringing data together in a useful way.

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020