Lang Alt array - multiple values of the same locale

I am working with Iptc4xmpExt, but this question might apply to any Lang Alt array. 
For the property Iptc4xmpExt:AOTitle, I need to write multiple values to accommodate alternate versions of an artwork title.  Writing titles of different locales is no problem, but I can't find a way to write separate array values for the same locale.
Example 1:
<rdf:li xml:lang="x-default">Prize Vessel from the Athenian Games</rdf:li>
<rdf:li xml:lang="x-default">Panathenaic Prize Amphora and Lid</rdf:li>
Example 2:
<rdf:li xml:lang="x-default">Pantheon</rdf:li>
<rdf:li xml:lang="en-us">Pantheon</rdf:li>
<rdf:li xml:lang=""it-it">Santa Maria ad Martyres</rdf:li>
<rdf:li xml:lang=""it-it">Santa Maria Rotunda</rdf:li>
I think the separateArrayItems should work for this, but it doesn't.
event.xmpAccess.separateArrayItems("Iptc4xmpExt:ArtworkOrObject[1]/Iptc4xmpExt:AOTitle", _workTitle.text, IXMPConst.ARRAY_ALT_TEXT);
<fi:XMPTextInputMRU id="_workTitle" xmpPath="Iptc4xmpExt:ArtworkOrObject[1]/Iptc4xmpExt:AOTitle" xmpType="Localized"/>
Also, I would like to preserve commas and I have had trouble using the "allowCommas:Boolean  = true" parameter in the separateArrayItems method.
As a note, I tried using a semicolon and comma to separate other Lang Alt properties such as the CS4 Description panel "Document Title" and the values were written as a single string not as an array.
<dc:title>
             <rdf:Alt>
                <rdf:li xml:lang="x-default">ENGLISH TITLE 1; ENGLISH TITLE 2; ENGLISH TITLE 3</rdf:li>
             </rdf:Alt>
          </dc:title>
Thanks for any help you can give.
Greg Reser

Hi Greg,
an alternative to store any amount of data in any XMP property is to use qualifiers.
The advantage of qualifier is that they are very flexible and that thay are ignored if you do not specifically request them.
Disadvantage is that they might also be overlooked and deleted by apps that are not aware of their existance.
FileInfo would overwrite them when you modify the "Artwork or Object" table. But if you build your own panel it will be working.
Regards,
-- Stefan
In this example, I attached two alternative italian titles to the main AOTitle (you can import this file as a template to try it out):
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/"
            xmlns:q="http://alternativeTranslations">
         <Iptc4xmpExt:ArtworkOrObject>
            <rdf:Bag>
               <rdf:li rdf:parseType="Resource">
                  <Iptc4xmpExt:AOTitle>
                     <rdf:Alt>
                        <rdf:li xml:lang="it-IT">
                            <rdf:Description>
                                <rdf:value>Santa Maria ad Martyres</rdf:value>
                                <q:alternativeTitles>
                                    <rdf:Seq>
                                        <rdf:li>Santa Maria Rotunda</rdf:li>
                                        <rdf:li>Santa Maria Rotunda 2</rdf:li>
                                    </rdf:Seq>
                                </q:alternativeTitles>
                            </rdf:Description>
                        </rdf:li>  
                     </rdf:Alt>
                  </Iptc4xmpExt:AOTitle>
               </rdf:li>
            </rdf:Bag>
         </Iptc4xmpExt:ArtworkOrObject>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>

