You can transform the XML format of a USAData to conform to the schema you are using in the product’s Plan file. For example, you may want to add information to the USAData recipient list or change a column header’s name in the list to match your Plan.
The following is an example of a USAData XML:
<NewDataSet>
<RecipitentList>
<PrefixTTL />
<IndividualName>John Smith</IndividualName>
<firstname>John</firstname>
<middlename />
<lastname>Smith</lastname>
<address>279 East 44th St</address>
<Address2line></Address2line>
<city>New York</city>
<State>NY</State>
<zip>10017</zip>
<zip4>4349</zip4>
<DPBC>380</DPBC>
<PreDirectional>E</PreDirectional>
<Number>279</Number>
<street_name>44th St</street_name>
<CRRT>C045</CRRT>
<Lat>40.75131</Lat>
<long>-073.97170</long>
</RecipitentList>
<RecipitentList>
<PrefixTTL>Mrs</PrefixTTL>
<IndividualName>Mark Lord</IndividualName>
<firstname>Mark</firstname>
<middlename></middlename>
<lastname>Lord</lastname>
<address>150 East 49th St</address>
<Address2line>Apt 5B</Address2line>
<city>New York</city>
<State>NY</State>
<zip>10017</zip>
<zip4>1236</zip4>
<DPBC>522</DPBC>
<PreDirectional>E</PreDirectional>
<Number>150</Number>
<street_name>49th St</street_name>
<CRRT>C058</CRRT>
<Lat>40.75574</Lat>
<long>-073.97259</long>
</RecipitentList>
</NewDataSet>
The following is an example of the XSLT that you need to create in order to transform the USAData XML to match your Plan:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"/>
<xsl:template match="/">
<NewDataSet>
<xsl:for-each select="NewDataSet/RecipitentList">
<RecipientList>
<Category></Category>
<City><xsl:value-of select="city" /></City>
<FirstName><xsl:value-of select="FirstName" /></FirstName>
<Gender><xsl:value-of select="Gender" /></Gender>
<id><xsl:value-of select="IndividualName" /></id>
<LastName><xsl:value-of select="LastName" /></LastName>
<State><xsl:value-of select="State" /></State>
<Street><xsl:value-of select="address" /></Street>
<ZIP><xsl:value-of select="zip" /></ZIP>
</RecipientList>
</xsl:for-each>
</NewDataSet>
</xsl:template>
</xsl:stylesheet>
When using USAData in Cross-Media products, in order to be able to view proof of the web site, sample data should be entered using the recipient list transformation, for example:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml"/>
<xsl:template match="/">
<NewDataSet>
<xsl:for-each select="NewDataSet/RecipitentList">
<RecipientList>
<Category></Category>
<City>
<xsl:value-of select="city" />
<xsl:if test=”not(city)”>New York</xsl:if>
</City>
<FirstName>
<xsl:value-of select="FirstName" />
<xsl:if test="not(firstname)">John</xsl:if>
</FirstName>
<Gender>
<xsl:value-of select="Gender" />
<xsl:if test=”not(Gender)”>Male</xsl:if>
</Gender>
<id>
<xsl:value-of select="IndividualName" />
<xsl:if test=”not(IndividualName)”>John.Doe</xsl:if>
</id>
<LastName>
<xsl:value-of select="LastName" />
<xsl:if test=”not(LastName)”>Doe</xsl:if>
</LastName>
<State>
<xsl:value-of select="State" />
<xsl:if test=”not(State)”>NY</xsl:if>
</State>
<Street>
<xsl:value-of select="address" />
<xsl:if test=”not(address)”>My street name</xsl:if>
</Street>
<ZIP>
<xsl:value-of select="zip" />
<xsl:if test=”not(zip)”>10000</xsl:if>
</ZIP>
</RecipientList>
</xsl:for-each>
</NewDataSet>
</xsl:template>
</xsl:stylesheet>
To transform a recipient list’s XML:
1. In the Presets view, click System Setup.
1. In the System Setup list,
click Recipient
List Transformation.
A list of all recipient lists (including USAData) currently defined in
the uStore system is displayed.
2. Click the Edit
button next to the recipient list whose XML you want to transform.
The Recipient
List Transformation page for the selected Recipient List is displayed.
3. Fill in the following fields:
– ID: N.A.
– Product ID: Product ID in which the USAData Recipient List is used.
– Transformation: Enter the XSL that will be used for transforming the USAData XML. See the sample code above.
4. Click Save.