XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Ray ValleSubject: 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?

<ProductIdentifier>
<ProductIDType>02</ProductIDType>
<IDValue>0849955432</IDValue>
</ProductIdentifier>
<ProductIdentifier>
<ProductIDType>03</ProductIDType>
<IDValue>9780849955433</IDValue>
</ProductIdentifier>
<ProductIdentifier>
<ProductIDType>04</ProductIDType
<IDValue></IDValue>
</ProductIdentifier>
<ProductIdentifier>
<ProductIDType>15</ProductIDType>
<IDValue>9780849955433</IDValue>
</ProductIdentifier>


Thank you in advance.


UnknownN0120.xml
Source Document

UnknownONIX_BookProduct_CodeLists_Issue_10.xml
ONIX Code List

Posttop
Alberto MassariSubject: XML Mappin
Author: Alberto Massari
Date: 02 Sep 2009 12:12 PM
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

<xsl:value-of select="document('ONIX_BookProduct_CodeLists_Issue_10.xml')/ONIXCodeTable/CodeList[CodeListNumber='5']/Code[CodeValue=current()]/CodeDescription"/>

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.