Subject:XML Mappin Author:Ray Valle Date:26 Aug 2009 11:45 PM Originally Posted: 26 Aug 2009 07:47 PM
I have an xml file that I need to have elements mapped to a code list. The code list is supplied as a separate XML file. The results will be inserted into a MySql database.
I am trying to determine the best method for doing this. I am using Stylus studio Enterprise edition. Can someone guide me in the direction I should go in getting this accomplished? I have attached the xml file as well as the ONIX for Books Code List.
The format is as follows:
The top-level tag is <ONIXCodeTable>.
The document contains a sequence of composite elements<CodeList>, each of which contains the data elements <CodeListNumber>, <CodeListDescription>and <IssueNumber>, and a sequence of composite elements <Code>.
Each composite element <Code>contains the data elements <CodeNumber>, <CodeValue>, <CodeDescription>, <CodeNotes> and <IssueNumber>.
Here is a sample:
<?xml version="1.0" encoding="utf-8"?>
<ONIXCodeTable>
<CodeList>
<CodeListNumber>1</CodeListNumber>
<CodeListDescription>Notification or update type code</CodeListDescription>
<IssueNumber>0</IssueNumber>
<Code>
<CodeNumber>1</CodeNumber>
<CodeValue>01</CodeValue>
<CodeDescription>Early notification</CodeDescription>
<CodeNotes>Use for a complete record issued earlier than approximately six months before publication.</CodeNotes>
<IssueNumber>0</IssueNumber>
</Code>
...
For instance, in the sample below the composit <ProductIdentifier> has a child element <ProductIDType> with value 2. This value correlates to IBSN and is found in code list 5. as such:
<CodeList>
<CodeListNumber>5</CodeListNumber>
<CodeListDescription>Product identifier type code</CodeListDescription>
<IssueNumber>0</IssueNumber>
.......
.......
<Code>
<CodeValue>02</CodeValue>
<CodeDescription>ISBN-10</CodeDescription>
<CodeNotes>International Standard Book Number, pre-2007, unhyphenated (10 characters)</CodeNotes>
<IssueNumber>0</IssueNumber>
</Code>
Then there is a another iteration of the same element with value 03. This value correlates to IBSN13 and so on. How would the lookup table need to be formatted to handle the translation?
Hi Ray,
it's not clear to me why that specific '02' ProductIDType must be mapped with the codelist 5; anyhow, assuming that the connection is hardcoded, you can retrieve the description by writing