This is really weird.

I took Christophe's version of the xls file, because that does make  
absolute sense: the original search for A::B(::C etcetera) did not  
yield any results, but now I get *too many* results.

For instance, searching on 'Ethnology' gives me one result that does  
not have Ethnology as subject (there aren't any Ethnology theses in  
our DSpace as yet) but that does cite the word 'Ethnology' in its  
references list.
In other words, the Subject Search now behaves as a Full Text search ...

Maike


On 9-May-07, at 2:14 AM, Dupriez Christophe wrote:

> Hi Mike and Andres,
> (please forward this message to the Tech list as I am not able to  
> post from here)
>
> At search time, the XSLT producing the displayed tree generates a  
> search term by concatenating all generic of the choosen subject  
> (and adding a right troncature I think).
> Currently, In a hierarchy like A->B->C, choosing B generates a  
> search on "A::B".
>
> For MeSH, this was not suiting my need, so I made a little  
> modification to search on the choosen subject only: I attach this  
> modified XSLT.
>
> Subject searching will have to be improved on two points:
> * selecting a subject should also select its specifics
> * XSLT is very slow for big vocabularies like MeSH: vocabularies  
> should be loaded once in the background and redrawn using JavaScript.
>
> Short example with the beginning of my MeSH xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
> MeSH: NIH Medical Subject Headings
> -->
> <node id="MESH" label="NIH Medical Subject Headings">
> <isComposedBy>
>  <node id="A01" label="Body Regions">
>  <isComposedBy>
>   <node id="A01.047" label="Abdomen">
>   <isComposedBy>
>    <node id="A01.047.025" label="Abdominal Cavity">
>    <isComposedBy>
>     <node id="A01.047.025.600" label="Peritoneum">
>     <isComposedBy>
>      <node id="A01.047.025.600.225" label="Douglas' Pouch"/>
>      <node id="A01.047.025.600.451" label="Mesentery">
>      <isComposedBy>
>       <node id="A01.047.025.600.451.535" label="Mesocolon"/>
>      </isComposedBy>
>      </node>
>      <node id="A01.047.025.600.573" label="Omentum"/>
>      <node id="A01.047.025.600.678" label="Peritoneal Cavity"/>
>     </isComposedBy>
>     </node>
>     <node id="A01.047.025.750" label="Retroperitoneal Space"/>
>    </isComposedBy>
>    </node>
>    <node id="A01.047.050" label="Abdominal Wall"/>
>    <node id="A01.047.365" label="Groin"/>
>    <node id="A01.047.412" label="Inguinal Canal"/>
>    <node id="A01.047.849" label="Umbilicus"/>
>   </isComposedBy>
> Have a nice day!
>
> Christophe Dupriez
>
> Quast <[EMAIL PROTECTED]> a écrit :
> Hi Mike,
>
> the node-Tag is used to render the controlled vocabulary tree by a  
> XSLT-
> stylesheet. It has two attributes (id, label) used to render the  
> tree in a
> correct way. So I wonder if you have changed the stylesheet
> (vocabulary2html.xsl) in an appropriate way. The attribute id is  
> used within
> the stylesheet to name each checkbox of the controlled vocabulary  
> tree. The
> attribute label contains the search term, which is used for the  
> subject
> search.
>
> hope this helps,
> Andres
>
>
>
> > Hi
> >
> > (DSpace version 1.4.1)
> >
> > I have a question about the 'node id' in the controlled
> > vocabulary .xml file.
> > We created our own sciences index file to confine the set of  
> keywords
> > that can be entered in the submission form. When creating that .xml
> > file I was looking at the supplied Scandinavian examples - and from
> > that (because in these two examples they are so different !),
> > concluded that the 'node id' was not actually *doing* something: it
> > looks merely as some sort of enumeration and I assumed I was free to
> > use whatever code we use at our institute i.e. use it as a mnemonic.
> >
> > But I discovered that these controlled vocabularies are also used in
> > the Subject Search. Unfortunately, it does not seem to work there:
> > when I do an advanced search on a subject and get a certain result,
> > clicking the same (or indeed any) box in the Subject Search form  
> does
> > not retrieve any results.
> >
> > My gut feeling here is that this 'node id' is thus a bit more than
> > just an enumeration. But I cannot find anywhere (documents,  
> internet)
> > what it *should* contain ...
> >
> > In the submission form (input-forms.xml), the controlled vocabulary
> > is configured like this:
> >
> >
> > dc
> > subject
> > lcsh
> > true
> > Subject Area
> > onebox
> > Enter your subject area of the item below.
> >
> > uvsi
> >
> >
> > Does anyone have a clue?
> >
> > TIA
> >
> > ----------
> > Maike Dulk
> > Programmer / Analyst
> > McPherson Library, University of Victoria
> > [EMAIL PROTECTED]
> >
> > IBM:
> > It may be slow, but it's hard to use.
> >
> >
> >  
> ---------------------------------------------------------------------- 
> ---
> > This SF.net email is sponsored by DB2 Express
> > Download DB2 Express C - the FREE version of DB2 express and take
> > control of your XML. No limits. Just data. Click to get it now.
> > http://sourceforge.net/powerbar/db2/
> > _______________________________________________
> > DSpace-tech mailing list
> > DSpace-tech@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/dspace-tech
>
> -- 
> Dr. Andres Quast
> Virtuelle Fachbibliothek GEO-LEO
> Staats- und Universitätsbibliothek Göttingen
> Platz der Göttinger Sieben 1
> 37070 Göttingen
>
> email: [EMAIL PROTECTED]
> tel: 0551-39 4255
> http://www.geo-leo.de
>
> ---------------------------------------------------------------------- 
> ---
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> DSpace-tech mailing list
> DSpace-tech@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>
>
>
>
> Découvrez une nouvelle façon d'obtenir des réponses à toutes vos  
> questions ! Profitez des connaissances, des opinions et des  
> expériences des internautes sur Yahoo! Questions/Réponses.
> <?xml version="1.0" encoding="UTF-8"?>
> <!--
> This stylesheet converts taxonomies from their XML representation to
> an HTML tree. Its basically a preety-printer.
> -->
> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/ 
> Transform">
>       <!-- ************************************ -->
>       <xsl:output method="xml" version="1.0" omit-xml-declaration="yes"  
> indent="yes" encoding="utf-8"/>
>       <!-- ************************************ -->
>       <xsl:param name="allowMultipleSelection"/>
>       <xsl:param name="contextPath"/>
>       
> <!--<xsl:variable name="allowMultipleSelection">no</xsl:variable> -->
>       <!-- ************************************ -->
>       <xsl:template match="/">
>               <ul class="controlledvocabulary">
>                       <xsl:apply-templates/>
>                       <li/>
>               </ul>
>       </xsl:template>
>       <!-- ************************************ -->
>       <xsl:template match="isComposedBy">
>               <xsl:apply-templates select="node"/>
>       </xsl:template>
>       <!-- ************************************ -->
>       <xsl:template match="node">
>               <li>
>                       <!--** place icon ** -->
>                       <xsl:choose>
>                               <xsl:when test="./isComposedBy/node">
>                                       <img class="controlledvocabulary">
>                                               <xsl:attribute 
> name="src"><xsl:value-of select="$contextPath"/ 
> >/image/controlledvocabulary/p.gif</xsl:attribute>
>                                               <xsl:attribute 
> name="onclick">ec(this, '<xsl:value-of  
> select="$contextPath"/>');</xsl:attribute>
>                                               <xsl:attribute 
> name="alt">expand search term category</ 
> xsl:attribute>
>                                       </img>
>                               </xsl:when>
>                               <xsl:otherwise>
>                                       <img class="dummyclass">
>                                               <xsl:attribute 
> name="src"><xsl:value-of select="$contextPath"/ 
> >/image/controlledvocabulary/f.gif</xsl:attribute>
>                                               <xsl:attribute 
> name="alt">search term</xsl:attribute>
>                                       </img>
>                               </xsl:otherwise>
>                       </xsl:choose>
>                       <!--** place check box if necessary** -->
>                       <xsl:choose>
>                               <xsl:when test="$allowMultipleSelection='yes'">
>                                       <xsl:variable name="nodePath">
>                                               <xsl:call-template 
> name="getNodePath"/>
>                                       </xsl:variable>
>                                       <xsl:variable 
> name="checkBoxName">cb_<xsl:value-of  
> select="generate-id()"/>
>                                       </xsl:variable>
>                                       <input class="controlledvocabulary" 
> type="checkbox"  
> name="{$checkBoxName}" value="{$nodePath}"/>
>                                       <xsl:value-of select="@label"/>
>                               </xsl:when>
>                               <xsl:otherwise>
>                                       <a class="value" onclick="javascript: 
> i(this);"  
> href="javascript:void(null);">
>                                               <xsl:value-of select="@label"/>
>                                       </a>
>                               </xsl:otherwise>
>                       </xsl:choose>
>                       <!--** render children ** -->
>                       <xsl:if test="./isComposedBy/node">
>                               <ul class="controlledvocabulary">
>                                       <xsl:apply-templates 
> select="isComposedBy"/>
>                               </ul>
>                       </xsl:if>
>               </li>
>       </xsl:template>
>       <!-- ************************************ -->
>       <xsl:template match="text"/>
>       <!-- ************************************ -->
>       <xsl:template match="text()" priority="-1"/>
>       <!-- ************************************ -->
>       <xsl:template name="getNodePath">
>               <!--xsl:for-each select="ancestor::node"><xsl:value-of  
> select="@label"/>::</xsl:for-each--><xsl:value-of select="@label"/>
>       </xsl:template>
>       <!-- ************************************ -->
> </xsl:stylesheet>


----------
Maike Dulk
Programmer / Analyst
McPherson Library, University of Victoria
[EMAIL PROTECTED]

IBM:
        It may be slow, but it's hard to use.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to