Similar Messages

  • How can I create a hashmap() with multiple values for the same key?

    I am trying to write an application that will us something like a Map() with multiple values but some have the same key. Is this possible?

    i had the same question. just create a List, add all the values u want to it, and then put the List into the map like u would a normal single value. e.g.
    List list = new ArrayList();
    list.add(value1);
    list.add(value2);
    map.put(key, list);
    i bet u r doing the same course as i am =)

  • Input XML having multiple values in the same tag

    Hi,
    In my scenario, my input XML is in the following format...
    <Product>
    <Site_ID>A1, A2, A3</Site_ID>
    <SIte_Name>ABC, XYZ, PQR</Site_Name>
    </Product>
    A1 corresponds to ABC
    A2 corresponds to XYZ and so on...
    Is there some way to retrieve values from such a source file and then map it to the target
    i.e A1 ABC has to go as one record
    A2 XYZ has to go as a second record and so on..
    Thanks in advance,
    Regards,
    Karen

    using xslt you can retrive Site_ID values and Site_name and then you have to use your own abap logic to split the values.
    for example
    site_name = 'A1, A2, A3, A4' .
    then you can use split site_name at ',' into table <itab>

  • Multiple value variable - not showing Multiple values in the report

    Hi,
    I have careated a Multiple value variable for one of the characteristics in my Query. however, When i run the Query and select multiple values for the same, the report displays values for only the first selection.
    Could you help me resolve this ?
    Rgds
    Shweta

    Hello Shweta,
       Are you running the report in the Analyzer excel or Web?
    May be you can check the following:
    1. Use the latest FEP. It is working for me.
    2. May be the other values that you selected do not have corresponding keyfigures values. Hence it is showing only the first one.
    Try selecting other values ( except first one selected this time )
    Regards,
    Sheik Bilal

  • How do I edit or enter values on multiple sheets at the same time in Numbers?  I can do this Excel but don't know procedure in Numbers.  Thanks.

    How do I edit or enter values on multiple sheets at the same time in Numbers?  I can do it in Excel but I don't the procedure in Numbers.  Thank you!

    The only I way I can think of to modify a single value and have that value change in multipl locations is to have all "the other places" reference a single cell.  There is not way without a referene to modify a set of cells simulateously.
    This may be something like what you want:
    Enter a value in the table "Original Data" cell A1 and the A1 cells of tables Ref1, Ref2 and Ref2-1 will change

  • How to pass multiple query string values using the same parameter in Query String (URL) Filter Web Part

    Hi,
    I want to pass multiple query string values using the same parameter in Query String (URL) Filter Web Part like mentioned below:
    http://server/pages/Default.aspx?Title=Arup&Title=Ratan
    But it always return those items whose "Title" value is "Arup". It is not returned any items whose "Title" is "Ratan".
    I have followed the
    http://office.microsoft.com/en-us/sharepointserver/HA102509991033.aspx#1
    Please suggest me.
    Thanks | Arup
    THanks! Arup R(MCTS)
    SucCeSS DoEs NOT MatTer.

    Hi DH, sorry for not being clear.
    It works when I create the connection from that web part that you want to be connected with the Query String Filter Web part. So let's say you created a web part page. Then you could connect a parameterized Excel Workbook to an Excel Web Access Web Part
    (or a Performance Point Dashboard etc.) and you insert it into your page and add
    a Query String Filter Web Part . Then you can connect them by editing the Query String Filter Web Part but also by editing the Excel Web Access Web Part. And only when I created from the latter it worked
    with multiple values for one parameter. If you have any more questions let me know. See you, Ingo

  • Value to multiple sprites through the same parameter

    I'm going to ask the same question "
    "contains" doubt in hexadecimal color value?" but in a
    different way, because I figured out that the solution is simpler
    that I thought, and the solutions goes by other way. I have this
    behavior:
    property pTargetSprite, pBlendValue
    on getPropertyDescriptionList me
    list = [:]
    addProp list, #pTargetSprite, [#comment: "Target Sprite:",\
    #format: #integer, #default: VOID]
    addProp list, #pBlendValue, [#comment: "Blend Value:",\
    #format: #integer, #default: 100]
    return list
    end
    on mouseDown me
    sprite(pTargetSprite).blend = pBlendValue
    end
    I would like to enter MULTIPLE sprites for 1 parameter, that
    is to say when the dialog box of the behavior appears and ask me
    the "Target Sprite:", I would like to input ...let's say 1 , 2 , 3
    , ... whatever numbers I want. Therefore, the blend values of that
    sprites will change according to the input Blend Value. Right Now
    is working perfect, but of course with only ONE sprite, but I want
    to be able to assign that Blend Value to multiple sprites over the
    same parameter.
    I guess it must be very simple, but I cannot get the answer
    anywhere in my brain, nor my director book, nor in the forums.
    Thanks!!!

    You have several options here. You can do as you suggest,
    create a list
    of the sprite numbers to change and then tell each of those
    sprite's
    blend value to change.
    Another method is to write a function in the behavior that
    you attach to
    each sprite and then use sendAllSprites() to fire each of
    those
    functions. If you are attaching behaviors to each sprite this
    may be the
    way to go.
    For method 1, you could amend your behavior like this:
    property spriteList
    property blendValue
    on getPropertyDescriptionlist
    myPropList = [:]
    myPropList.addProp(#spriteList,[#comment:"enter the sprite
    channel
    numbers to use, separated by
    commas:",#format:#integer,#default:"1,2,3"])
    myPropList.addProp(#blendValue, [#comment: "Blend Value:",\
    #format: #integer, #default: 100])
    return myPropList
    end
    on beginSprite me
    spriteList = stringToList(spriteList)
    end
    on stringToList(thisString)
    oldDelim = the itemDelimiter
    the itemDelimiter = ","
    thisManyItems = thisString.item.count
    tempList = []
    repeat with n = 1 to thisManyItems
    tempList.add(thisString.item[n])
    end repeat
    the itemDelimiter = oldDelim
    return tempList
    end
    on mouseUp me
    thisMany = spriteList.count
    repeat with n = 1 to thisMany
    sprite(n).blend = blendValue
    end repeat
    end
    for method 2 you could use something like this in each
    sprite's behavior:
    property blendValue
    property thisSprite
    on getPropertyDescriptionlist
    myPropList = [:]
    myPropList.addProp(#blendValue, [#comment: "Blend Value:",\
    #format: #integer, #default: 100])
    return myPropList
    end
    on beginSprite me
    thisSprite = me.spriteNum
    end
    on changeValue me
    sprite(thisSprite).blend = blendValue
    end
    and then you can call this second method from a mouse event:
    on mouseUp me
    sendAllSprites(#changeValue)
    end
    and every sprite that contains that function in the frame
    where it is
    called will execute.
    Rob
    Rob Dillon
    Adobe Community Expert
    http://www.ddg-designs.com
    412-243-9119
    http://www.macromedia.com/software/trial/

  • How to get multiple values from the list

    I've a list of an item which I queried it from the database. I also created a button that will takes a selected items from the list when it was clicked. I used javabean to get the data from database.
    <%     // clicked on Select District Button
    Vector vselectedDistrict = new Vector();
    Vector vdistrictID = new Vector();
    String tmpSelectDistrict = "";
    tmpSelectDistrict = request.getParameter("bSelectDistrict");
    if(tmpSelectDistrict != null)
         // get multiple values from the list
         String[] selectedDistrict = request.getParameterValues("usrTDistrict");
         vselectedDistrict.clear();
         vdistrictID.clear();
         if((selectedDistrict != null) && (selectedDistrict.length != 0))
                             for(int i=0;i<selectedDistrict.length;i++)
                   vselectedDistrict.addElement(selectedDistrict);           
              vdistrictID = dbaseInfo.getcurrentDistrictID(nstate,vselectedDistrict);
              for(int i=0;i<vdistrictID.size();i++)
                   out.println("district = " + selectedDistrict[i]);                         out.println("district ID= " + vdistrictID.get(i).toString());
    %>
    // get vdistrict from the database here......
    <select name="usrTDistrict" size="5" multiple>
    <%     for(int i = 0; i< vdistrict.size(); i++)
    %>
         <option value="<%=vdistrict.get(i).toString()%>"><%=vdistrict.get(i).toString()%></option>
    <%
    %>          
    </select>
    <input type="submit" name="bSelectDistrict" value="Select District">
    Lets say the item that i selected from the list is 'Xplace' and I clicked on the Select District button,
    what I got is this error message:
    org.apache.jasper.JasperException: Unable to convert string 'Xplace' to class java.util.Vector for attribute usrTDistrict: java.lang.IllegalArgumentException: Property Editor not registered with the PropertyEditorManager
    So where is going wrong and what the message means?. Any help very much appreciated. Thanks

    These are just guesses that might hopefully steer you in directions you haven't looked in yet.
    I presume you used triangle brackets (< >) to avoid having the Jive Forum think it was the "italics" tag?
    Are you certain this: dbaseInfo.getcurrentDistrictID(nstate,vselectedDistrict);
    expects a Vector as its second parameter? And returns a Vector?
    I don't believe you've shown how you use the javabean, or its code? Perhaps it should be rewritten to accept an array of strings instead of a Vector?

  • Run invoke-command on multiple machines at the same time

    Hey all so I read that if I store my New-pssession in a variable then used that in my invoke-command it would run all computers at the same time.
    $a = Get-Content "C:\Users\cody-horton\Desktop\list.txt"
    $session
    for($i=0;$i -lt $a.Length;$i++){
    if(!(Test-Connection -Cn $a[$i] -BufferSize 16 -Count 1 -ea 0 -quiet)){
    Write-Host $a[$i] -foregroundcolor red
    else{
    $session = New-PSSession $a[$i]
    Invoke-Command -Session $session -FilePath "\\My computer\C`$\Users\public\Documents\zip folder.ps1"
    What exactly am I doing wrong I just need to run this script on multiple machines at the same time.
    Thanks.
    Edit: Also what would be the best way to close all the sessions thanks.

    Hi there,
    So what I think you are doing wrong here is that you are overwriting the value in $Session everytime you executed code inside for loop. try the below:
    $a = Get-Content "C:\Users\cody-horton\Desktop\list.txt"
    $session = @() #define this as an array
    for($i=0;$i -lt $a.Length;$i++){
    if(!(Test-Connection -Cn $a[$i] -BufferSize 16 -Count 1 -ea 0 -quiet)){
    Write-Host $a[$i] -foregroundcolor red
    else{
    $session += New-PSSession $a[$i] #add the new session to the array, at the end it will be a collection of sessions
    Invoke-Command -Session $session -FilePath "\\My computer\C`$\Users\public\Documents\zip folder.ps1" #I think the above one won't work..first you need to copy the script locally on the machine and then execute it#Why this won't work because of Second-Hop Authentication
    Have put comments where I edited your code.
    Hope this helps
    Knowledge is Power{Shell}. http://dexterposh.blogspot.com/

  • Loading multiple instances of the same loader

    Hello everyone,
    I am trying to load in 5 pictures but 2 of those pictures need to be added multiple times to the same scene. For example you would use Loader to load one tree but would show that tree 9 times. The problem I am experiencing is that each object loads fine once but objects that are the same with different x and y values are placed at the last location that was set in the loop.
                for(var i=0; i < LoadedXml.resources.resource.(@type==LoadedXml.resources.resource.@type[fileCount]).@coun t; i++)
                    sprite.name = LoadedXml.resources.resource.@type[fileCount] + i;
                    sprite.x = LoadedXml.objects.object.(@type==LoadedXml.resources.resource.@type[fileCount] &&  @instance == i).@x;
                    sprite.y = LoadedXml.objects.object.(@type==LoadedXml.resources.resource.@type[fileCount] &&  @instance == i).@y;
                    table.push(sprite);
    this code sets the properties but say the count is equal to 9 and the last x and y set is 20 , 20. Then all of the objects are placed at 20,20. Even though they are clearly placed in there own element within the array. If anyone can help please please do it.
    Dexter

    then your xml parsing is faulty.

  • [svn] 949: Bug: BLZ-96 - When sending a HttpService request from ActionScript with multiple headers with the same name , it causes a ClassCastException in the server

    Revision: 949
    Author: [email protected]
    Date: 2008-03-27 07:12:59 -0700 (Thu, 27 Mar 2008)
    Log Message:
    Bug: BLZ-96 - When sending a HttpService request from ActionScript with multiple headers with the same name, it causes a ClassCastException in the server
    QA: Yes - try again with legacy-collection true and false.
    Doc: No
    Checkintests: Pass
    Details: Another try in fixing this bug. When legacy-collection is false, Actionscript Array on the client becomes Java Array on the server and my fix yesterday assumed this case. However, when legacy-collection is true, Actionscript Array becomes Java ArrayList on the server. So added code to handle this case.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-96
    Modified Paths:
    blazeds/branches/3.0.x/modules/proxy/src/java/flex/messaging/services/http/proxy/RequestF ilter.java

    Hi all!
    Just to post the solution to this if anyone ever runs accross this thread...
    For some reason i had it bad the first time, don't have time right now to see why but here is what worked for me:
    HashMap primaryFile = new HashMap();
    primaryFile.put("fileContent", bFile);
    primaryFile.put("fileName", uploadedFile.getFilename());
    operationBinding.getParamsMap().put("primaryFile", primaryFile);
    HashMap customDocMetadata = new HashMap();
    HashMap [] properties = new HashMap[1];
    HashMap customMetadataPropertyRoom = new HashMap();
    customMetadataPropertyRoom.put("name", "xRoom");
    customMetadataPropertyRoom.put("value", "SOME ROOM");
    properties[0] = customMetadataPropertyRoom;
    customDocMetadata.put("property", properties);
    operationBinding.getParamsMap().put("CustomDocMetaData", customDocMetadata);
    Basically an unbounded wsdl type is an array of objects (HashMaps), makes sense, i thought i had it like this before, must have messed up somewhere...
    Good luck all!

  • [svn] 931: Bug: BLZ-96 - When sending a HttpService request from ActionScript with multiple headers with the same name , it causes a ClassCastException in the server

    Revision: 931
    Author: [email protected]
    Date: 2008-03-26 11:31:01 -0700 (Wed, 26 Mar 2008)
    Log Message:
    Bug: BLZ-96 - When sending a HttpService request from ActionScript with multiple headers with the same name, it causes a ClassCastException in the server
    QA: Yes - we need automated tests for this basic case.
    Doc: No
    Checkintests: Pass
    Details: RequestFilter was not handling multiple headers with the same name properly.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-96
    Modified Paths:
    blazeds/branches/3.0.x/modules/proxy/src/java/flex/messaging/services/http/proxy/RequestF ilter.java

    Hi all!
    Just to post the solution to this if anyone ever runs accross this thread...
    For some reason i had it bad the first time, don't have time right now to see why but here is what worked for me:
    HashMap primaryFile = new HashMap();
    primaryFile.put("fileContent", bFile);
    primaryFile.put("fileName", uploadedFile.getFilename());
    operationBinding.getParamsMap().put("primaryFile", primaryFile);
    HashMap customDocMetadata = new HashMap();
    HashMap [] properties = new HashMap[1];
    HashMap customMetadataPropertyRoom = new HashMap();
    customMetadataPropertyRoom.put("name", "xRoom");
    customMetadataPropertyRoom.put("value", "SOME ROOM");
    properties[0] = customMetadataPropertyRoom;
    customDocMetadata.put("property", properties);
    operationBinding.getParamsMap().put("CustomDocMetaData", customDocMetadata);
    Basically an unbounded wsdl type is an array of objects (HashMaps), makes sense, i thought i had it like this before, must have messed up somewhere...
    Good luck all!

  • Date range to be displayed  & Displaying multiple values on the report

    Hi,
    I have date range parameters, but I also need it to be displayed it on the report. Is there any way I can display it. E.G If a parameter is created one can drag and drop it on the report if it needs to be displayed on the report, I tried to do the same for the date range parameter but it does not work.
    Also If a parameter is created by selecting the option 'Allow Multiple Values', and if you drag and drop it on the report only the first value is displayed and the rest does not show. Has anyone tried this before and been successful in displaying multiple values in the report.
    Thanks in advance.

    Hi,
    A multi-value parameter is actually treated as an array in Crystal Reports.
    To display the values selected in the parameter, create a formula from the Field Explorer and type this code:
    Join({?ParameterName},",");
    Place this formula on the header or the footer sections of the report.
    Regarding the date range issue, please follow Sastry's advice and it should work fine.
    Make sure you're using the parameter in the Minimum and Maximum functions. For eg: If I was to create a date range parameter called OrderDate, my formula to show the start date would look like this:
    Minimum({?OrderDate})
    -Abhilash

  • How can I have use the same div ID multiple times on the same page?

    Okay so a problem I encounter a lot is that often times I want to use the same div ID several times on the same page. An example of this is when I'm creating table like designs.
    Let's say for instance I create a div ID called 'product-container'. I want to use 'product-container' multiple times on the same page but if I do this it is improper XHTML and will throw errors in any XHTML validator (you are only allowed to use a div ID once on any XHTML page in order for it to be standards compliant).
    Now the first option is that I could define 'product-container' in my CSS style sheet multiple times by doing something like this...
    #product-container {
         width: 300px;
    #product-container-2 {
         width: 300px;
    #product-container-3 {
         width: 300px;
    #product-container-4 {
         width: 300px;
    What you will see there however is that it seems pointless to define the same ID numerous times over (just adding a number on the end) when each ID is the exact same thing and has the exact same attributes.
    Now what I have noticed is that there are some sites out there who manage to have the same ID appear several times in the code but add a number to it just like above. The difference is that they only have one definition for 'product-cointainer' in their CSS document but in their actual XHTML code they have IDs for 'product-container' but with numbers on the end like 2,3,4,5, etc. It's almost as if JavaScript or some other code is automatically appending a number on the end of the ID so the validator won't consider the markup to be invalid, but yet it knows that it's using the same 'product-container' style that is contained in the CSS style sheet.
    I hope I explained this correctly. I'm just hoping to find a way that I can put the same div ID on a page multiple times without having to define it over and over again in my CSS.
    Any help is much appreciated!

    Because it seems like by using a class you can't make this position as 
    well as you can by using an ID. Am I wrong?
    An ID name can be used only one time per page.  A class name can be used multiple times per page.
    .product {
    width: 300px;
    text-align:left;
    color: #FF0000
    border: 2px solid #666;
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists
    www.alt-web.com/
    www.twitter.com/altweb
    www.alt-web.blogspot.com

  • How to select multiple values from the Parameters in the concurrent program

    How to select multiple values from the Parameters defined in the concurrent program...and i believe multiple selection is not a direct feature of EBS, but is there any workaround solution to acheive mulitple selection?

    I think there's no way to do that using standard feature.
    Some workaround I use :
    1. If the number of selections are fixed, you could use multiple parameters for the same valueset. For example :
    Selection1 : <choose first selection>
    Selection2: <choose 2nd selection>
    ..etc.
    If you don't use it then leave it empty.
    2. Use text varchar valueset and enter it manually and separate by comma (or other value) , eg : selection1,selection2,selection3....etc.

Maybe you are looking for