# WebDAV document search

### 1. Using freetext search

1.1. Choose "Free text match"

1.2. Enter some word in text area below

1.3. Enter number of matches at time (by default 500)

1.4. Press "Execute" button

This produces list of files containing the "word".

Clicking over document name will display document body in browser.

### 2. Using XPATH search

1.1. Choose "XPATH expression"

1.2. Enter XPATH query in text area below (for example "//title")

1.3. Choose output type

1.3.1. Using "XML" output type

1.3.1.1. Choose scope of query (WebDAV collection or resource) using button "Browse" at right of "Query scope" or enter manually. This parameter will restrict search only in this WebDAV collection or only in this WebDAV resource. For example if entered "/DAV/docsrc/" then query will be executed only over resources bellow this collection.

1.3.1.2. Choose "Output style sheet" using button browse at right of text box. This step is conditional if we want to view XSL-T transformation clicking over the founded document. If this field is empty then two outputs are possible - body of xml document or xml entities from XPATH query.

1.3.1.3. Choose "Output transformation"

- if selected "none" then clicking over document link will display content of resource without any transformation.

- if selected "xml only" then two possibilities are - if "Output style sheet" is empty then xml document beginning with "Root element" will be produced otherwise xml-stylesheet will be added.

- if "XML-T transformation" used then clicking over document link produces XSL-T transformation of selected document using "Output style sheet"

1.3.2. Using "entity" output type

1.3.2.1. Choose scope of query (WebDAV collection or resource) using button "Browse" at right of "Query scope" or enter manually. This parameter will restrict search only in this WebDAV collection or only in this WebDAV resource. For example if entered "/DAV/docsrc/" then query will be executed only over resources bellow this collection.

1.3.2.2. Choose "Output style sheet" using button browse at right of text box. This step is conditional if we want to view XSL-T transformation clicking over the founded document. If this field is empty then two outputs are possible - body of xml document or xml entities from XPATH query.

### 3. Examples using XPATH query search and XML output

All strings should be entered unquoted (i.e. if in text we read 'enter "a"' then we should enter letter a only)

For demonstration purposes in "/DAV/xslsamples/portfolio/" WebDAV folder should be uploaded portfolio.xml and portfolio.xsl

3.1. Search without transformation

- Choose "XPATH expression"

- Enter "//stock" in text area bellow

- Press "Browse" at right of "Query scope" (browser display WebDAV content of root collection)

- Click over folder icon of "docsrc" (in "Query scope" should appear "/DAV/xslsamples/portfolio/")

- All other controls should be - "Output type" is "XML", "Output style sheet" is empty, "Output transformation" is "none", "Root element" is "root"

- Click on "Execute" button

- At bottom of the page will be displayed document "portfolio.xml" containing "stock" element

- Clicking over document name will display document source

               Symbol Name          Price
               ZCXM   zacx corp     28.875
               ZFFX   zaffymat inc  92.250
               ZYSZ   zysmergy inc  20.313

This result is produced by browser i.e. portfolio.xml contains xml-stylesheet information in XML header.

3.2. Entities output without style-sheet

- All fields as 3.1. example

- Check "xml only" from "Output transformation" radio group

- Enter "portfolio" in "Root element" instead of "root"

- Click on "Execute" button

- At bottom of the page will be displayed document "portfolio.xml" containing "title" element

- Clicking over document name will display result like that

    	    <?xml version="1.0"?>
    	    <portfolio>
    	    <stock exchange="nyse">
    		<name>zacx corp</name>
    		<symbol>ZCXM</symbol>
    		<price  xmlns:n0="urn:schemas-microsoft-com:datatypes" n0:dt="number">28.875</price>
    	      </stock>
    	    <stock exchange="nasdaq">
    		<name>zaffymat inc</name>
    		<symbol>ZFFX</symbol>
    		<price  xmlns:n0="urn:schemas-microsoft-com:datatypes" n0:dt="number">92.250</price>
    	      </stock>
    	    <stock exchange="nasdaq">
    		<name>zysmergy inc</name>
    		<symbol>ZYSZ</symbol>
    		<price  xmlns:n0="urn:schemas-microsoft-com:datatypes" n0:dt="number">20.313</price>
    	      </stock>
    	    </portfolio>

3.3. Entities output with xml-stylesheet header and browser transformation

- All fields as 3.2. example

- Press "Browse" at right of "Output style sheet" (browser display WebDAV content of root collection)

- Click over "xslsamples" link after that click over "portfolio" link and choose "portfolio.xsl"

- Click on "Execute" button

- At bottom of the page will be displayed document "portfolio.xml" containing "stock" element

- Clicking over document name will display HTML result like that

                Symbol Name          Price
                ZCXM   zacx corp     28.875
                ZFFX   zaffymat inc  92.250
                ZYSZ   zysmergy inc  20.313

3.4. Transformation with Virtuoso XSL-T engine

- All fields as 3.3. example

- Check "XSL-T engine" from "Output transformation" radio group

- Click on "Execute" button

- At bottom of the page will be displayed document "portfolio.xml" containing "stock" element

- Clicking over document name will display HTML result like that

                Symbol Name          Price
                ZCXM   zacx corp     28.875
                ZFFX   zaffymat inc  92.250
                ZYSZ   zysmergy inc  20.313