From: <jos...@us...> - 2010-10-29 08:34:30
|
Revision: 6704 http://geonetwork.svn.sourceforge.net/geonetwork/?rev=6704&view=rev Author: josegar74 Date: 2010-10-29 08:34:23 +0000 (Fri, 29 Oct 2010) Log Message: ----------- #366: editor / add contextual label translation using allowing full xpath for elements Modified Paths: -------------- branches/2.6.x/web/src/main/java/org/fao/geonet/services/schema/Info.java branches/2.6.x/web/src/main/webapp/loc/ar/xml/strings.xml branches/2.6.x/web/src/main/webapp/loc/cn/xml/strings.xml branches/2.6.x/web/src/main/webapp/loc/de/xml/strings.xml branches/2.6.x/web/src/main/webapp/loc/en/xml/strings.xml branches/2.6.x/web/src/main/webapp/loc/es/xml/strings.xml branches/2.6.x/web/src/main/webapp/loc/fr/xml/strings.xml branches/2.6.x/web/src/main/webapp/loc/nl/xml/strings.xml branches/2.6.x/web/src/main/webapp/loc/pt/xml/strings.xml branches/2.6.x/web/src/main/webapp/loc/ru/xml/strings.xml branches/2.6.x/web/src/main/webapp/scripts/editor/simpletooltip.js branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/ar/labels.xml branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/cn/labels.xml branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/de/labels.xml branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/en/labels.xml branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/es/labels.xml branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/fr/labels.xml branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/nl/labels.xml branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/pt/labels.xml branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/ru/labels.xml branches/2.6.x/web/src/main/webapp/xsl/metadata.xsl Modified: branches/2.6.x/web/src/main/java/org/fao/geonet/services/schema/Info.java =================================================================== --- branches/2.6.x/web/src/main/java/org/fao/geonet/services/schema/Info.java 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/java/org/fao/geonet/services/schema/Info.java 2010-10-29 08:34:23 UTC (rev 6704) @@ -113,10 +113,12 @@ String name = Util.getAttrib(elem, "name"); String context = Util.getAttrib(elem, "context", ""); String isoType = Util.getAttrib(elem, "isoType", ""); + String fullContext = Util.getAttrib(elem, "fullContext", ""); name = normalizeNamespace(elem, name); context = normalizeNamespace(elem, context); isoType = normalizeNamespace(elem, isoType); + fullContext = normalizeNamespace(elem, fullContext); if (name == null) return buildError(elem, UNKNOWN_NAMESPACE); @@ -124,12 +126,12 @@ if (!dm.existsSchema(schema)) return buildError(elem, UNKNOWN_SCHEMA); - return getHelp(dm, langCode, elem, fileName, schema, name, context, + return getHelp(dm, langCode, elem, fileName, schema, name, context, fullContext, isoType); } private Element getHelp(DataManager dm, String langCode, Element elem, - String fileName, String schema, String name, String context, + String fileName, String schema, String name, String context, String fullContext, String isoType) throws BadInputEx, OperationAbortedEx { File file = getFile(langCode, schema, fileName); @@ -147,6 +149,7 @@ try { Element entries = xfc.get(); + // Check fullContext for (Object o : entries.getChildren()) { Element currElem = (Element) o; String currName = currElem.getAttributeValue("name"); @@ -162,20 +165,46 @@ currContext = normalizeNamespace(entries, currContext); if (name.equals(currName) - && (context.equals(currContext) || isoType + && (fullContext.equals(currContext) || isoType .equals(currContext))) return (Element) currElem.clone(); - } else if (name.equals(currName)) + } else if (name.equals(currName) + && (currContext != null) && fullContext.equals(currContext)) return (Element) currElem.clone(); } + // Check context + for (Object o : entries.getChildren()) { + Element currElem = (Element) o; + String currName = currElem.getAttributeValue("name"); + String currContext = currElem.getAttributeValue("context"); + + currName = normalizeNamespace(entries, currName); + + if (currName == null) + throw new OperationAbortedEx("No namespace found for : " + + currName); + + if (currContext != null && context != null && isoType != null) { + currContext = normalizeNamespace(entries, currContext); + + if (name.equals(currName) + && (context.equals(currContext) || isoType + .equals(currContext))) + return (Element) currElem.clone(); + } else if (name.equals(currName)) + return (Element) currElem.clone(); + + } + if (schema.contains("iso19139") && !(schema.equals("iso19139"))) { return getHelp(dm, langCode, elem, fileName, "iso19139", name, - context, isoType); + context, fullContext, isoType); } else return buildError(elem, NOT_FOUND); } catch (Exception e) { + e.printStackTrace(); throw new OperationAbortedEx("Can't load xml file : " + file + " element name:" + name, e); } Modified: branches/2.6.x/web/src/main/webapp/loc/ar/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/ar/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/ar/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -116,7 +116,7 @@ <addXMLFragment>Add from dictionary ...</addXMLFragment> <translateWithGoogle>Use Google translation service to suggest a translation for selected language.</translateWithGoogle> <translateWithGoogle.maxSize js="true">Text to translate is larger than 5000 characters (see http://code.google.com/apis/ajaxlanguage/terms.html).</translateWithGoogle.maxSize> - <translateWithGoogle.emptyInput js="true">Main language input is empty. Add the main language value before using the translation service.</translateWithGoogle.emptyInput> + <translateWithGoogle.emptyInput js="true">Main language input is empty. Add the main language value before using the translation service.</translateWithGoogle.emptyInput> <layersAdded js="true">Selected layers have been added</layersAdded> <registrationFailed js="true">Error, registration failed:</registrationFailed> <tryAgain js="true">Try again later</tryAgain> @@ -333,6 +333,7 @@ <harvestingManagement>Harvesting management</harvestingManagement> <harvestingManDes>Add/modify/delete/start/stop harvesting tasks</harvestingManDes> <help>تعليمات</help> + <helpLinkTooltip js="true">تعليمات</helpLinkTooltip> <helpComplete>تعليمات كاملة</helpComplete> <helperList>Suggestions:</helperList> <hideAdvancedOptions>خيارات أقل</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/loc/cn/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/cn/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/cn/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -333,6 +333,7 @@ <harvestingManagement>Harvesting management</harvestingManagement> <harvestingManDes>Add/modify/delete/start/stop harvesting tasks</harvestingManDes> <help>显示帮助信息</help> + <helpLinkTooltip js="true">显示帮助信息</helpLinkTooltip> <helpComplete>显示完整版帮助信息</helpComplete> <helperList>Suggestions:</helperList> <hideAdvancedOptions>简单搜索</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/loc/de/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/de/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/de/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -333,6 +333,7 @@ <harvestingManagement>Harvesting Management</harvestingManagement> <harvestingManDes>Hinzufügen/Bearbeiten/Löschen und Ansehen von Harvesting Aufgaben</harvestingManDes> <help>Hilfe</help> + <helpLinkTooltip js="true">Hilfe</helpLinkTooltip> <helpComplete>Komplette Hilfe</helpComplete> <helperList>Vorschläge </helperList> <hideAdvancedOptions>Verstecke erweiterte Optionen</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/loc/en/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/en/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/en/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -333,6 +333,7 @@ <harvestingManagement>Harvesting management</harvestingManagement> <harvestingManDes>Add/modify/delete/start/stop harvesting tasks</harvestingManDes> <help>Help</help> + <helpLinkTooltip js="true">Help</helpLinkTooltip> <helpComplete>Complete help</helpComplete> <helperList>Suggestions:</helperList> <hideAdvancedOptions>Hide advanced options</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/loc/es/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/es/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/es/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <strings> - <ar>عربي</ar> <!-- Do not translate! --> + <ar>عربي</ar> <!-- Do not translate! --> <cn>中文</cn> <!-- Do not translate! --> <de>Deutsch</de> <!-- Do not translate! --> <en>English</en> <!-- Do not translate! --> @@ -333,6 +333,7 @@ <harvestingManagement>Manejo de harvesting</harvestingManagement> <harvestingManDes>Agregar/modificar/borrar/iniciar/parar tareas de harvesting</harvestingManDes> <help>Ayuda</help> + <helpLinkTooltip js="true">Ayuda</helpLinkTooltip> <helpComplete>Ayuda Completa</helpComplete> <helperList>Sugerencias:</helperList> <hideAdvancedOptions>Búsqueda Simple</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/loc/fr/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/fr/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/fr/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -336,6 +336,7 @@ <harvestingManagement>Gestion du moissonnage</harvestingManagement> <harvestingManDes>Ajouter/modifier/supprimer/lancer/arrêter les moissons (récupération de métadonnées depuis un noeud distant)</harvestingManDes> <help>Aide</help> + <helpLinkTooltip js="true">Aide</helpLinkTooltip> <helpComplete>Aide complet</helpComplete> <helperList>Suggestions :</helperList> <hideAdvancedOptions>Recherche simple</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/loc/nl/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/nl/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/nl/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -334,6 +334,7 @@ <harvestingManagement>Harvesting beheer</harvestingManagement> <harvestingManDes>Toevoegen/wijzigen/verwijderen/starten/stoppen van harvesting taken</harvestingManDes> <help>Help</help> + <helpLinkTooltip js="true">Help</helpLinkTooltip> <helpComplete>Complete help</helpComplete> <helperList>Suggestions:</helperList> <hideAdvancedOptions>Verberg geavanceerde opties</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/loc/pt/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/pt/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/pt/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -334,6 +334,7 @@ <harvestingManagement>Gestão de harvesting</harvestingManagement> <harvestingManDes>Adicionar/Modificar/Apagar/Iniciar/Parar tarefas de harvesting</harvestingManDes> <help>Apoio</help> + <helpLinkTooltip js="true">Apoio</helpLinkTooltip> <helpComplete>Apoio completo</helpComplete> <helperList>Sugestões</helperList> <hideAdvancedOptions>Ocultar os opções ampliadas</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/loc/ru/xml/strings.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/loc/ru/xml/strings.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/loc/ru/xml/strings.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -334,6 +334,7 @@ <harvestingManagement>Управление сбором метаданных</harvestingManagement> <harvestingManDes>Добавить/изменить/удалить/запустить/остановить сбор метаданных</harvestingManDes> <help>Помощь</help> + <helpLinkTooltip js="true">Помощь</helpLinkTooltip> <helpComplete>Полная помощь</helpComplete> <helperList>Suggestions:</helperList> <hideAdvancedOptions>Простой поиск</hideAdvancedOptions> Modified: branches/2.6.x/web/src/main/webapp/scripts/editor/simpletooltip.js =================================================================== --- branches/2.6.x/web/src/main/webapp/scripts/editor/simpletooltip.js 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/scripts/editor/simpletooltip.js 2010-10-29 08:34:23 UTC (rev 6704) @@ -12,10 +12,12 @@ var schema = tokens[0].substring(5); // remove stip. var name = tokens[1]; var context = tokens[2]; - var isoType = tokens[3]; - - var request = str.substitute(toolTipRequestTemp, { SCHEMA:schema, NAME:name, CONTEXT: context, ISOTYPE: isoType }); - + var fullContext = tokens[3]; + var isoType = tokens[4]; + + var request = str.substitute(toolTipRequestTemp, { SCHEMA:schema, NAME:name, CONTEXT: context, + FULLCONTEXT: fullContext, ISOTYPE: isoType }); + ker.send('xml.schema.info', request, ker.wrap(this, function(xmlRes) { var htmlTip = ''; tip = document.createElement('div'); @@ -58,15 +60,22 @@ var descr= xml.evalXPath(node, 'description'); var cond = xml.evalXPath(node, 'condition'); var help = xml.evalXPath(node, 'help'); - + var help_link = xml.evalXPath(node, 'help_link'); + if (cond == null) cond = ''; if (help == null) help = ''; - - var data = { LABEL: label, DESCRIPTION : descr, CONDITION : cond, HELP : help }; - - return str.substitute(toolTipTemp, data); + + if (help_link != null) { + var data = { LABEL: label, DESCRIPTION : descr, HELP_LINK: help_link, CONDITION : cond, HELP : help }; + + return str.substitute(toolTipTempLink, data); + } else { + var data = { LABEL: label, DESCRIPTION : descr, CONDITION : cond, HELP : help }; + + return str.substitute(toolTipTemp, data); + } } } @@ -84,7 +93,7 @@ ' xmlns:gco="http://www.isotc211.org/2005/gco"'+ ' xmlns:dct="http://purl.org/dc/terms/"'+ ' xmlns:dc ="http://purl.org/dc/elements/1.1/">'+ -' <element schema="{SCHEMA}" name="{NAME}" context="{CONTEXT}" isoType="{ISOTYPE}"/>'+ +' <element schema="{SCHEMA}" name="{NAME}" context="{CONTEXT}" fullContext="{FULLCONTEXT}" isoType="{ISOTYPE}"/>'+ '</request>'; //===================================================================================== @@ -99,6 +108,12 @@ //===================================================================================== +var toolTipTempLink = toolTipTemp + +' <br/>'+ +' <a href="{HELP_LINK}" target="_blank">' + translate('helpLinkTooltip') + '</a>'; + +//===================================================================================== + var toolTipErrorTemp= ' <font color="#C00000">{ERROR}</font>'; Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/ar/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/ar/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/ar/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -4,7 +4,8 @@ xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" - xmlns:srv="http://www.isotc211.org/2005/srv"> + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> <!-- ==================================================== --> <element name="gmd:CI_OnlineResource"> Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/cn/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/cn/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/cn/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -4,7 +4,8 @@ xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" - xmlns:srv="http://www.isotc211.org/2005/srv"> + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> <!-- ==================================================== --> <element name="gmd:CI_OnlineResource"> Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/de/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/de/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/de/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -7,7 +7,9 @@ --> <labels xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" - xmlns:srv="http://www.isotc211.org/2005/srv"> + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> + <element name="gmd:MD_Metadata" id="1"> <label>Metadaten</label> <help>Dieses Element bildet im ISO Standard 19115 die Basisklasse eines Metadatensatzes. Hier Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/en/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/en/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/en/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -1,7 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <labels xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" - xmlns:srv="http://www.isotc211.org/2005/srv"> + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> + <element name="gmd:MD_ScopeCode"> <label>Scope code</label> <description>Class of information to which the referencing entity applies</description> Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/es/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/es/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/es/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -4,7 +4,8 @@ xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" - xmlns:srv="http://www.isotc211.org/2005/srv"> + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> <!-- ==================================================== --> <element name="gmd:CI_OnlineResource"> Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/fr/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/fr/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/fr/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -11,7 +11,13 @@ portant modalités d'application de la directive 2007/2/CE du Parlement européen et du Conseil en ce qui concerne les métadonnées. --> -<labels xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" xmlns:srv="http://www.isotc211.org/2005/srv"> +<labels xmlns:gmd="http://www.isotc211.org/2005/gmd" + xmlns:gts="http://www.isotc211.org/2005/gts" + xmlns:gco="http://www.isotc211.org/2005/gco" + xmlns:gml="http://www.opengis.net/gml" + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> + <element name="gmd:MD_ScopeCode"> <label>Code du sujet</label> <description></description> Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/nl/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/nl/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/nl/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -4,7 +4,8 @@ xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" - xmlns:srv="http://www.isotc211.org/2005/srv"> + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> <!-- ==================================================== --> <element name="gmd:CI_OnlineResource"> Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/pt/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/pt/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/pt/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -4,7 +4,8 @@ xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" - xmlns:srv="http://www.isotc211.org/2005/srv"> + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> <!-- ==================================================== --> <element name="gmd:CI_OnlineResource"> Modified: branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/ru/labels.xml =================================================================== --- branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/ru/labels.xml 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xml/schemas/iso19139/loc/ru/labels.xml 2010-10-29 08:34:23 UTC (rev 6704) @@ -4,7 +4,8 @@ xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" - xmlns:srv="http://www.isotc211.org/2005/srv"> + xmlns:srv="http://www.isotc211.org/2005/srv" + xmlns:gmx="http://www.isotc211.org/2005/gmx"> <!-- ==================================================== --> <element name="gmd:CI_OnlineResource"> Modified: branches/2.6.x/web/src/main/webapp/xsl/metadata.xsl =================================================================== --- branches/2.6.x/web/src/main/webapp/xsl/metadata.xsl 2010-10-28 22:47:18 UTC (rev 6703) +++ branches/2.6.x/web/src/main/webapp/xsl/metadata.xsl 2010-10-29 08:34:23 UTC (rev 6704) @@ -912,81 +912,161 @@ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <!-- utility templates --> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - - <!-- - Returns the title of an element. If the schema is an ISO profil then search: - * the ISO profil help first - * with context (ie. context is the class where the element is defined) - * with no context - and if not found search the iso19139 main help. - - If not iso based, search in corresponding schema. - - If not found return the element name between "[]". - --> - <xsl:template name="getTitle"> - <xsl:param name="name"/> - <xsl:param name="schema"/> - <xsl:variable name="context" select="name(parent::node())"/> - <xsl:variable name="contextIsoType" select="parent::node()/@gco:isoType"/> - - <xsl:variable name="title"> - <xsl:choose> - <xsl:when test="starts-with($schema,'iso19139')"> - <!-- Name with context in current schema --> - <xsl:variable name="schematitleWithContext" - select="string(/root/gui/*[name(.)=$schema] - /element[@name=$name and (@context=$context or @context=$contextIsoType)] - /label)"/> - - <!-- Name with context in base schema --> - <xsl:variable name="schematitleWithContextIso" - select="string(/root/gui/iso19139/element[@name=$name and (@context=$context or @context=$contextIsoType)] - /label)"/> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- utility templates --> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- Name in current schema --> - <xsl:variable name="schematitle" select="string(/root/gui/*[name(.)=$schema]/element[@name=$name and not(@context)]/label)"/> - - <xsl:choose> - <xsl:when test="normalize-space($schematitle)='' and - normalize-space($schematitleWithContext)='' and - normalize-space($schematitleWithContextIso)=''"> - <xsl:value-of select="string(/root/gui/iso19139/element[@name=$name]/label)"/> - </xsl:when> - <xsl:when test="normalize-space($schematitleWithContext)='' and - normalize-space($schematitleWithContextIso)=''"> - <xsl:value-of select="$schematitle"/> - </xsl:when> - <xsl:when test="normalize-space($schematitleWithContext)=''"> - <xsl:value-of select="$schematitleWithContextIso"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$schematitleWithContext"/> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - - <!-- otherwise just get the title out of the approriate schema help file --> - - <xsl:otherwise> - <xsl:value-of select="string(/root/gui/*[name(.)=$schema]/element[@name=$name]/label)"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - + <xsl:template name="getXPath"> + <xsl:for-each select="ancestor-or-self::*"> + <xsl:if test="not(position() = 1)"> + <xsl:value-of select="name()" /> + </xsl:if> + <xsl:if test="not(position() = 1) and not(position() = last())"> + <xsl:text>/</xsl:text> + </xsl:if> + </xsl:for-each> + <!-- Check if is an attribute: http://www.dpawson.co.uk/xsl/sect2/nodetest.html#d7610e91 --> + <xsl:if test="count(. | ../@*) = count(../@*)">/@<xsl:value-of select="name()" /></xsl:if> + </xsl:template> - <xsl:choose> - <xsl:when test="normalize-space($title)!=''"> - <xsl:value-of select="$title"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$name"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:template name="getTitleColor"> + <xsl:param name="name"/> + <xsl:param name="schema"/> + + <xsl:variable name="fullContext"> + <xsl:call-template name="getXPath" /> + </xsl:variable> + + <xsl:variable name="context" select="name(parent::node())"/> + <xsl:variable name="contextIsoType" select="parent::node()/@gco:isoType"/> + + <xsl:variable name="color"> + <xsl:choose> + <xsl:when test="starts-with($schema,'iso19139')"> + + <!-- Name with context in current schema --> + <xsl:variable name="colorTitleWithContext" + select="string(/root/gui/*[name(.)=$schema] + /element[@name=$name and (@context=$fullContext or @context=$context or @context=$contextIsoType)] + /label_color)"/> + + <!-- Name with context in base schema --> + <xsl:variable name="colorTitleWithContextIso" + select="string(/root/gui/iso19139/element[@name=$name and (@context=$fullContext or @context=$context or @context=$contextIsoType)] + /label_color)"/> + + <!-- Name in current schema --> + <xsl:variable name="colorTitle" select="string(/root/gui/*[name(.)=$schema]/element[@name=$name and not(@context)]/label_color)"/> + + <xsl:choose> + + <xsl:when test="normalize-space($colorTitle)='' and + normalize-space($colorTitleWithContext)='' and + normalize-space($colorTitleWithContextIso)=''"> + <xsl:value-of select="string(/root/gui/iso19139/element[@name=$name]/label_color)"/> + </xsl:when> + <xsl:when test="normalize-space($colorTitleWithContext)='' and + normalize-space($colorTitleWithContextIso)=''"> + <xsl:value-of select="$colorTitle"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$colorTitleWithContext"/> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + + <!-- otherwise just get the title out of the approriate schema help file --> + + <xsl:otherwise> + <xsl:value-of select="string(/root/gui/*[name(.)=$schema]/element[@name=$name]/label_color)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:value-of select="$color"/> + </xsl:template> + + + <!-- + Returns the title of an element. If the schema is an ISO profil then search: + * the ISO profil help first + * with context (ie. context is the class where the element is defined) + * with no context + and if not found search the iso19139 main help. + + If not iso based, search in corresponding schema. + + If not found return the element name between "[]". + --> + <xsl:template name="getTitle"> + <xsl:param name="name"/> + <xsl:param name="schema"/> + + <xsl:variable name="fullContext"> + <xsl:call-template name="getXPath" /> + </xsl:variable> + + <xsl:variable name="context" select="name(parent::node())"/> + <xsl:variable name="contextIsoType" select="parent::node()/@gco:isoType"/> + + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="starts-with($schema,'iso19139')"> + + <!-- Name with context in current schema --> + <xsl:variable name="schematitleWithContext" + select="string(/root/gui/*[name(.)=$schema] + /element[@name=$name and (@context=$fullContext or @context=$context or @context=$contextIsoType)] + /label)"/> + + <!-- Name with context in base schema --> + <xsl:variable name="schematitleWithContextIso" + select="string(/root/gui/iso19139/element[@name=$name and (@context=$fullContext or @context=$context or @context=$contextIsoType)] + /label)"/> + + <!-- Name in current schema --> + <xsl:variable name="schematitle" select="string(/root/gui/*[name(.)=$schema]/element[@name=$name and not(@context)]/label)"/> + + <xsl:choose> + + <xsl:when test="normalize-space($schematitle)='' and + normalize-space($schematitleWithContext)='' and + normalize-space($schematitleWithContextIso)=''"> + <xsl:value-of select="string(/root/gui/iso19139/element[@name=$name]/label)"/> + </xsl:when> + <xsl:when test="normalize-space($schematitleWithContext)='' and + normalize-space($schematitleWithContextIso)=''"> + <xsl:value-of select="$schematitle"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$schematitleWithContext"/> + </xsl:otherwise> + + </xsl:choose> + </xsl:when> + + <!-- otherwise just get the title out of the approriate schema help file --> + + <xsl:otherwise> + <xsl:value-of select="string(/root/gui/*[name(.)=$schema]/element[@name=$name]/label)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + + <xsl:choose> + <xsl:when test="normalize-space($title)!=''"> + <xsl:value-of select="$title"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <!-- returns the text of an element --> @@ -1372,7 +1452,12 @@ <xsl:value-of select="''"/> </xsl:when> <xsl:otherwise> - <xsl:value-of select="concat($schema,'|', $name ,'|', name(parent::node()) ,'|', ../@gco:isoType)"/> + + <xsl:variable name="fullContext"> + <xsl:call-template name="getXPath" /> + </xsl:variable> + + <xsl:value-of select="concat($schema,'|', $name ,'|', name(parent::node()) ,'|', $fullContext ,'|', ../@gco:isoType)"/> </xsl:otherwise> </xsl:choose> </xsl:template> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |