| Content reuse with XML: new efficiencies in complex content publishing | Table of contents | Indexes | Modeling Relational Data in XML | |||
| Brown, Tonua DMSi North Andover USA ![]() | Tonua G. Brown |
| Program Manager |
| DMSi |
| 48 Beechwood Drive
North Andover
(Massachusetts)
USA
(01845-1023)
Email: tonua.brown@dmsi-world.com |
| Biography |
What is profiling? |
| profiling | The dictionary definition of profile includes "a biographical essay presenting the subject's most noteworthy characteristics and achievements." This very closely describes the way we use profiles in business and, especially, e-commerce. Businesses assign profiles to customers that describe their needs, requirements, and interests. These profiles are then used to target the audience of particular products. |
e-commerce ![]() | When you visit an e-commerce web site, like a music site that sells CDs, you provide them with your profile information when you register for the site. At the time you register, you tell them what kind of music you like, such as rock, country, jazz, or classical. Each time you make a purchase, your profile may be updated with the specific artists that you are purchasing. Some sites even have the ability to track your clicks through the web site to determine your interests. All of this information is combined to create your personal profile. Your profile is then used to target certain products at you. If you show an interest in certain types of music or even certain artists, you may start seeing advertisements when you visit the site that offer special deals on those artists' recordings. |
How are profiles assigned to data? |
Profiling for groups |
Profiling for individuals |
Profiling for characteristics |
Profiling for output type |
Profiling for products |
How are profile classes related? |
Inherit relationships vs. exclude relationships |
Publishing with profiles |
publishing ![]() | When you are ready to publish your document, you are most likely going to publish against an information profile that contains several profile classes and possibly multiple values for each class. When determining what data is included in the output document, values within the same class will have an OR relationship. In other words, using the operating system class example, if your published document profile includes both Windows and Unix, an object will be included in the output document if it is profiled for either Windows OR Unix. Values for different profile classes will have an AND relationship. In other words, if your published document profile includes Sun and novice, then any information that is profiled for Sun and expert would be excluded from the published document. Objects that do not have any profile assigned to them are assumed to inherit all profiles. In other words, objects without an assigned profile are always included. |
Information profile classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| In this example, we are creating a document that contains three profile classes that we can assign to our data. The following table shows the profile classes and each of their values. |
|
Profile assignment | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Throughout our document we have assigned profiles to objects. The objects and their assigned profiles are shown in the table below. |
|
Published output | ||||||
Profiles applied in user environment |
| In the previous example, we showed a document that had been published for both Unix and Windows. If you are publishing your information to paper, it may be more appropriate to create separate documents for Windows and Unix. However, if you are publishing to a web site, for instance, it may be more appropriate to include both types of data in the same document. Then, when the user accesses the document on the web site, they can choose the information that is appropriate for them. |
| If you wish to make your information publicly available on a web site and do not know who will be accessing your site, it may be appropriate to allow users to select the profile that best meets their needs. All of the information that you wish to be publicly available would be contained in your document (or documents). When customers access your site, they could select options that best describe their needs. This would create profiles that would then be applied to the documents they access. However, if your information is placed on a secured site, you could associate profiles with customer logon IDs. This would allow customers to automatically be fed the documents that match their customer profile. The profile would be applied at the time of access, but the customer would only see a document that is customized against his or her customer profile. |
Publishing Methods |
| There are several methods for publishing profiled information. Your delivery method may dictate or influence your publishing method, as well. For instance, if you are publishing to paper, you must assemble your document prior to publishing. Once printed to the paper, it cannot be profiled further. However, if you are publishing to an extranet, you may want to allow dynamic document assembly based on the user profile associated with the logon ID of your customer. |
| Your publishing method may also depend on your methods for authoring and storing your information. Do you author and store whole documents? Do you author and store chapters, sections, or modules? Or do you store every element separately? If you are storing whole documents, your publish method will need to strip away the information that does not match the publish profile. If you are storing every element separately, your publish method will need to assemble the objects that match the publish profile and ignore those that do not. If you are storing your document objects in some chunk smaller than a whole document and larger than an individual element, then your publish method will need to include a combination of both stripping and assembly. You will first need to assemble all of the document objects that match the profile and then strip away the elements they contain that do not match the publish profile. |
| As soon as we begin discussion about assembling objects to create a document, the question is raised about whether it is more appropriate to store the profile information on the document objects or as meta-data in the document management system. This argument favors storing the information directly on the document objects rather than meta-data in the document management system. The reason for that is if you ever decide to change your document management system, you lose the meta-data. XML is application independent. Ideally, you should be able to switch applications in the middle of a project without affecting the data. Profiling information is part of the data. If you rely on your document management system to maintain the profile information, your data is no longer application independent. If you want to allow your document management system to do the assembly and it must reside in the meta-data in order to accomplish this, then it is recommended that you store the profile information on the document objects as well. Ideally, your document management system should be able to populate its own profile meta-data information based on the content of your profiling attributes. |
Summary |
| In summary, profiling is a method for tracking the intended audience of your information. Profile classes define profiles categories. Each value in a class matches a specific profile for that category. Profiles can be combined to deliver highly customized information to your customers. Depending on your processes and delivery methods, you can choose to apply an information profile at the time you publish and deliver pre-assembled, tailored documents to your customers, or you can dynamically assemble the information when the customer accesses it by applying a profile that is associated with the customer's logon ID. Therefore, information profiles can be matched to customer profiles to provide your customers with information that best suits their needs. |
| Content reuse with XML: new efficiencies in complex content publishing | Table of contents | Indexes | Modeling Relational Data in XML | |||