If you attended one of the recent Meetups in Europe of the US you may have caught us using the site tags dashlet as an example of how to develop a custom dashlet for Alfresco Share.
Mike Hatfield did a great job of taking my original code and re-working it to shift most of the logic to client-side JS where it should be, as well as adding some funky scoping stuff using a couple of YUI controls.
The resulting code that we demonstrated ourselves in Madrid, and which others showed in other locations has been posted under the Meetups Worldwide space on share.alfresco.com (free login required) as a ZIP file. Also in the bundle is an example of how to extend the Document Library actions in Share with your own custom action.
For the latest version of the dashlet, however, you’ll need to head over to the site tags dashlet page. Version 0.1.1 contains a couple of extra lines to sort the tags into alphabetical order before they’re displayed – more consistent with other tag clouds I’m told – and the code has also been back-ported to Alfresco 3.1 because a few people asked for this.
The subject of porting dashlets between v3.1 and v3.2 is another topic in itself, as the pattern used to define JS modules in the latest version has improved substantially. I’ll try post more on this soon.
Author Archives: wabson
Tag cloud dashlet for Alfresco Share
This small extension to Share provides a new site dashlet to display the most popular tags within the site as a tag cloud.
The dashlet uses the existing tagging REST API, so no additional repository tier scripts are required. The zipped files can be extracted into your tomcat/shared/classes directory to add the Share support. You should find that the directory structure will be automatically created, although you will need to move the site-tags.css file to the components/dashlets directory in the webapp.
It should be trivial to write a second dashlet to surface a global tag cloud, suitable for display in a user dashboard, using the list all tags method, rather than the tagscope-based approach used by this script.
UPDATE: The latest version of the code can now be found on the site tags dashlet page.
There will not be anarchy
Charles Clover declares himself to be a canoeist, in addition to a keen angler, but in his comments in the Sunday Times on the same day of the concluding part of Griff Rhys Jones’s epic journey along the UK’s waterways, he shows his true colours.
What Charles seeks is to limit canoeing on our rivers, a situation helped by the current stranglehold which landowners, farmers and fishing organisations have been able to selfishly maintain over the last few hundred years.
His Times piece hints at such a desire, but in the follow-up interview on today’s Radio 4’s Today Programme he actually states it.
“The Canoeist is a splendid person as long as you don’t have too many of them, or too much canoeing.”
What a pitiful attitude to have, at a time when so many others are fighting to increase participation in sport. We have the Olympics coming to London in 2012, which offers a unique opportunity. We desperately need to increase the number of young people in particular who are engaged in sport, when societal trends and defective policy have resulted in years of decline in participation, if we are to avert a large-scale public health crisis in years to come.
As I’ve stated before, canoeing is not only a great form of exercise, but is relatively cheap to take part in (important in a recession) and gives paddlers a greater appreciation of the waterways and coastlines along which they paddle, and of the effects of human behaviour upon these natural ecosystems.
Far from damaging the environment, greater participation in canoe sport is beneficial to individuals, society and the environment itself. Confining paddlers to only a third of the navigable rivers in England and Wales not only limits participation, but also results in increased pressure on those rivers which do allow it. Griff sums this up well at the end of the Today piece, saying of canoeists,
“If they were spread more evenly around these miles and miles of river, then they would barely be seen at all”
Charles may well be a canoeist as well as an angler, but his views on canoeing echo his general sentiment on rivers – he wishes to keep it for himself rather than sharing it with others.
Canoeists deserve better
I’ve felt strongly about this topic for some time now, and over the last couple of weeks I’ve started trying to do something about it. Today, I came across the article in Countryfile magazine which kicked off the still ongoing argument between Griff Rhys Jones and various anglers, and felt I needed to write something to counter the vicious and selfish responses of some to that article.
My response is in the comments section of the article, or you can read it in full below.
As someone who has enjoyed canoeing since an early age I must say that I entirely agree with Griff Rhys Jones’s sentiments.
As Simon points out in his reply, there are no doubt a large number of anglers in the UK who are able to gain enjoyment from the many miles of inland rivers that we are blessed with. However, there are also a significant number of other river users – including canoeists – who today are denied access to over two thirds of those rivers.
Our rivers are a terribly undervalued resource. They are full of wildlife, fascinating places to unwind and a great educational resource for children. For others they provide a safe space for exercise and sport of all kinds, not just on the water, but also along their banks.
As Griff points out, they offer a fascinating glimpse back in time, a connection to our pre-industrial past that all too few people are able to appreciate. If we are to teach future generations about the importance of respecting our natural resources, we first need to give them access to experience those resources.
On the stretches of water I myself paddle on, I regularly come into contact with anglers and very rarely have I had any problems. A little consideration on both sides goes a long way to ensuring that we are all able to share and enjoy the use of those shared waterways.
Canoeists are not demanding unfettered access to all stretches of inland water in the country. We appreciate that in some circumstances on certain rivers it is not appropriate to use a canoe. What we seek is a reasonable code of access, laying down the terms under which access may be provided to us and to other river users. This may also define the penalties for any person who breaks those rules.
The current framework of voluntary agreements is not fit for purpose. There exists no obligation on the part of landowners to provide access, leading to one-sided arrangements whereby access is provided for one or two days of the year. This is unreasonable and not at all acceptable.
It is terribly unfair to imply that canoeists do not contribute to the upkeep of our rivers. I enjoy the right to paddle along many stretches of water including the River Thames and the 2000 miles of inland waterways maintained by British Waterways, through my membership of the British Canoe Union, who themselves have agreements with the Environment Agency and BW. Furthermore, the Environment Agency is a public body funded by the taxpayer as well as by anglers and canoeists individually.
I am terribly saddened by the selfish response of many anglers including Simon to Griff’s comments. Given the pleasure they quite rightly take from using our rivers, it is disappointing in the extreme that they wish to keep those rivers for themselves rather than sharing them with others.
As Simon states, we live in a terribly crowded country, but the solution to that is not to restrict access to the valuable natural resources which we posses to any particular group of individuals, it is to establish a common understanding and a set of rules – which may involve compromise – so that we may all enjoy their benefits.
ISO 3166 county codes and xs:enumeration
I’ve recently been working with the web team here to improve the partners section of the Alfresco site, the last part of which requires me to write a web form to allow content authors to easily add new partners, and modify existing ones.
Until now our partner listings have been manually edited using our generic page form, which has over time become difficult to edit and inflexible in the user searches it allows on the published site.
This situation has only got worse as we’ve added new partners. To illustrate this we now have over 150 partners around the globe, rather than the handful the current pages were designed to display.
One of the important capabilities of the new pages is the ability to query by country, therefore I needed a way for page authors to easily select countries from a drop-down list in the web form.
The current list of ISO country codes is pretty well maintained and is available to download in CSV or XML formats, however I couldn’t find any mark-up for expressing this list within an XSD form definition using xs:enumeration elements.
If you are using Alfresco WCM or writing an XSD for any other purpose, and you want to include a drop-down allowing the user to select a country from the list, you can use something like the following.
<xs:simpleType name="country">
<xs:restriction base="xs:normalizedString">
<xs:enumeration value="AF"><xs:annotation><xs:appinfo><alf:label>AFGHANISTAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AX"><xs:annotation><xs:appinfo><alf:label>ÅLAND ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AL"><xs:annotation><xs:appinfo><alf:label>ALBANIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="DZ"><xs:annotation><xs:appinfo><alf:label>ALGERIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AS"><xs:annotation><xs:appinfo><alf:label>AMERICAN SAMOA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AD"><xs:annotation><xs:appinfo><alf:label>ANDORRA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AO"><xs:annotation><xs:appinfo><alf:label>ANGOLA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AI"><xs:annotation><xs:appinfo><alf:label>ANGUILLA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AQ"><xs:annotation><xs:appinfo><alf:label>ANTARCTICA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AG"><xs:annotation><xs:appinfo><alf:label>ANTIGUA AND BARBUDA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AR"><xs:annotation><xs:appinfo><alf:label>ARGENTINA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AM"><xs:annotation><xs:appinfo><alf:label>ARMENIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AW"><xs:annotation><xs:appinfo><alf:label>ARUBA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AU"><xs:annotation><xs:appinfo><alf:label>AUSTRALIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AT"><xs:annotation><xs:appinfo><alf:label>AUSTRIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AZ"><xs:annotation><xs:appinfo><alf:label>AZERBAIJAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BS"><xs:annotation><xs:appinfo><alf:label>BAHAMAS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BH"><xs:annotation><xs:appinfo><alf:label>BAHRAIN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BD"><xs:annotation><xs:appinfo><alf:label>BANGLADESH</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BB"><xs:annotation><xs:appinfo><alf:label>BARBADOS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BY"><xs:annotation><xs:appinfo><alf:label>BELARUS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BE"><xs:annotation><xs:appinfo><alf:label>BELGIUM</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BZ"><xs:annotation><xs:appinfo><alf:label>BELIZE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BJ"><xs:annotation><xs:appinfo><alf:label>BENIN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BM"><xs:annotation><xs:appinfo><alf:label>BERMUDA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BT"><xs:annotation><xs:appinfo><alf:label>BHUTAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BO"><xs:annotation><xs:appinfo><alf:label>BOLIVIA, PLURINATIONAL STATE OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BA"><xs:annotation><xs:appinfo><alf:label>BOSNIA AND HERZEGOVINA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BW"><xs:annotation><xs:appinfo><alf:label>BOTSWANA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BV"><xs:annotation><xs:appinfo><alf:label>BOUVET ISLAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BR"><xs:annotation><xs:appinfo><alf:label>BRAZIL</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IO"><xs:annotation><xs:appinfo><alf:label>BRITISH INDIAN OCEAN TERRITORY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BN"><xs:annotation><xs:appinfo><alf:label>BRUNEI DARUSSALAM</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BG"><xs:annotation><xs:appinfo><alf:label>BULGARIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BF"><xs:annotation><xs:appinfo><alf:label>BURKINA FASO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BI"><xs:annotation><xs:appinfo><alf:label>BURUNDI</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KH"><xs:annotation><xs:appinfo><alf:label>CAMBODIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CM"><xs:annotation><xs:appinfo><alf:label>CAMEROON</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CA"><xs:annotation><xs:appinfo><alf:label>CANADA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CV"><xs:annotation><xs:appinfo><alf:label>CAPE VERDE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KY"><xs:annotation><xs:appinfo><alf:label>CAYMAN ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CF"><xs:annotation><xs:appinfo><alf:label>CENTRAL AFRICAN REPUBLIC</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TD"><xs:annotation><xs:appinfo><alf:label>CHAD</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CL"><xs:annotation><xs:appinfo><alf:label>CHILE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CN"><xs:annotation><xs:appinfo><alf:label>CHINA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CX"><xs:annotation><xs:appinfo><alf:label>CHRISTMAS ISLAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CC"><xs:annotation><xs:appinfo><alf:label>COCOS (KEELING) ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CO"><xs:annotation><xs:appinfo><alf:label>COLOMBIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KM"><xs:annotation><xs:appinfo><alf:label>COMOROS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CG"><xs:annotation><xs:appinfo><alf:label>CONGO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CD"><xs:annotation><xs:appinfo><alf:label>CONGO, THE DEMOCRATIC REPUBLIC OF THE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CK"><xs:annotation><xs:appinfo><alf:label>COOK ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CR"><xs:annotation><xs:appinfo><alf:label>COSTA RICA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CI"><xs:annotation><xs:appinfo><alf:label>CÔTE D'IVOIRE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="HR"><xs:annotation><xs:appinfo><alf:label>CROATIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CU"><xs:annotation><xs:appinfo><alf:label>CUBA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CY"><xs:annotation><xs:appinfo><alf:label>CYPRUS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CZ"><xs:annotation><xs:appinfo><alf:label>CZECH REPUBLIC</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="DK"><xs:annotation><xs:appinfo><alf:label>DENMARK</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="DJ"><xs:annotation><xs:appinfo><alf:label>DJIBOUTI</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="DM"><xs:annotation><xs:appinfo><alf:label>DOMINICA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="DO"><xs:annotation><xs:appinfo><alf:label>DOMINICAN REPUBLIC</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="EC"><xs:annotation><xs:appinfo><alf:label>ECUADOR</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="EG"><xs:annotation><xs:appinfo><alf:label>EGYPT</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SV"><xs:annotation><xs:appinfo><alf:label>EL SALVADOR</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GQ"><xs:annotation><xs:appinfo><alf:label>EQUATORIAL GUINEA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ER"><xs:annotation><xs:appinfo><alf:label>ERITREA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="EE"><xs:annotation><xs:appinfo><alf:label>ESTONIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ET"><xs:annotation><xs:appinfo><alf:label>ETHIOPIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="FK"><xs:annotation><xs:appinfo><alf:label>FALKLAND ISLANDS (MALVINAS)</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="FO"><xs:annotation><xs:appinfo><alf:label>FAROE ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="FJ"><xs:annotation><xs:appinfo><alf:label>FIJI</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="FI"><xs:annotation><xs:appinfo><alf:label>FINLAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="FR"><xs:annotation><xs:appinfo><alf:label>FRANCE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GF"><xs:annotation><xs:appinfo><alf:label>FRENCH GUIANA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PF"><xs:annotation><xs:appinfo><alf:label>FRENCH POLYNESIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TF"><xs:annotation><xs:appinfo><alf:label>FRENCH SOUTHERN TERRITORIES</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GA"><xs:annotation><xs:appinfo><alf:label>GABON</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GM"><xs:annotation><xs:appinfo><alf:label>GAMBIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GE"><xs:annotation><xs:appinfo><alf:label>GEORGIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="DE"><xs:annotation><xs:appinfo><alf:label>GERMANY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GH"><xs:annotation><xs:appinfo><alf:label>GHANA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GI"><xs:annotation><xs:appinfo><alf:label>GIBRALTAR</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GR"><xs:annotation><xs:appinfo><alf:label>GREECE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GL"><xs:annotation><xs:appinfo><alf:label>GREENLAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GD"><xs:annotation><xs:appinfo><alf:label>GRENADA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GP"><xs:annotation><xs:appinfo><alf:label>GUADELOUPE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GU"><xs:annotation><xs:appinfo><alf:label>GUAM</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GT"><xs:annotation><xs:appinfo><alf:label>GUATEMALA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GG"><xs:annotation><xs:appinfo><alf:label>GUERNSEY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GN"><xs:annotation><xs:appinfo><alf:label>GUINEA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GW"><xs:annotation><xs:appinfo><alf:label>GUINEA-BISSAU</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GY"><xs:annotation><xs:appinfo><alf:label>GUYANA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="HT"><xs:annotation><xs:appinfo><alf:label>HAITI</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="HM"><xs:annotation><xs:appinfo><alf:label>HEARD ISLAND AND MCDONALD ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="VA"><xs:annotation><xs:appinfo><alf:label>HOLY SEE (VATICAN CITY STATE)</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="HN"><xs:annotation><xs:appinfo><alf:label>HONDURAS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="HK"><xs:annotation><xs:appinfo><alf:label>HONG KONG</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="HU"><xs:annotation><xs:appinfo><alf:label>HUNGARY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IS"><xs:annotation><xs:appinfo><alf:label>ICELAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IN"><xs:annotation><xs:appinfo><alf:label>INDIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ID"><xs:annotation><xs:appinfo><alf:label>INDONESIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IR"><xs:annotation><xs:appinfo><alf:label>IRAN, ISLAMIC REPUBLIC OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IQ"><xs:annotation><xs:appinfo><alf:label>IRAQ</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IE"><xs:annotation><xs:appinfo><alf:label>IRELAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IM"><xs:annotation><xs:appinfo><alf:label>ISLE OF MAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IL"><xs:annotation><xs:appinfo><alf:label>ISRAEL</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="IT"><xs:annotation><xs:appinfo><alf:label>ITALY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="JM"><xs:annotation><xs:appinfo><alf:label>JAMAICA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="JP"><xs:annotation><xs:appinfo><alf:label>JAPAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="JE"><xs:annotation><xs:appinfo><alf:label>JERSEY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="JO"><xs:annotation><xs:appinfo><alf:label>JORDAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KZ"><xs:annotation><xs:appinfo><alf:label>KAZAKHSTAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KE"><xs:annotation><xs:appinfo><alf:label>KENYA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KI"><xs:annotation><xs:appinfo><alf:label>KIRIBATI</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KP"><xs:annotation><xs:appinfo><alf:label>KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KR"><xs:annotation><xs:appinfo><alf:label>KOREA, REPUBLIC OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KW"><xs:annotation><xs:appinfo><alf:label>KUWAIT</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KG"><xs:annotation><xs:appinfo><alf:label>KYRGYZSTAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LA"><xs:annotation><xs:appinfo><alf:label>LAO PEOPLE'S DEMOCRATIC REPUBLIC</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LV"><xs:annotation><xs:appinfo><alf:label>LATVIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LB"><xs:annotation><xs:appinfo><alf:label>LEBANON</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LS"><xs:annotation><xs:appinfo><alf:label>LESOTHO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LR"><xs:annotation><xs:appinfo><alf:label>LIBERIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LY"><xs:annotation><xs:appinfo><alf:label>LIBYAN ARAB JAMAHIRIYA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LI"><xs:annotation><xs:appinfo><alf:label>LIECHTENSTEIN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LT"><xs:annotation><xs:appinfo><alf:label>LITHUANIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LU"><xs:annotation><xs:appinfo><alf:label>LUXEMBOURG</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MO"><xs:annotation><xs:appinfo><alf:label>MACAO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MK"><xs:annotation><xs:appinfo><alf:label>MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MG"><xs:annotation><xs:appinfo><alf:label>MADAGASCAR</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MW"><xs:annotation><xs:appinfo><alf:label>MALAWI</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MY"><xs:annotation><xs:appinfo><alf:label>MALAYSIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MV"><xs:annotation><xs:appinfo><alf:label>MALDIVES</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ML"><xs:annotation><xs:appinfo><alf:label>MALI</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MT"><xs:annotation><xs:appinfo><alf:label>MALTA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MH"><xs:annotation><xs:appinfo><alf:label>MARSHALL ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MQ"><xs:annotation><xs:appinfo><alf:label>MARTINIQUE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MR"><xs:annotation><xs:appinfo><alf:label>MAURITANIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MU"><xs:annotation><xs:appinfo><alf:label>MAURITIUS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="YT"><xs:annotation><xs:appinfo><alf:label>MAYOTTE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MX"><xs:annotation><xs:appinfo><alf:label>MEXICO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="FM"><xs:annotation><xs:appinfo><alf:label>MICRONESIA, FEDERATED STATES OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MD"><xs:annotation><xs:appinfo><alf:label>MOLDOVA, REPUBLIC OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MC"><xs:annotation><xs:appinfo><alf:label>MONACO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MN"><xs:annotation><xs:appinfo><alf:label>MONGOLIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ME"><xs:annotation><xs:appinfo><alf:label>MONTENEGRO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MS"><xs:annotation><xs:appinfo><alf:label>MONTSERRAT</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MA"><xs:annotation><xs:appinfo><alf:label>MOROCCO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MZ"><xs:annotation><xs:appinfo><alf:label>MOZAMBIQUE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MM"><xs:annotation><xs:appinfo><alf:label>MYANMAR</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NA"><xs:annotation><xs:appinfo><alf:label>NAMIBIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NR"><xs:annotation><xs:appinfo><alf:label>NAURU</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NP"><xs:annotation><xs:appinfo><alf:label>NEPAL</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NL"><xs:annotation><xs:appinfo><alf:label>NETHERLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AN"><xs:annotation><xs:appinfo><alf:label>NETHERLANDS ANTILLES</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NC"><xs:annotation><xs:appinfo><alf:label>NEW CALEDONIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NZ"><xs:annotation><xs:appinfo><alf:label>NEW ZEALAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NI"><xs:annotation><xs:appinfo><alf:label>NICARAGUA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NE"><xs:annotation><xs:appinfo><alf:label>NIGER</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NG"><xs:annotation><xs:appinfo><alf:label>NIGERIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NU"><xs:annotation><xs:appinfo><alf:label>NIUE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NF"><xs:annotation><xs:appinfo><alf:label>NORFOLK ISLAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MP"><xs:annotation><xs:appinfo><alf:label>NORTHERN MARIANA ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="NO"><xs:annotation><xs:appinfo><alf:label>NORWAY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="OM"><xs:annotation><xs:appinfo><alf:label>OMAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PK"><xs:annotation><xs:appinfo><alf:label>PAKISTAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PW"><xs:annotation><xs:appinfo><alf:label>PALAU</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PS"><xs:annotation><xs:appinfo><alf:label>PALESTINIAN TERRITORY, OCCUPIED</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PA"><xs:annotation><xs:appinfo><alf:label>PANAMA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PG"><xs:annotation><xs:appinfo><alf:label>PAPUA NEW GUINEA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PY"><xs:annotation><xs:appinfo><alf:label>PARAGUAY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PE"><xs:annotation><xs:appinfo><alf:label>PERU</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PH"><xs:annotation><xs:appinfo><alf:label>PHILIPPINES</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PN"><xs:annotation><xs:appinfo><alf:label>PITCAIRN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PL"><xs:annotation><xs:appinfo><alf:label>POLAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PT"><xs:annotation><xs:appinfo><alf:label>PORTUGAL</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PR"><xs:annotation><xs:appinfo><alf:label>PUERTO RICO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="QA"><xs:annotation><xs:appinfo><alf:label>QATAR</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="RE"><xs:annotation><xs:appinfo><alf:label>RÉUNION</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="RO"><xs:annotation><xs:appinfo><alf:label>ROMANIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="RU"><xs:annotation><xs:appinfo><alf:label>RUSSIAN FEDERATION</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="RW"><xs:annotation><xs:appinfo><alf:label>RWANDA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="BL"><xs:annotation><xs:appinfo><alf:label>SAINT BARTHÉLEMY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SH"><xs:annotation><xs:appinfo><alf:label>SAINT HELENA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="KN"><xs:annotation><xs:appinfo><alf:label>SAINT KITTS AND NEVIS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LC"><xs:annotation><xs:appinfo><alf:label>SAINT LUCIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="MF"><xs:annotation><xs:appinfo><alf:label>SAINT MARTIN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="PM"><xs:annotation><xs:appinfo><alf:label>SAINT PIERRE AND MIQUELON</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="VC"><xs:annotation><xs:appinfo><alf:label>SAINT VINCENT AND THE GRENADINES</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="WS"><xs:annotation><xs:appinfo><alf:label>SAMOA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SM"><xs:annotation><xs:appinfo><alf:label>SAN MARINO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ST"><xs:annotation><xs:appinfo><alf:label>SAO TOME AND PRINCIPE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SA"><xs:annotation><xs:appinfo><alf:label>SAUDI ARABIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SN"><xs:annotation><xs:appinfo><alf:label>SENEGAL</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="RS"><xs:annotation><xs:appinfo><alf:label>SERBIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SC"><xs:annotation><xs:appinfo><alf:label>SEYCHELLES</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SL"><xs:annotation><xs:appinfo><alf:label>SIERRA LEONE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SG"><xs:annotation><xs:appinfo><alf:label>SINGAPORE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SK"><xs:annotation><xs:appinfo><alf:label>SLOVAKIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SI"><xs:annotation><xs:appinfo><alf:label>SLOVENIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SB"><xs:annotation><xs:appinfo><alf:label>SOLOMON ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SO"><xs:annotation><xs:appinfo><alf:label>SOMALIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ZA"><xs:annotation><xs:appinfo><alf:label>SOUTH AFRICA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GS"><xs:annotation><xs:appinfo><alf:label>SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ES"><xs:annotation><xs:appinfo><alf:label>SPAIN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="LK"><xs:annotation><xs:appinfo><alf:label>SRI LANKA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SD"><xs:annotation><xs:appinfo><alf:label>SUDAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SR"><xs:annotation><xs:appinfo><alf:label>SURINAME</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SJ"><xs:annotation><xs:appinfo><alf:label>SVALBARD AND JAN MAYEN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SZ"><xs:annotation><xs:appinfo><alf:label>SWAZILAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SE"><xs:annotation><xs:appinfo><alf:label>SWEDEN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="CH"><xs:annotation><xs:appinfo><alf:label>SWITZERLAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="SY"><xs:annotation><xs:appinfo><alf:label>SYRIAN ARAB REPUBLIC</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TW"><xs:annotation><xs:appinfo><alf:label>TAIWAN, PROVINCE OF CHINA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TJ"><xs:annotation><xs:appinfo><alf:label>TAJIKISTAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TZ"><xs:annotation><xs:appinfo><alf:label>TANZANIA, UNITED REPUBLIC OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TH"><xs:annotation><xs:appinfo><alf:label>THAILAND</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TL"><xs:annotation><xs:appinfo><alf:label>TIMOR-LESTE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TG"><xs:annotation><xs:appinfo><alf:label>TOGO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TK"><xs:annotation><xs:appinfo><alf:label>TOKELAU</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TO"><xs:annotation><xs:appinfo><alf:label>TONGA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TT"><xs:annotation><xs:appinfo><alf:label>TRINIDAD AND TOBAGO</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TN"><xs:annotation><xs:appinfo><alf:label>TUNISIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TR"><xs:annotation><xs:appinfo><alf:label>TURKEY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TM"><xs:annotation><xs:appinfo><alf:label>TURKMENISTAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TC"><xs:annotation><xs:appinfo><alf:label>TURKS AND CAICOS ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="TV"><xs:annotation><xs:appinfo><alf:label>TUVALU</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="UG"><xs:annotation><xs:appinfo><alf:label>UGANDA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="UA"><xs:annotation><xs:appinfo><alf:label>UKRAINE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="AE"><xs:annotation><xs:appinfo><alf:label>UNITED ARAB EMIRATES</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="GB"><xs:annotation><xs:appinfo><alf:label>UNITED KINGDOM</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="US"><xs:annotation><xs:appinfo><alf:label>UNITED STATES</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="UM"><xs:annotation><xs:appinfo><alf:label>UNITED STATES MINOR OUTLYING ISLANDS</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="UY"><xs:annotation><xs:appinfo><alf:label>URUGUAY</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="UZ"><xs:annotation><xs:appinfo><alf:label>UZBEKISTAN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="VU"><xs:annotation><xs:appinfo><alf:label>VANUATU</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="VE"><xs:annotation><xs:appinfo><alf:label>VENEZUELA, BOLIVARIAN REPUBLIC OF</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="VN"><xs:annotation><xs:appinfo><alf:label>VIET NAM</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="VG"><xs:annotation><xs:appinfo><alf:label>VIRGIN ISLANDS, BRITISH</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="VI"><xs:annotation><xs:appinfo><alf:label>VIRGIN ISLANDS, U.S.</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="WF"><xs:annotation><xs:appinfo><alf:label>WALLIS AND FUTUNA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="EH"><xs:annotation><xs:appinfo><alf:label>WESTERN SAHARA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="YE"><xs:annotation><xs:appinfo><alf:label>YEMEN</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ZM"><xs:annotation><xs:appinfo><alf:label>ZAMBIA</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
<xs:enumeration value="ZW"><xs:annotation><xs:appinfo><alf:label>ZIMBABWE</alf:label></xs:appinfo></xs:annotation></xs:enumeration>
</xs:restriction>
</xs:simpleType>
New alfrescowww-xml library
Testing the speakers
I’ve been playing with 7digital’s wonderful MP3 store lately, and I must say I’m damn impressed with it so far.
It’s hard to believe that despite Amazon having had their own MP3 store open state-side for a year or so now, they haven’t managed to roll a similar service out on this side of the pond.
As a result, the market over here is still saturated primarily by iTunes and secondarily by the army of sellers flogging songs in Microsoft’s DRM-encumbered and closed WMA format.
7digital rocks because:
- Their store works in a normal web browser and doesn’t require some crappy application on my computer, unlike some I could mention
- The site itself is amazingly well designed and Just Works
- All the songs are available in 320kbps MP3 format with no DRM at all
- iTunes perhaps aside, the range of artists is second-to-none
- The prices are pretty damn good, with most tracks at 79p and albums from £5
Note to the rest of the music industry: this is how you should be encouraging music lovers to not rip off artists – by providing practical alternatives to illegally downloading material, alternatives that aren’t over-restrictive and actually treat people like adults rather than children.
Rather than wasting millions on lawyers attempting to sue unfortunate souls in Oklahoma who’ve had their wifi hijacked by people on BitTorrent (they’re unfortunate because of their poorly-set up wifi, not because they live in Oklahoma. I’ve never been there) – money that could be better spent on encouraging grass-roots efforts to help actual musicians.
Alfresco Share yn Gymraeg
Tracking string updates in HEAD is probably not the most productive way to manage a translation project, but I’m impatient.
Despite that, at this moment in time all the translatable text of Alfresco Share is now available in Welsh. Some things such as page titles don’t seem to be internationalisable yet, but I estimate some 90% of the content is fully translated.
A small patch to the Web Script Framework is needed to force the web app to use the locale-specific message bundles rather than the default ones but once that was done and I’d thrown the translated .properties files onto the classpath (they must be added into the web app itself, not anywhere else) it all started magically working.
Screenshots ahoy!
A new look
I’m like a kid with a new toy right now. The new WordPress.com blog rocks a lot, but consequently I’ve spent more time than is healthy tweaking it this evening.
So far I have a custom header image which I’m pretty happy with and the layout of the four columns is starting to work. Honestly, I don’t know how I ever coped with just two. The CSS could do with some work, but apparently it’s $15 to change that. It can wait for now.
Now I just need to start writing stuff again. We’ll see how that goes.
EA cause chaos in North London!
We all know the guys at Electronic Arts know a good WCM platform when they see one, but their latest trick over here has landed them some mixed PR – taking over a petrol station in Finsbury Park and giving away £20,000 of fuel to anyone who wants it!
According to the article on BBC News, the stunt is in order to promote their latest game Mercenaries 2, but the disruption has upset a few local residents.
Louise Marchant, from Electronic Arts, said the scenes of queuing mimicked aspects of the game.
Wicked.