<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="/wikid/docs/xsl/mwCollections/CollectionWikiPages/display.xsl" type="text/xsl"?>

<!--
This resource container holds the product of the resolution request
-->
<resource xmlns:config="info:sid/localhost:CollectionSimpleSchemas:config" xmlns:explain="http://explain.z3950.org/dtd/2.0/" xmlns:srw="http://www.loc.gov/zing/srw/" xmlns:wiki="info:sid/localhost:CollectionSimpleSchemas:wiki" xmlns:wr="http://errol.oclc.org/oai:xmlregistry.oclc.org:errol/WikiRepository" xmlns:xlink="http://www.w3.org/TR/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--
This is an echo of the request information this stylesheet used to produce the resolution product
-->
<uri-context>
<srwIdentifier>info:sid/localhost:CollectionWikiPages:WikiDEngine</srwIdentifier>
<collectionURI>info:sid/localhost:CollectionWikiPages</collectionURI>
<repository-identifier>CollectionWikiPages</repository-identifier>
<srwURL>http://alcme.oclc.org:80/wikid/search/WikiDb.localhost</srwURL>
<local-identifier>WikiDEngine</local-identifier>
<action>display</action>
</uri-context>
<!--
This is the collection configuration record
-->
<record xmlns="info:sid/localhost:CollectionSimpleSchemas:config" xsi:schemaLocation="info:sid/localhost:CollectionSimpleSchemas:config http://alcme.oclc.org/metawiki/raw/info:sid/localhost:CollectionSimpleSchemas:config.xsd">
<repositoryName>Wiki Pages</repositoryName>
<localIdentifierType>userAssigned</localIdentifierType>
<adminEmail>mailto:jyoung@oclc.org</adminEmail>
<defaultXSL>no</defaultXSL>
<schemaURI recordPrefix="wiki">info:sid/localhost:CollectionSimpleSchemas:wiki</schemaURI>
<crosswalkSchemaURI recordPrefix="xhtml">info:sid/localhost:CollectionExternalSchemas:xhtml</crosswalkSchemaURI>
<defaultSchemaURI>info:sid/localhost:CollectionExternalSchemas:xhtml</defaultSchemaURI>
</record>
<!--
There is a local-identifier, so this URI must identify an item in a collection
-->
<!--
This is the searchRetrieveResponse for the item's Deposit record
-->
<content>
<searchRetrieveResponse xmlns="http://www.loc.gov/zing/srw/">
<version>1.1</version>
<numberOfRecords>1</numberOfRecords>
<resultSetId>tqxjgl</resultSetId>
<resultSetIdleTime>300</resultSetIdleTime>
<records xmlns:ns1="http://www.loc.gov/zing/srw/">
<record>
<recordSchema>http://www.oclc.org/schemas/WikiRepository</recordSchema>
<recordPacking>xml</recordPacking>
<recordData>
<wr:Deposit xmlns="http://www.w3.org/TR/xhtml1/strict">
<wr:browserPath>http://alcme.oclc.org:80/wikid/docs/WikiRepository</wr:browserPath>
<wr:refID>info:sid/localhost:CollectionWikiPages:WikiDEngine</wr:refID>
<wr:refIDPrefix/>
<wr:userName>SomeBody</wr:userName>
<wr:collection>CollectionWikiPages</wr:collection>
<wr:relativePath>2005/07/28/12</wr:relativePath>
<wr:fullRefID>inf_3asid_2flocalhost_3aCollectionWikiPages_3aWikiDEngine_5f20050728125520134</wr:fullRefID>
<wr:mimeType>text/xml</wr:mimeType>
<wr:sort>CollectionWikiPages:WikiDEngine</wr:sort>
<wr:dateCreated>2005-07-28</wr:dateCreated>
<wr:datestamp>2005-07-28</wr:datestamp>
<wr:oldDate/>
</wr:Deposit>
</recordData>
<recordPosition>1</recordPosition>
</record>
</records>
<echoedSearchRetrieveRequest xmlns:ns2="http://www.loc.gov/zing/srw/">
<version>1.1</version>
<query>repos.hasDate = "hasdate" and oai.identifier exact "info:sid/localhost:CollectionWikiPages:WikiDEngine"</query>
<xQuery>
<ns3:searchClause xmlns:ns3="http://www.loc.gov/zing/cql/xcql/">
<ns3:index>cql.any</ns3:index>
<ns3:relation>
<ns3:value>=</ns3:value>
</ns3:relation>
<ns3:term>huh?</ns3:term>
</ns3:searchClause>
</xQuery>
<startRecord>1</startRecord>
<maximumRecords>1</maximumRecords>
<recordPacking>xml</recordPacking>
<recordSchema>default</recordSchema>
</echoedSearchRetrieveRequest>
</searchRetrieveResponse>
<!--
This is the datestamp for the Deposit
-->
<datestamp>2005-07-28</datestamp>
<!--
This is the URL for the content
-->
<contentURL>http://alcme.oclc.org:80/wikid/docs/WikiRepository/2005/07/28/12/inf_3asid_2flocalhost_3aCollectionWikiPages_3aWikiDEngine_5f20050728125520134</contentURL>
<!--
Here is the record content
-->
<record>
<record xmlns="info:sid/localhost:CollectionSimpleSchemas:wiki" xsi:schemaLocation="info:sid/localhost:CollectionSimpleSchemas:wiki http://alcme.oclc.org:80/wikid/raw/info:sid/localhost:CollectionSimpleSchemas:wiki.xsd">
<raw>WikiD is a J2EE JavaServlet webapp built from these standards-based, lightweight, open-source, modular components:
* OCLC OpenURL 1.0: http://www.oclc.org/research/software/openurl/default.htm
* OCLC SRW/U: http://www.oclc.org/research/software/srw/default.htm
* OCLC SRW Update: Contact mailto:ralph_levan@oclc.org for more information
** This implementation has been enhanced to support version-control of submitted records
* XSLT

