Hi all –

 

I have a question I’d like to have anyone take a stab at answering.  I have an matching HTML Form mapped to a MODS XSD.  In that form, I have some elements that are repeating, for example, I have a <name><namepart> element that repeats for creator, contributor and institutional contributor.  That is to say I have 3 repeating form text areas that provide repeating MODS XML elements that produce  (the mods: namespace is intentionally suppressed):

 

...

<name><namepart type=”creator”>creator 1</namepart></name>
<name><namepart type=”creator”>creator 2</namepart></name>

 

<!— contributor -->

<name><namepart type=”contributor”>contributor 1</namepart></name>
<name><namepart type=”contributor”>contributor 2</namepart></name>

<name><namepart type=”contributor”>contributor 3</namepart></name>

<!— institutional contributor -->

<name><namepart type=”corporate”>institutional contributor 1</namepart></name>

<name><namepart type=”corporate”>institutional contributor 2</namepart></name>

...

 

My problems begin when I try to create a mapping for my “MODS DC” XSD.  In it, I want to map the two contributors, <name><namepart type=”contributor”> and <name><namepart type=”corporate”> to dc:contributor.  In other words, I want the resulting DC datastream to look like :

 

...

<dc:contributor>contributor 1</dc:contributor>
<dc:contributor>contributor 2</dc:contributor>
<dc:contributor>contributor 3</dc:contributor>
<dc:contributor>institutional contributor 1</dc:contributor>
<dc:contributor>institutional contributor 2</dc:contributor>

...

 

I have created in my “MODS DC” XSD 2 looping elements, one called “Institutional Contributor” and “Non-Institutional Contributor”.  Each of them is mapped to their corresponding matching field in the resulting MODS XSD : name!namePart for “contributor” and “contributing institution”.

 

As stated before, while the MODS XML datastream is generated just fine, the DC ends up with n + m empty elements ( where n and m are the number of corresponding <name><namepart> nodes for the two contributor types of interest).  Basically this results in a document that looks like this :

 

...

<dc:contributor/>
<dc:contributor/>
<dc:contributor/>
<dc:contributor/>
<dc:contributor/>

...

 

SO, it looks like the XSD Looping subelements loop RECOGNIZES the correct element types and counts to write to the DC datastream – it just seems to be ignoring the node VALUES, as if the value is not read after the matching node is found.  

 

Any help would be greatly appreciated!  Please see the attached powerpoint for screenshots and a summary of this email!


Thanks all!

K:M

PS - the attached file needs to have the _ replaced with a . to restore the .ppt extension!