Changeset 1076


Ignore:
Timestamp:
01/16/11 15:17:34 (13 years ago)
Author:
vronk
Message:

reduced logging messages,
changes to CQL-handling in js and XCQL2Xpath-mapping;
reworked docs, introduced example queries

Location:
MDService2/trunk/MDService2
Files:
3 added
19 edited

Legend:

Unmodified
Added
Removed
  • MDService2/trunk/MDService2/WebContent/index.jsp

    r1071 r1076  
    3636                                        <% if ( request.getRemoteUser() == null) {  %>
    3737                                        <a href="workspace.jsp" >    login</a>
    38                                         <a href="static/MDBrowser_explained_5_resize.png" > docs</a>
     38                                        <a href="docs/htmlpage/info" > docs</a>
    3939                                       
    4040                                        <% } else {  %>
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_helpers.js

    r1075 r1076  
    88        $(elems).children('.header').addClass('ui-widget-header ui-state-default ui-corner-top');
    99        $(elems).children('.content').addClass('ui-widget-content ui-corner-bottom');
    10         $(elems).children('.header').click(function() {
     10/*      $(elems).children('.header').click(function() {
    1111                $(this).next().toggle('fast');
    1212                return false;
    1313        }).next().hide();
    14        
    15        
     14        */
     15        $(elems).children('.header').append('<span class="cmd cmd-collapse cmd_down" > </span>');
     16        $(elems).find('.cmd-collapse').click(function(event) {
     17                        $(this).closest('.header').next().toggle('fast');
     18                        $(this).toggleClass('cmd_down cmd_up');
     19                        return false;
     20                });
    1621       
    1722        $(elems).each(function(i) {
    1823                if ($(this).hasClass('init-show'))  {           
    1924                        $(this).children('.content').show();
     25                        $(this).find('.cmd-collapse').toggleClass('cmd_down cmd_up');           
    2026                }
    2127                if ($(this).parent().hasClass('cmds-ui-closable'))  {           
  • MDService2/trunk/MDService2/WebContent/scripts/mdservice_model.js

    r1071 r1076  
    108108};
    109109
     110/** special handling for special characters: double escaping (escape the %-sign)
     111 * to survive the %-encoding through the request (and parsing) down to the transformation in XCQL2XPath.xsl
     112 * it's: whitespace, and single and double-quotes (unified to double quotes %22)
     113*/ 
     114
    110115Query.prototype.query_uri = function () {
    111116        var params = "?";
     
    114119        }
    115120        if (this.squery != null) {
    116                 params = params + "squery=" + escape(this.squery).replace("%20","%2520") + "&";
     121                escaped_sq =escape(this.squery).replace(/%20/g,"%2520").replace(/\%2[27]/g,"%2522") ;
     122                escaped_sq = escaped_sq.replace(/%7C/g,"%257C").replace(/\+/g,"%2B");
     123                params = params + "squery=" + escaped_sq + "&";
    117124        }
    118125        params = params + "collection=" + this.getcollectiontext("index") + "&columns=" + this.getcolumnstext() + "&startItem=" + this.startItem + "&maximumItems=" + this.maximumItems + "&repository=" + this.repository;
  • MDService2/trunk/MDService2/WebContent/static/info.xml

    r1064 r1076  
    11<info xml:lang="en" >
     2        <div id="title">Information</div>
    23        <div id="welcome">
    34       
     
    89                <li>browse the collections</li>
    910                <li>try one of the sample queries</li>
    10                 <li>provide complex boolean-searches  by profiles</li>
     11                <li>perform complex boolean-searches</li>
    1112                <li>search by profiles</li>
    1213                <li>search by data categories</li>
     
    2223        <p>Overview of current data set:
    2324        <ul>
    24                 <li>by Collections</li>
    25                 <li>by Profiles</li>
     25                <li>by <a href="/MDService2/collections/htmlpage" >Collections</a></li>
     26                <li>by <a href="/MDService2/terms/htmlpage/?q=all" >Profiles</a></li>
    2627        </ul>
    27         </p>
    28        
     28        </p>   
     29        </div>
     30        <div>
     31                <span class="title">Overview</span>
     32                <p>Overview and explanation of usage of individual elements of the user-interface</p>           
     33                <a href="/MDService2/static/MDBrowser_explained_5_resize2000.png" >
     34                        <img src="/MDService2/static/MDBrowser_explained_5_resize800.png" title="MDBrowser explained2" /></a>   
    2935        </div>
    3036        <div id="serverqs-info">
     
    3642                <span class="title">Personalized workspace - commons</span>
    3743                <p>when logged in, you can store your queries and bookmarks here.</p>
    38                 <p>All anonymous user share the default workspace.</p>
     44                <p>All anonymous users share the default workspace.</p>
    3945        </div>
    4046        <div id="collections-info">
     47                <span class="title">Collections</span>
    4148                <p>Overview of collections=datasets available in the repository</p>
    4249        </div>
    4350        <div id="terms-info">
     51                <span class="title">Terms</span>
    4452                <p>Terms combines information from MDRepository, ComponentRegistry, Datacategory Registries (isocat, dublincore) and Relationregistry to allow to search by profiles or data categories, or even perform semantic search</p>
    45                 <p>You can search in he fields of individual profiles used by the MDrecords in the repository, or search over multiple profiles via datacategories</p>
     53                <p>You can search in the fields of individual profiles instantiated as the MDrecords in the repository, or search over multiple profiles via datacategories.</p>
    4654        </div> 
    4755        <div id="compreg-info">
    48                 <p>Overview of  </p>
     56                <span class="title" >Component Registry</span>
     57                <p>Overview of all profiles and components defined in the Component Registry</p>
    4958        </div>
    5059        <div id="query-input-info">
    51 
     60                <span class="title" >Query Input</span>
     61                <p>Form for entering the query. Either a simple or complex query</p>
     62                <p>Both parts can be used in parallel: i.e. you can specify some terms for full-text search
     63                and further refine them with.
     64                The two parts are combined with boolean AND (the matching records have to satisfy both parts of the query.)
     65                See <a href="queries" >example queries</a> for an overview of possible query types.
     66                </p>
    5267                <div id="input-simplequery-info">
    53                                         <p>simple full-text search: individual terms, multiple terms, phrases(not yet)</p>
     68                        <p>simple full-text search: individual terms, multiple terms, phrases</p>
     69                </div>
     70                <div d="searchclauselist-info">
     71                        <p>complex queries according to SRU/CQL-standard</p>
     72                        <p>Basic <em>search clause</em> consists of: <code>index relation term</code>, e.g. <code>dc.title any system</code>.
     73                        You can combine this search clauses with boolean operators (AND, OR), to more complex queries</p>
    5474                </div>
    5575        </div> 
     
    5878       
    5979        <div id="commands" >
     80        <span class="title">Commands</span>
     81        <p>List of commands available in the user-interface, explanation of their function:</p>
    6082        <dt id="cmd_add">Add new item</dt>
    6183        <dt id="cmd_add_and">Add an additional condition (AND)</dt>
  • MDService2/trunk/MDService2/WebContent/style/cmds-ui.css

    r1071 r1076  
    124124.columns-selected { }
    125125
     126/* documentation */
     127.title, h1, h2, h3 { color: #014172;}
     128h1 {font-size: 1.6em;}
     129h2 {font-size: 1.4em;}
     130h3 {font-size: 1.2em;}   
     131.title {font-size: 1.2 em; font-weight: bold; margin: 1em 0 0 0.2em;}
     132dt { padding: 1em 0 0.2em 1.5em; font-weight: bold;}
     133dd { padding-left: 2.5em; display:block;}
     134.info p { margin: 0.2em 0; }
     135
    126136/* ************* */
    127137/* tooltip */
     
    133143 background:#A6C9E2;
    134144 color:#000;
    135  }
    136 
     145}
    137146
    138147/* command icons */
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/Cache.java

    r1069 r1076  
    193193               
    194194                   File f = new File (formPath(key_info));
    195                    Admin.notifyUser("CACHE.getFromCache:"+key_info);
     195                   //Admin.notifyUser("CACHE.getFromCache:"+key_info);
    196196                   
    197197                   
    198198                    if (f.exists()) { // read from file to InputStream;
    199                         Admin.notifyUser("CACHE.getFromCache.fromfile:"+f.getName());
     199                        Admin.notifyUser("CACHE.getFromCache.fromfile:"+f.getName() + "[#" + key_info + "]");
    200200                        InputStream instream;
    201201                                try {
     
    210210                       
    211211                    } else { //not cached, my dear
    212                         Admin.notifyUser("CACHE.getFromCache: NOT CACHED");
     212                        Admin.notifyUser("CACHE.getFromCache: NOT CACHED" + "[#" + key_info + "]");
    213213                        return null;
    214214                    }       
     
    248248               
    249249                if(key_array.length > 1){
    250                         Admin.notifyUser("formPATH- querystring:" + key_array[1]);
     250                //      Admin.notifyUser("formPATH- querystring:" + key_array[1]);
    251251                        if (key_array[0].equals("recordset")){
    252252                                query_str = this.transformQuery(key_array[1]); 
    253                                 Admin.notifyUser("formPATH- querystring-transformed:" + query_str);
     253                        //      Admin.notifyUser("formPATH- querystring-transformed:" + query_str);
    254254                        }
    255255                        else {
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/CompRegistryProxyAction.java

    r1046 r1076  
    110110        public void prepare() throws Exception {               
    111111               
    112                 Admin.notifyUser("CRPA.prepare");
     112                //Admin.notifyUser("CRPA.prepare");
    113113                if (!getActionkey().equals("elements")) {
    114114                        super.prepare();
    115115                } else  {
    116                         Admin.notifyUser("CRPA.prepareSourceStream - elements");
     116//                      Admin.notifyUser("CRPA.prepareSourceStream - elements");
    117117                        String xcid;
    118118                        InputStream _sourceStream;
     
    122122                        _sourceStream = Cache.getCache().getFromCache(getRequestKey());
    123123                        if (_sourceStream == null) {
    124                                         Admin.notifyUser("CRPA.prepareSourceStream- profiles");
     124        //                              Admin.notifyUser("CRPA.prepareSourceStream- profiles");
    125125                                        setActionkey("profiles");
    126126                                        setFormat("xmlresolved");
     
    129129                                                __sourceStream = getSourceStream();
    130130                                                xcid = Cache.getCache().putInCache(getRequestKey(),__sourceStream);                     
    131                                                 Admin.notifyUser("CRPA-putting in cache: " + getRequestKey()); 
     131                                                //Admin.notifyUser("CRPA-putting in cache: " + getRequestKey());       
    132132                                                __sourceStream = Cache.getCache().getFromCache(getRequestKey());
    133133                                        } else{
    134                                                 Admin.notifyUser("CRPA-reading from cache: " + getRequestKey());       
     134                                                //Admin.notifyUser("CRPA-reading from cache: " + getRequestKey());     
    135135                                        }
    136                                         Admin.notifyUser("CCCRPA." + getTargetRequest());
    137                                         Admin.notifyUser("CCCRPA." + getFullFormat());
     136                        //              Admin.notifyUser("CCCRPA." + getTargetRequest());
     137                                //      Admin.notifyUser("CCCRPA." + getFullFormat());
    138138                                        MDTransformer transformer = new MDTransformer();
    139139                                        transformer.setSrcFile(getTargetRequest());
    140140                                        transformer.setParams(createTransformerParams());
    141141                                        _sourceStream = transformer.transformXML(__sourceStream);//, getFullFormat(),null,null,null,null,null,null);
    142                                         Admin.notifyUser("CRPA.- elements");
     142                                //      Admin.notifyUser("CRPA.- elements");
    143143                                        setActionkey("elements");
    144144                                        setFormat("htmllist");
    145145                                        xcid = Cache.getCache().putInCache(getRequestKey(),_sourceStream);                     
    146                                         Admin.notifyUser("CRPA-putting in cache: " + getRequestKey());
     146                        //              Admin.notifyUser("CRPA-putting in cache: " + getRequestKey());
    147147                                        _sourceStream = Cache.getCache().getFromCache(getRequestKey());
    148                         }  else {
     148                        } /*else {
    149149                                        Admin.notifyUser("CRPA-reading from cache: " + getRequestKey());
    150                         }
     150                        }*/
    151151                                /*
    152152                        File file=new File(Cache.getCache().formPath(getRequestKey()));
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/GenericProxyAction.java

    r1071 r1076  
    543543                                long now = System.currentTimeMillis();
    544544                                xcid = Cache.getCache().putInCache(req_key,sourceStream);                       
    545                                 Admin.notifyUser("putting in cache: " + req_key);                       
     545                                //Admin.notifyUser("putting in cache: " + req_key);                     
    546546                                sourceStream = Cache.getCache().getFromCache(req_key);
    547                         } else {
     547                        } /* else {
    548548                                Admin.notifyUser("reading from cache: " + req_key);
    549                         }
     549                        } */
    550550                }
    551551                       
     
    557557                        transformer.setSrcFile(getTargetRequest());
    558558                        // getColumns
    559                         Admin.notifyUser("GPA.getRepository, before xsl:" + getRepository());
     559                //      Admin.notifyUser("GPA.getRepository, before xsl:" + getRepository());
    560560                        transformer.setParams(createTransformerParams());
    561561                        resultStream = transformer.transformXML(sourceStream);//, getFullFormat(), getColumns(), getStartRecord(), getMaximumRecords(),getLang(),getQ(),String.valueOf(getRepository()));
     
    572572
    573573               
    574                 Admin.notifyUser("session-attrs:");
    575         Admin.notifyUser(getServletRequest().getRemoteUser() );
     574                //Admin.notifyUser("session-attrs:");
     575        //Admin.notifyUser(getServletRequest().getRemoteUser() );
    576576        //Admin.notifyUser(String.valueOf(getSession()));
    577577       
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/TermsProxyAction.java

    r911 r1076  
    3737                return proxy_key;
    3838        }
     39
     40        /* special handling for the two phase processing of dcr/rr Terms */
     41        public void setProxyKey(String new_key) {
     42                proxy_key=new_key;
     43        }
     44       
    3945       
    4046/*      @Override
     
    122128        public InputStream getSourceStream() throws IOException{
    123129                String type = getTSAttr("type");
     130                Admin.notifyUser("TPA.getSourceStream.TStype: " + type);
    124131                if (type.equals("dcr") | type.equals("rr")) {   
    125132                        // if dcr|rr call model/matrix/all: http://localhost:8080/MDService2/model/matrix/?q=all
     
    131138                        InputStream resultStream=null;
    132139                        try {
     140                                this.setProxyKey("terms.dcr");
    133141                                MDTransformer transformer = new MDTransformer();
    134142                                transformer.setParams(createTransformerParams());
     143                                /* IMPORTANT! change the format for the second phase:
     144                                 * (but preserve the original format for the third phase. */                           
     145                                transformer.getParams().put("format","terms2extract");
     146                               
     147                                Admin.notifyUser("TPA.getSourceStream.transformer.effectiveTranskey: " + transformer.getTranskey() + ", for Termset:" + getTSAttr("name") + '#' + getTSAttr("id"));
    135148                                resultStream = transformer.transformXML(stream_matrix_all);//, "terms2extract", getColumns(), getStartRecord(), getMaximumRecords(),getLang(),getQ(), getRepositoryPath());
     149                                                               
    136150                        } catch (InterruptedException e) {                             
    137151                                Admin.notifyUser("TPA.getSourceStream(): "+ e.getMessage());
  • MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/model/Query.java

    r1071 r1076  
    450450                if (query_string.contains(":")) {
    451451                        int delim_index = query_string.indexOf(":");
    452                         String prefix = query_string.substring(0,delim_index );
    453                         Termset res = (Termset) Termset.getTermset(prefix);
    454                         String profile_name = res.getAttr("name");
     452                        String profile_name = query_string.substring(0,delim_index );
     453                        Termset res = (Termset) Termset.getTermset(profile_name);                         
     454                        if (res!=null) {
     455                                profile_name= res.getAttr("name");
     456                        }
    455457                        if (profile_name.equals("")) {
    456458                                xpath=query_string.substring(delim_index);
  • MDService2/trunk/MDService2/src/mdservice.properties

    r1064 r1076  
    55terms.dcr.uri = http://localhost:8080/MDService2/terms/extract/?q=
    66terms.file=terms_setup.xml
     7docs.uri=http://localhost:8080/MDService2/static/
    78
    89//dcregistry.uri = http://www.isocat.org/rest/
     
    6970
    7071xsl.admin2htmlpage = cache2view.xsl
     72xsl.docs2htmlpage = docs2view.xsl
  • MDService2/trunk/MDService2/src/struts.xml

    r1029 r1076  
    200200                </action>
    201201               
     202                <action name="docs/*/*" class="eu.clarin.cmdi.mdservice.action.DocsAction" method="execute">
     203                           <param name="format">{1}</param>
     204                           <param name="q">{2}</param>
     205                           <param name="actionkey">docs</param>
     206                            <result type="stream">                         
     207                                <param name="contentType">${getActionContentType()}</param>
     208                                <param name="inputName">resultStream</param>                           
     209                            </result>
     210                </action>
     211               
    202212                <action name="admin/*/*" class="eu.clarin.cmdi.mdservice.action.AdminAction" method="execute">
    203213                           <param name="format">{2}</param>
  • MDService2/trunk/MDService2/src/terms_setup.xml

    r1046 r1076  
    1111        <Termset type="dcr" id="dct" name="dublincore terms" url="http://purl.org/dc/terms/" format="rdf" />   
    1212        <Termset type="rr" id="relcat" name="Relation Registry CMDI-set" url="http://lux13.mpi.nl/relcat/rest/set/cmdi" format="rdf" />
     13        <Termset type="rr" id="hdcrel" name="Relation Registry DC-set" url="http://lux13.mpi.nl/relcat/rest/set/dc" format="rdf" />
     14       
    1315</Termsets>
  • MDService2/trunk/MDService2/src/xsl/XCQL2Xpath.xsl

    r1064 r1076  
    4848<xsl:output method="text" />
    4949
    50        
     50<xsl:template match="/">
     51<xsl:message>XCQL: <xsl:copy-of select="." /></xsl:message>
     52        <xsl:apply-templates/>
     53</xsl:template>
     54
    5155<xsl:template match="triple">
    52                 <xsl:message>XCQL: <xsl:copy-of select="." /></xsl:message>
     56               
    5357        <xsl:choose>
    5458        <!--  this is rather hacky yet
     
    6367                </xsl:when>
    6468                <xsl:otherwise>
    65                         <xsl:if test="not(ancestor::triple)" >//CMD/*[</xsl:if>                 
     69                        <xsl:if test="not(ancestor::triple)" >//Components[</xsl:if>                   
    6670                                <xsl:call-template name="boolean" >
    6771                                        <xsl:with-param name="op" select="boolean/value" />
     
    159163        <xsl:variable name="ix_xpathed" select="my:index2xpath(.)" ></xsl:variable>
    160164        <xsl:choose>
    161                 <xsl:when test=".='cql.serverChoice' or .='*'" >//Components</xsl:when>                         
     165                <xsl:when test="(.='cql.serverChoice' or .='*') and not(ancestor::triple)" >//Components</xsl:when>
     166                <xsl:when test=".='cql.serverChoice' or .='*'" >.</xsl:when>                           
    162167                <xsl:when test="ancestor::triple" >
    163168                        <xsl:value-of select="concat('.//',$ix_xpathed)" />
     
    182187                                <xsl:text>contains(.,'</xsl:text><xsl:value-of select="$sanitized_term"/><xsl:text>')</xsl:text>                               
    183188                        </xsl:when>
    184                         <xsl:when test="(preceding-sibling::index='*' or preceding-sibling::index='cql.serverChoice') and contains($term,' ')" >
    185                                 <xsl:text>ft:query(.,&lt;phrase&gt;</xsl:text><xsl:value-of select="lower-case($sanitized_term)" /><xsl:text>&lt;/phrase&gt;)</xsl:text>                               
    186                         </xsl:when>                             
    187                         <xsl:when test="value='any'  or preceding-sibling::index='cql.serverChoice'" >
    188                         <!--  use full-text querying: [ft:query(., "language")] -->
    189                                 <xsl:text>ft:query(.,'</xsl:text><xsl:value-of select="lower-case($sanitized_term)"/><xsl:text>')</xsl:text>
    190                                                                        
     189                        <xsl:when test="(value='any' or preceding-sibling::index='*' or preceding-sibling::index='cql.serverChoice')" >
     190                                <!--  use full-text querying: [ft:query(., "language")] -->
     191                                <xsl:choose>   
     192                                        <xsl:when test="starts-with($term,'%22')" >
     193                                                <xsl:text>ft:query(.,&lt;phrase&gt;</xsl:text><xsl:value-of select="replace(lower-case($sanitized_term),'%22','')" /><xsl:text>&lt;/phrase&gt;)</xsl:text>                                                                             
     194                                        </xsl:when>
     195                                        <xsl:when test="contains($term,'%7C')" >                                               
     196                                                <xsl:text>ft:query(.,'</xsl:text><xsl:value-of select="replace(lower-case($sanitized_term),'%7C','')"/><xsl:text>')</xsl:text>                         
     197                                        </xsl:when>                             
     198                                        <xsl:when test="contains($term,'%20') or contains($sanitized_term,'+')" > <!--  AND-combined full-text search-->                                                                                                       
     199                                                        <xsl:for-each select="tokenize(replace($sanitized_term,'\+','%20'),'%20')" >
     200                                                                <xsl:if test=".!=''" >
     201                                                                        <xsl:text>ft:query(.,'</xsl:text><xsl:value-of select="."/><xsl:text>')</xsl:text>
     202                                                                        <xsl:message><xsl:value-of select="concat(position(),':', .)" ></xsl:value-of></xsl:message>
     203                                                                        <xsl:if test="position()!=last()" ><xsl:text>][</xsl:text></xsl:if>
     204                                                                </xsl:if>
     205                                                        </xsl:for-each>                                         
     206                                        </xsl:when>
     207                                        <xsl:otherwise>
     208                                                <xsl:text>ft:query(.,'</xsl:text><xsl:value-of select="lower-case($sanitized_term)"/><xsl:text>')</xsl:text>
     209                                        </xsl:otherwise>
     210                                </xsl:choose>
     211                        </xsl:when>
     212                        <xsl:when test="value='='" >
     213                                <xsl:text>. eq </xsl:text> <xsl:text>'</xsl:text><xsl:value-of select="$sanitized_term"/><xsl:text>'</xsl:text>                         
    191214                        </xsl:when>
    192215                        <xsl:otherwise>         
  • MDService2/trunk/MDService2/src/xsl/cmd_commons.xsl

    r1071 r1076  
    3838
    3939<xsl:template match="/">
    40                 <xsl:message>root_document-uri:<xsl:value-of select="$root_uri" /></xsl:message>
    41                 <xsl:message>components_uri:<xsl:value-of select="$components_uri" /></xsl:message>
     40                <xsl:message>root_document-uri:<xsl:value-of select="$root_uri" /></xsl:message>               
    4241                <xsl:choose>                   
    4342                <xsl:when test="contains($format,'htmlpage')" >
  • MDService2/trunk/MDService2/src/xsl/cmd_functions.xsl

    r1072 r1076  
    183183                <xsl:param name="q" />
    184184               
    185                 <xsl:value-of select="concat($base_dir, '/',$action, '/', $format, '/?q=', $q, '&amp;repository=', $repository_id)" />
     185                <xsl:choose>
     186                        <xsl:when test="$action=''">
     187                                <xsl:value-of select="concat($base_dir, '/?q=', $q, '&amp;repository=', $repository_id)" />
     188                        </xsl:when>                     
     189                        <xsl:otherwise>
     190                                <xsl:value-of select="concat($base_dir, '/',$action, '/', $format, '/?q=', $q, '&amp;repository=', $repository_id)" />
     191                        </xsl:otherwise>
     192                </xsl:choose>
     193               
    186194        </xsl:function>
    187195       
  • MDService2/trunk/MDService2/src/xsl/mdinst2view.xsl

    r1064 r1076  
    2828<xsl:param name="title" />
    2929<xsl:param name="inner_title" >
    30 <!-- Gather just first title/name or something -->
    31                 <xsl:variable name="titles">                                                                     
     30<!-- Gather just first title/name or something -->     
     31        <xsl:variable name="titles" select="(//Title|//title|//ResourceName|//Name|//name)" />
     32                <!--  <xsl:variable name="titles">                                                                       
    3233                                        <xsl:choose>
    3334                                        <xsl:when test="exists(//Title/text())">
     
    4243                                </xsl:choose>
    4344                </xsl:variable>
     45                 -->
    4446                <!--<xsl:value-of select="count($titles)" /> -->
    45                 <xsl:value-of select="$titles/*[1]" />                 
     47                <xsl:value-of select="$titles[1]" />                   
    4648</xsl:param>
    4749
  • MDService2/trunk/MDService2/src/xsl/terms2view.xsl

    r1074 r1076  
    4545                        </xsl:when>                             
    4646                <xsl:when test="$format='terms2htmllist'" >                     
    47                         <xsl:call-template name="list"/>   
     47                        <xsl:apply-templates select=".//Termset" mode="list"/>   
    4848                </xsl:when>
    4949                <xsl:when test="$format='terms2flat'" >                                                                 
     
    5959                                        <select id="terms-select">             
    6060                                                        <xsl:apply-templates select=".//Termset" mode="select"/>                                                       
    61                                         </select>                                                               
     61                                        </select>
     62                                        <a href="{my:formURL('terms','htmlpage','all')}">overview</a>                                                           
    6263                        </xsl:when>
    6364                <xsl:otherwise>
    64                         <xsl:call-template name="list"/>   
     65                        <xsl:apply-templates select=".//Termset" mode="list"/>   
    6566                </xsl:otherwise>
    6667         </xsl:choose>
     
    109110</xsl:template>
    110111
    111 <xsl:template name="list">
    112         <div class="terms">             
     112<xsl:template match="Termset" mode="list">
     113        <div class="terms">     
     114                <span class="detail-caller"><xsl:value-of select="@name"/></span>
     115                <xsl:call-template name="attr-detail-div" />
    113116                <!--  format:<xsl:value-of select="$format" /> -->
    114117                <!--<xsl:variable name="translated_term" select="translate(replace(/*/Term[1]/@path,'//',''),'/','.')" />
    115118                 <input id="query_terms" value="{$translated_term}" /> -->             
    116119                <ul class="treeview">
    117                         <xsl:apply-templates select="/*/Term[@path]" mode="list" />                     
     120                        <xsl:apply-templates select="Term[@path]" mode="list" />                       
    118121                </ul>   
    119122        </div>
  • MDService2/trunk/MDService2/src/xsl/values2view.xsl

    r1074 r1076  
    8585       
    8686<xsl:template match="Term" >
    87         <xsl:variable name="index" select="@name"/>
     87        <xsl:variable name="index" select="my:xpath2index(@path)"/>
    8888        <table>
    8989                <xsl:for-each select="v" >
    9090                <tr><td align="right"><xsl:value-of select="@count"/></td>
    91                         <td><a href="{$base_dir}?q=({concat($index, '%3D%22', @key, '%22')})" target="_blank" >
     91                        <td><a href="{my:formURL('','', concat($index, '%3D%22', @key, '%22'))}" target="_blank" >
    9292                                        <xsl:value-of select="@key"/></a></td>
    9393                                                                                                                       
Note: See TracChangeset for help on using the changeset viewer.