[126641] Relative paths [148416] Key value warning fixed [158037] URI/Location [159368] Dialog box enhancement
diff --git a/bundles/org.eclipse.wst.xml.core/src-catalog/org/eclipse/wst/xml/core/internal/catalog/CatalogReader.java b/bundles/org.eclipse.wst.xml.core/src-catalog/org/eclipse/wst/xml/core/internal/catalog/CatalogReader.java
index d97e100..b7b80d6 100644
--- a/bundles/org.eclipse.wst.xml.core/src-catalog/org/eclipse/wst/xml/core/internal/catalog/CatalogReader.java
+++ b/bundles/org.eclipse.wst.xml.core/src-catalog/org/eclipse/wst/xml/core/internal/catalog/CatalogReader.java
@@ -20,7 +20,6 @@
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 
-import org.eclipse.wst.common.uriresolver.internal.URI;
 import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
 import org.eclipse.wst.xml.core.internal.Logger;
 import org.eclipse.wst.xml.core.internal.XMLCoreMessages;
@@ -30,6 +29,7 @@
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
+import org.eclipse.wst.common.uriresolver.internal.URI;
 
 /**
  * 
@@ -63,16 +63,22 @@
     public CatalogContentHandler(Catalog xmlCatalog)
     {
       this.catalog = xmlCatalog;
-      baseURIStack.push(xmlCatalog.getBase());
+      String base = xmlCatalog.getBase();
+      if(base == null || base == "") {  //$NON-NLS-1$
+    	  base = xmlCatalog.getLocation();
+      }
+      baseURIStack.push(base);
     }
 
     public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
     {
       // set base
-      String base = attributes.getValue("", OASISCatalogConstants.ATTR_BASE); //$NON-NLS-1$
+      String base = attributes.getValue(OASISCatalogConstants.ATTR_BASE); //$NON-NLS-1$
       if (base != null && !base.equals("")) //$NON-NLS-1$
       {
-          baseURIStack.push(base);    
+          baseURIStack.push(base);
+      } else {
+    	  baseURIStack.push(baseURIStack.peek());
       }
 
 	  // processing for backward compatability start
@@ -94,6 +100,12 @@
 		    String key = attributes.getValue("", CompatabilityConstants.ATT_ID);   		     //$NON-NLS-1$
 	        catalogEntry.setKey(key);
 	        String entryUri = attributes.getValue("", CompatabilityConstants.ATT_URI);    //$NON-NLS-1$
+	        
+	        // For relative URIs, try to resolve them using the corresponding base URI.
+	        if(URI.createURI(entryUri).isRelative()) {
+	        	entryUri = URI.resolveRelativeURI(entryUri, baseURIStack.peek().toString());
+	        }
+
 	        catalogEntry.setURI(URIHelper.ensureURIProtocolFormat(entryUri));  
 	        String webURL = attributes.getValue("", CompatabilityConstants.ATT_WEB_URL); //$NON-NLS-1$
 			if (webURL != null)
@@ -156,10 +168,12 @@
       {
         CatalogEntry catalogEntry = (CatalogEntry) catalogElement;
         catalogEntry.setKey(key); 
-        URI baseURI = URI.createURI(catalog.getLocation());
-        URI locationURI = URI.createURI(URIHelper.ensureURIProtocolFormat(entryURI));
-        URI resolved = locationURI.resolve(baseURI);        
-        catalogEntry.setURI(resolved.toString());     
+        
+        // For relative URIs, try to resolve them using the corresponding base URI.
+        if(URI.createURI(entryURI).isRelative()) {
+        	entryURI = URI.resolveRelativeURI(entryURI, baseURIStack.peek().toString());
+        }
+        catalogEntry.setURI(URIHelper.ensureURIProtocolFormat(entryURI));     
       }
       // process any other attributes
       for (int j = 0; j < attributes.getLength(); j++)
diff --git a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/EditCatalogEntryDialog.java b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/EditCatalogEntryDialog.java
index c78f642..376674e 100644
--- a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/EditCatalogEntryDialog.java
+++ b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/EditCatalogEntryDialog.java
@@ -83,6 +83,7 @@
 
 		protected void computeErrorMessage() {
 			errorMessage = null;
+			warningMessage = null;
 
 			if (errorMessage == null) {
 				String fileName = resourceLocationField.getText();
@@ -93,18 +94,26 @@
 
 					String uri = fileName;
 					if (!URIHelper.hasProtocol(uri)) {
-						uri = URIHelper.isAbsolute(uri) ? URIHelper.prependFileProtocol(uri) : URIHelper.prependPlatformResourceProtocol(uri);
+					URIHelper.isAbsolute(uri);
+						uri = (URIHelper.isAbsolute(uri)) ? URIHelper.prependFileProtocol(uri) : URIHelper.prependPlatformResourceProtocol(uri);
 					}
 
 					if (errorMessage == null && !URIHelper.isReadableURI(uri, false)) {
 						errorMessage = XMLCatalogMessages.UI_WARNING_URI_NOT_FOUND_COLON + fileName;
 					}
-				}
-				else {
+				} else {
 					// this an error that is not actaully
 					// reported ... OK is just disabled
 					errorMessage = "";  //$NON-NLS-1$
 				}
+
+				// Make sure the key is a fully qualified URI in the cases where the key type is "System ID" or "Schema location"
+				if (keyField.getText().length() > 0 && getKeyType() == ICatalogEntry.ENTRY_TYPE_SYSTEM ) {
+					URI uri = URI.createURI(keyField.getText());
+					if (uri.scheme() == null) {
+						warningMessage = XMLCatalogMessages.UI_WARNING_SHOULD_BE_FULLY_QUALIFIED_URI;
+					}
+				}
 			}
 
 			if (errorMessage == null && checkboxButton.getSelection() && webAddressField.getText().trim().length() == 0) {
@@ -156,14 +165,16 @@
 			group.setLayout(layout);
 
 			Label resourceLocationLabel = new Label(group, SWT.NONE);
-			resourceLocationLabel.setText(XMLCatalogMessages.UI_LABEL_URI_COLON);
+			resourceLocationLabel.setText(XMLCatalogMessages.UI_LABEL_LOCATION_COLON);
 
 			resourceLocationField = new Text(group, SWT.SINGLE | SWT.BORDER);
 			gd = new GridData();
 			gd.horizontalAlignment = SWT.FILL;
 			gd.grabExcessHorizontalSpace = true;
 			resourceLocationField.setLayoutData(gd);
-			resourceLocationField.setText(getDisplayValue(getEntry().getURI()));
+			
+			resourceLocationField.setText(getDisplayValue(URIHelper.URIToLocation(getEntry().getURI())));
+
 			// WorkbenchHelp.setHelp(resourceLocationField,
 			// XMLBuilderContextIds.XMLP_ENTRY_URI);
 			resourceLocationField.addModifyListener(modifyListener);
@@ -304,11 +315,7 @@
 		}
 
 		public void saveData() {
-			String uri = resourceLocationField.getText();
-			if (!URIHelper.hasProtocol(uri)) {
-				uri = URIHelper.isAbsolute(uri) ? URIHelper.prependFileProtocol(uri) : URIHelper.prependPlatformResourceProtocol(uri);
-			}
-			getEntry().setURI(uri);
+			getEntry().setURI(URIHelper.LocationToURI(resourceLocationField.getText()));
 			getEntry().setKey(keyField.getText());
 			getEntry().setEntryType(getKeyType());
 			getEntry().setAttributeValue(ICatalogEntry.ATTR_WEB_URL, checkboxButton.getSelection() ? webAddressField.getText() : null);
@@ -422,8 +429,10 @@
 
 		public void createAndOpen() {
 			this.create();
-			getShell().setText(XMLCatalogMessages.UI_LABEL_SELECT_FILE);
 			setBlockOnOpen(true);
+			getShell().setText(XMLCatalogMessages.UI_LABEL_FILE_SELECTION);
+			this.setTitle(XMLCatalogMessages.UI_LABEL_SELECT_FILE);
+			this.setMessage(XMLCatalogMessages.UI_LABEL_CHOOSE_FILE_TO_ADD_TO_CATALOG);
 			open();
 		}
 
@@ -436,7 +445,6 @@
 			filterControl.setLayoutData(gd);
 
 			filterControl.setText(XMLCatalogMessages.UI_TEXT_SELECT_FILE_FILTER_CONTROL);
-
 			filterControl.add(XMLCatalogMessages.UI_TEXT_SELECT_FILE_FILTER_CONTROL);
 
 			for (Iterator i = CatalogFileTypeRegistryReader.getXMLCatalogFileTypes().iterator(); i.hasNext();) {
@@ -551,7 +559,7 @@
 
 			catalogLocationField = new Text(group, SWT.SINGLE | SWT.BORDER);
 			catalogLocationField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			catalogLocationField.setText(getDisplayValue(getNextCatalog().getCatalogLocation()));
+			catalogLocationField.setText(URIHelper.URIToLocation(getDisplayValue(getNextCatalog().getCatalogLocation())));
 			// WorkbenchHelp.setHelp(resourceLocationField,
 			// XMLBuilderContextIds.XMLP_ENTRY_URI);
 			catalogLocationField.addModifyListener(modifyListener);
@@ -585,11 +593,7 @@
 		}
 
 		public void saveData() {
-			String uri = catalogLocationField.getText();
-			if (!URIHelper.hasProtocol(uri)) {
-				uri = URIHelper.isAbsolute(uri) ? URIHelper.prependFileProtocol(uri) : URIHelper.prependPlatformResourceProtocol(uri);
-			}
-			getNextCatalog().setCatalogLocation(URIHelper.ensureFileURIProtocolFormat(uri));
+			getNextCatalog().setCatalogLocation(URIHelper.LocationToURI(catalogLocationField.getText()));
 		}
 
 		protected void updateWidgets(Widget widget) {
@@ -643,6 +647,8 @@
 	protected ICatalogElement fCatalogElement;
 
 	protected String errorMessage;
+	
+	protected String warningMessage;
 
 	protected Button okButton;
 
@@ -839,7 +845,11 @@
 	}
 
 	protected void updateErrorMessageLabel(Label errorMessageLabel) {
-		errorMessageLabel.setText(errorMessage != null ? errorMessage : ""); //$NON-NLS-1$
+		if(errorMessage != null)
+		errorMessageLabel.setText(errorMessage);
+		else if (warningMessage != null)
+			errorMessageLabel.setText(warningMessage);
+		else errorMessageLabel.setText("");
 	}
 
 	protected void updateOKButtonState() {
@@ -951,7 +961,7 @@
 			FileDialog dialog = new FileDialog(getShell(), SWT.SINGLE);
 			String file = dialog.open();
 			if (control instanceof Text && file != null) {
-				((Text) control).setText(URIHelper.ensureFileURIProtocolFormat(URI.createFileURI(file).toString()));
+				((Text) control).setText(file);
 			}
 		}
 	}
diff --git a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogEntryDetailsView.java b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogEntryDetailsView.java
index 4067b1d..53433e3 100644
--- a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogEntryDetailsView.java
+++ b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogEntryDetailsView.java
@@ -19,6 +19,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.ScrollBar;
 import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
 import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalogEntry;
 import org.eclipse.wst.xml.core.internal.catalog.provisional.INextCatalog;
 
@@ -37,7 +38,7 @@
 	detailsText = new Text(parent, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
 
 	GridData data = new GridData(GridData.FILL_BOTH);	
-	data.heightHint = 65;
+	data.heightHint = 85;
 	detailsText.setLayoutData(data);
 
     verticalScroll = detailsText.getVerticalBar();
@@ -49,8 +50,21 @@
 
   public void setCatalogElement(ICatalogEntry entry)
   {                       
-    String value = getDisplayValue(entry != null ? entry.getURI() : ""); //$NON-NLS-1$
+	  
+	String value = getDisplayValue(entry != null ? entry.getURI() : ""); //$NON-NLS-1$
     String line1 = XMLCatalogMessages.UI_LABEL_DETAILS_URI_COLON + "\t\t" + value; //$NON-NLS-1$
+
+    String line0;
+    if (value.startsWith("jar:file:")) {
+    	String jarFile = URIHelper.URIToLocation(URIHelper.ensureURIProtocolFormat(value.substring("jar:".length(), value.indexOf('!'))));
+    	String internalFile = URIHelper.URIToLocation(URIHelper.ensureURIProtocolFormat("file://" + value.substring(value.indexOf('!') + 1)));
+    	line0 = XMLCatalogMessages.UI_LABEL_DETAILS_URI_LOCATION + "\t" + internalFile + " " + XMLCatalogMessages.UI_LABEL_DETAILS_IN_JAR_FILE + " " + jarFile;
+    }
+    else {
+    	value = URIHelper.URIToLocation(value);
+    	line0 = XMLCatalogMessages.UI_LABEL_DETAILS_URI_LOCATION + "\t" + value; //$NON-NLS-1$
+ 	
+    }
     
     value = entry != null ? getKeyTypeValue(entry) : ""; //$NON-NLS-1$
     String line2 = XMLCatalogMessages.UI_KEY_TYPE_DETAILS_COLON + "\t" + value; //$NON-NLS-1$
@@ -58,7 +72,7 @@
     value = getDisplayValue(entry != null ? entry.getKey() : ""); //$NON-NLS-1$
     String line3 = XMLCatalogMessages.UI_LABEL_DETAILS_KEY_COLON + "\t\t" + value; //$NON-NLS-1$
 
-    String entireString = "\n" + line1 + "\n" + line2 + "\n" + line3; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+    String entireString = "\n" + line0 + "\n" + line1 + "\n" + line2 + "\n" + line3; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
     detailsText.setText(entireString);
   }  
   
@@ -67,7 +81,9 @@
     String value = getDisplayValue(nextCatalog != null ? nextCatalog.getCatalogLocation() : ""); //$NON-NLS-1$
     String line1 = XMLCatalogMessages.UI_LABEL_DETAILS_URI_COLON + "\t\t" + value; //$NON-NLS-1$
     
-    String entireString = "\n" + line1; //$NON-NLS-1$
+    String line0 = XMLCatalogMessages.UI_LABEL_DETAILS_URI_LOCATION + "\t" + URIHelper.URIToLocation(value);
+    
+    String entireString = "\n" + line0 + "\n" + line1; //$NON-NLS-1$
     detailsText.setText(entireString);
   }  
 
diff --git a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogMessages.java b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogMessages.java
index 90434df..3461ea5 100644
--- a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogMessages.java
+++ b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogMessages.java
@@ -30,10 +30,12 @@
 	public static String UI_LABEL_KEY;
 	public static String UI_LABEL_KEY_COLON;
 	public static String UI_LABEL_DETAILS_KEY_COLON;
+	public static String UI_LABEL_DETAILS_IN_JAR_FILE;
 	public static String UI_LABEL_URI;
-	public static String UI_LABEL_URI_COLON;
+	public static String UI_LABEL_LOCATION_COLON;
 	public static String UI_LABEL_CATALOG_URI_COLON;
 	public static String UI_LABEL_DETAILS_URI_COLON;
+	public static String UI_LABEL_DETAILS_URI_LOCATION;
 	public static String UI_KEY_TYPE_COLON;
 	public static String UI_KEY_TYPE_DETAILS_COLON;
 	public static String UI_KEY_TYPE_DESCRIPTION_XSD_PUBLIC;
@@ -43,6 +45,9 @@
 	public static String UI_KEY_TYPE_DESCRIPTION_URI;
 	public static String UI_LABEL_SPECIFY_ALTERNATIVE_WEB_URL;
 	public static String UI_WARNING_URI_MUST_NOT_HAVE_DOTS;
+	public static String UI_LABEL_FILE_SELECTION;
+	public static String UI_LABEL_CHOOSE_FILE_TO_ADD_TO_CATALOG;
+
 
 	public static String UI_WARNING_URI_NOT_FOUND_COLON;
 	public static String UI_WARNING_URI_NOT_FOUND_LONG;
@@ -51,7 +56,7 @@
 	public static String UI_WARNING_NO_ELEMENT;
 	public static String UI_WARNING_NO_ELEMENT_DTD_LONG;
 	public static String UI_WARNING_NO_ELEMENT_XSD_LONG;
-	public static String UI_WARNING_MUST_BE_FULLY_QUALIFIED_URI;
+	public static String UI_WARNING_SHOULD_BE_FULLY_QUALIFIED_URI;
 
 
 	//NewModelWizard
@@ -92,7 +97,8 @@
 	public static String UI_LABEL_DETAILS;
 	public static String UI_LABEL_USER_SPECIFIED_ENTRIES;
 	public static String UI_LABEL_PLUGIN_SPECIFIED_ENTRIES;
-
+	public static String UI_LABEL_PLATFORM_RESOURCE;
+	public static String UI_LABEL_FILE_SYSTEM_RESOURCE;
 	// AdvancedOptionsDialog
 	public static String UI_BUTTON_IMPORT;
 	public static String UI_BUTTON_EXPORT;
diff --git a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogResources.properties b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogResources.properties
index 34ca383..7782458 100644
--- a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogResources.properties
+++ b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogResources.properties
@@ -19,12 +19,14 @@
 UI_LABEL_KEY                         = Key
 UI_LABEL_KEY_COLON                   = &Key:
 UI_LABEL_DETAILS_KEY_COLON           = Key:
+UI_LABEL_DETAILS_IN_JAR_FILE		 = in jar file
 UI_LABEL_URI                         = URI
-UI_LABEL_URI_COLON                   = &URI:  
-UI_LABEL_CATALOG_URI_COLON		      = URI of another XML Catalog file:
+UI_LABEL_LOCATION_COLON              = &Location:  
+UI_LABEL_CATALOG_URI_COLON		      = Location of another XML Catalog file:
 UI_LABEL_DETAILS_URI_COLON           = URI:   
 UI_KEY_TYPE_COLON                    = Key &Type:
 UI_KEY_TYPE_DETAILS_COLON            = Key Type:
+UI_LABEL_DETAILS_URI_LOCATION        = Location:
 UI_KEY_TYPE_DESCRIPTION_XSD_PUBLIC   = Namespace Name
 UI_KEY_TYPE_DESCRIPTION_XSD_SYSTEM   = Schema Location
 UI_KEY_TYPE_DESCRIPTION_DTD_PUBLIC   = Public ID
@@ -32,9 +34,11 @@
 UI_KEY_TYPE_DESCRIPTION_URI   		  = URI
 UI_LABEL_SPECIFY_ALTERNATIVE_WEB_URL = Specify &alternative web address
 UI_WARNING_URI_MUST_NOT_HAVE_DOTS    = URI must not included '.' or '..'
+UI_LABEL_PLATFORM_RESOURCE 		 	 = Workspace
+UI_LABEL_FILE_SYSTEM_RESOURCE		 = File System
 
 UI_WARNING_URI_NOT_FOUND_COLON       = The specified resource can't be located :
-UI_WARNING_MUST_BE_FULLY_QUALIFIED_URI = The key value must be a fully qualified URI
+UI_WARNING_SHOULD_BE_FULLY_QUALIFIED_URI = Warning: the key value should be a fully qualified URI
 UI_WARNING_URI_NOT_FOUND_LONG        = The specified file cannot be found. It may have been moved to a different location. If the file is located remotely, a network connection cannot be established to the remote location. 
 UI_WARNING_INVALID_FILE              = The specified file is invalid.
 UI_WARNING_INVALID_FILE_LONG         = The specified file is invalid. A proper XML file cannot be generated from it. Open the DTD or XML schema file, edit it as necessary, validate it and try again.
@@ -81,7 +85,9 @@
 UI_LABEL_DETAILS                     = Details
 UI_LABEL_USER_SPECIFIED_ENTRIES      = User Specified Entries
 UI_LABEL_PLUGIN_SPECIFIED_ENTRIES    = Plugin Specified Entries
-
+UI_LABEL_FILE_SELECTION				 = File Selection
+UI_LABEL_CHOOSE_FILE_TO_ADD_TO_CATALOG				 = Choose a file to add to the XML Catalog
+ 
 !AdvancedOptionsDialog
 UI_LABEL_DIALOG_DESCRIPTION          = Use the buttons below to import or export XML Catalog settings.
 UI_BUTTON_IMPORT                     = Import...
@@ -102,4 +108,4 @@
 UI_BUTTON_MENU_BROWSE_WORKSPACE=Workspace...
 UI_BUTTON_MENU_BROWSE_FILE_SYSTEM=File System...
 UI_LABEL_SELECT_FILE_FILTER_CONTROL=Files of type:
-UI_TEXT_SELECT_FILE_FILTER_CONTROL=All Supported Files
+UI_TEXT_SELECT_FILE_FILTER_CONTROL=All Files
diff --git a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogTreeViewer.java b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogTreeViewer.java
index 3220c01..b8637f5 100644
--- a/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogTreeViewer.java
+++ b/bundles/org.eclipse.wst.xml.ui/src-catalog/org/eclipse/wst/xml/ui/internal/catalog/XMLCatalogTreeViewer.java
@@ -80,7 +80,13 @@
 			}
 			else if (object instanceof INextCatalog) {
 				INextCatalog nextCatalog = (INextCatalog) object;
-				result = nextCatalog.getCatalogLocation();
+				//result = nextCatalog.getCatalogLocation();
+				result = URIHelper.URIToLocation(nextCatalog.getCatalogLocation());
+				if (nextCatalog.getCatalogLocation().startsWith("file:")) {
+					result += " (" + XMLCatalogMessages.UI_LABEL_FILE_SYSTEM_RESOURCE + ")";
+				} else if (nextCatalog.getCatalogLocation().startsWith("platform:")) {
+					result += " (" + XMLCatalogMessages.UI_LABEL_PLATFORM_RESOURCE + ")";
+				}
 			}
 			return result != null ? result : object.toString();
 		}