The non-standards-based components are also lightweight, open-source, and modular:
* OCLC Pears database engine: http://www.oclc.org/research/software/pears/default.htm
* OCLC WebEdit HTML form processor: Contact mailto:jeffrey_young@oclc.org for more information

The only other component is the WikiD servlet which is a ''very'' thin layer on top of the embedded OpenURL 1.0 resolver. All it really does is transform bits of information from the HttpServletRequest into an OpenURL 1.0 Context''''''Object and pass it along to the OpenURL 1.0 resolver. On the back end, the WikiD servlet merely relays the OpenURL response to the client unmolested.

The Context''''''Object is built from these Entities:
* Referent - an Identifier taken from the pathInfo of the request
** If the pathInfo is a URI, it is used directly
** If the pathInfo is a WikiName, it is transformed into an item-level URI by prefixing it with the URI assigned to CollectionWikiPages (viz. info:sid/localhost:CollectionWikiPages''''''.) Allowing this prefix to be implied for WikiName''''''s preserves the wiki aesthetic.
* Referring''''''Entity - The Referer (sic) URL from the HTTP header (i.e. the page that contained the hotlink that was clicked)
* Requester - a Descriptor for a user (if authenticated)
* Service''''''Type - Private''''''Data containing the arguments to be applied to the Referent (e.g. action=edit)
* Referrer - The serverPath/context of the request (as a clue to the OpenURL resolver for how to interpret the Private''''''Data Service''''''Type)

The OpenURL 1.0 protocol is highly abstract. These abstractions are instantiated via Properties files when the WikiD servlet gets initialized. These instantiations are geared towards recognizing the special needs of the WikiD Referrer Entity and producing a response appropriate for that context.</raw>
</record>
</record>
</content>
<displayContent>
<html xmlns="http://www.w3.org/1999/xhtml">
<body><a href="WikiD">WikiD</a> is a J2EE <a href="JavaServlet">JavaServlet</a> webapp built from these standards-based, lightweight, open-source, modular components:
<ul>
<li> OCLC OpenURL 1.0: <a href="http://www.oclc.org/research/software/openurl/default.htm">http://www.oclc.org/research/software/openurl/default.htm</a></li>
<li> OCLC SRW/U: <a href="http://www.oclc.org/research/software/srw/default.htm">http://www.oclc.org/research/software/srw/default.htm</a></li>
<li> OCLC SRW Update: Contact <a href="mailto:ralph_levan@oclc.org">mailto:ralph_levan@oclc.org</a> for more information
<ul>
<li> This implementation has been enhanced to support version-control of submitted records</li>
</ul>
</li>
<li> XSLT</li>
</ul>
<p></p>
The non-standards-based components are also lightweight, open-source, and modular:
<ul>
<li> OCLC Pears database engine: <a href="http://www.oclc.org/research/software/pears/default.htm">http://www.oclc.org/research/software/pears/default.htm</a></li>
<li> OCLC <a href="WebEdit">WebEdit</a> HTML form processor: Contact <a href="mailto:jeffrey_young@oclc.org">mailto:jeffrey_young@oclc.org</a> for more information</li>
</ul>
<p></p>
The only other component is the <a href="WikiD">WikiD</a> servlet which is a <em>very</em> thin layer on top of the embedded OpenURL 1.0 resolver. All it really does is transform bits of information from the <a href="HttpServletRequest">HttpServletRequest</a> into an OpenURL 1.0 ContextObject and pass it along to the OpenURL 1.0 resolver. On the back end, the <a href="WikiD">WikiD</a> servlet merely relays the OpenURL response to the client unmolested.<p></p>
The ContextObject is built from these Entities:
<ul>
<li> Referent - an Identifier taken from the pathInfo of the request
<ul>
<li> If the pathInfo is a URI, it is used directly</li>
<li> If the pathInfo is a <a href="WikiName">WikiName</a>, it is transformed into an item-level URI by prefixing it with the URI assigned to <a href="./CollectionWikiPages">CollectionWikiPages</a> (viz. <a href="./info:sid/localhost:CollectionWikiPages">info:sid/localhost:CollectionWikiPages</a>.) Allowing this prefix to be implied for <a href="WikiName">WikiName</a>s preserves the wiki aesthetic.</li>
</ul>
</li>
<li> ReferringEntity - The Referer (sic) URL from the HTTP header (i.e. the page that contained the hotlink that was clicked)</li>
<li> Requester - a Descriptor for a user (if authenticated)</li>
<li> ServiceType - PrivateData containing the arguments to be applied to the Referent (e.g. action=edit)</li>
<li> Referrer - The serverPath/context of the request (as a clue to the OpenURL resolver for how to interpret the PrivateData ServiceType)</li>
</ul>
<p></p>
The OpenURL 1.0 protocol is highly abstract. These abstractions are instantiated via Properties files when the <a href="WikiD">WikiD</a> servlet gets initialized. These instantiations are geared towards recognizing the special needs of the <a href="WikiD">WikiD</a> Referrer Entity and producing a response appropriate for that context.</body>
</html>
</displayContent>
</resource>
