Print

Print


A fast way to do what Steve is suggesting for the ID numbers would be to do a search and replace in OpenOffice Writer.   Here's how:

In the Find and Replace Window click on the "More Options" button then select the "Regular Expressions" box.

Now, because the existing numbers are single, double and triple digits, we would need to do a find and replace for each set.

Start with the set of the largest numbers - triple digits (ie, 122, 456, 786, etc)

In the Find box, put this:  id="[:digit:]{3}"
In the Replace box, put this:  id="1&
Click on Replace All (for example: this will change id="122" to id="1id="122", an intermediate step
Now do a search and replace for 1id=" and replace with 1 (this will change the example from id="1id="122"  to id="1122", which is what you want.

You do it this way so that you are adding 1000 to all the numbers instead of just appending "100" to the numbers, which would result in "1002", "10044", "100122", which is not what you want.   Also we have to start with the largest so that we don't inadvertently find the wrong numbers as we process the file.  For instance, if we changed "2" to "12", then when we search for 2 digit numbers next we would find that and change it to "112", which is not what you want.

So the next search and replace would be for 2 digit numbers.
Search for  id="[:digit:]{2}" and Replace with id="1&
Then search for 1id=" and Replace with 10  (notice this is different than the first set of numbers, for which we replaced with just 1)
For example: this will change 44 to 1044

The last search and replace would be for single digit numbers
Search for  id="[:digit:]{1}" and Replace with id="1&
Then search for 1id=" and Replace with 100
For example: this will change 2 to 1002

Of course, if you're not sure that you don't have more than 1000 entries in your file, you can start by searching for 4 digit numbers.  If you do find 4 digit numbers then you'll want to increase the numbers by 10000, not 1000 and take that into account when changing the intermediate step for each set of digits.

Bill


On 7/6/2012 11:18 AM, Steve Slevinski wrote:
[log in to unmask]" type="cite">
On 7/4/12 4:24 AM, MARIA GALEA wrote:
[log in to unmask]" type="cite">
Hi Steve and the List,

For Maltese Sign Language we have 3 Puddles that have been used - the
Literature, the Dictionary and the Private Puddle.

I would like to organize the entries so I would like to move things to and
from these different Puddles. Is there any way I can do this fast without
having to open each separate entry and copying it into another Puddle and
then deleting it..?

Thanks!
maria
Hi Maria,

The best option I can think of would be to download and edit the XML files directly.  If you downloaded each puddle's XML file, you could use a text editor to quickly copy and paste entries between the XML documents.

The biggest problem would be that each entry in a puddle must have a unique ID number.  If you copied entries from one puddle to another, you would have to make sure the IDs were unique.  Looking at 2 of the Malta puddles, it looks like all of the IDs are less that 1,000.  So to copy an entry from one puddle to the other, the safest way would be to add 1,000 to the ID numbers.

Here is an example:
<entry id="2" cdt="1208941776" mdt="1208941776" usr="LSM">
  <term>M518x515S10e00482x485S17610502x499</term>
  <term><![CDATA[GHOXRIN]]></term>
  <term><![CDATA[TWENTY]]></term>
</entry>

If you wanted to copy this from one puddle to another, you would cut it from one XML file and paste it into the other XML making sure to change the id="2" to be id="1002".

It's not the most elegant solution, but it could work.  If you want to do this, I can work with you.  We would lock the target puddles so that they could not be edited.  You would download and update the XML files.  Then I could import the new XML files and overwrite the puddles.

I can't think of an easier way to do this.

Regards,
-Steve