[ 
https://issues.apache.org/jira/browse/JCR-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637961#action_12637961
 ] 

Nicholas DiPiazza commented on JCR-1787:
----------------------------------------

Simple.

<servlet>
        <servlet-name>Webdav</servlet-name> 
        <description>The webdav servlet that connects HTTP request to the 
repository.</description> 
        
<servlet-class>org.apache.jackrabbit.j2ee.SimpleWebdavServlet</servlet-class> 
 <init-param>
  <param-name>resource-path-prefix</param-name> 
  <param-value>/repository</param-value> 
  <description>defines the prefix for spooling resources out of the 
repository.</description> 
  </init-param>

 <init-param>
  <param-name>resource-config</param-name> 
  <param-value>/WEB-INF/jackrabbit-webdav-config.xml</param-value> 
  <description>Defines various dav-resource configuration 
parameters.</description> 
  </init-param>
  <init-param>
             <param-name>missing-auth-mapping</param-name>
             <param-value>anonymous:anonymous</param-value>
             <description>
                 Defines how a missing authorization header should be handled.
                 1) If this init-param is missing, a 401 response is generated.
                    This is suiteable for clients (eg. webdav clients) for which
                    sending a proper authorization header is not possible if the
                    server never sent a 401.
                 2) If this init-param is present with an empty value,
                    null-credentials are returned, thus forcing an null login
                    on the repository.
                 3) If this init-param has a 'user:password' value, the 
respective
                    simple credentials are generated.
             </description>
         </init-param>
  <load-on-startup>4</load-on-startup> 
  </servlet>
 

> XmlHandler export functions don't work in XML repository mode - causes XML 
> with XSLT dependencies to show up with jcr:content XML element.
> ------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JCR-1787
>                 URL: https://issues.apache.org/jira/browse/JCR-1787
>             Project: Jackrabbit
>          Issue Type: Bug
>            Reporter: Nicholas DiPiazza
>         Attachments: XmlHandler.java
>
>
> I can't view XML files with XSLT dependencies because the XML returned from 
> XML requests will come back as the "jcr:content" XML representation.
> <?xml version="1.0" encoding="UTF-8" ?> 
>   <jcr:content xmlns:jcr="http://www.jcp.org/jcr/1.0"; 
> xmlns:nt="http://www.jcp.org/jcr/nt/1.0"; 
> xmlns:sv="http://www.jcp.org/jcr/sv/1.0"; 
> xmlns:mix="http://www.jcp.org/jcr/mix/1.0"; 
> xmlns:xrc="http://www.xerceo.com/learn/jcr-1.0"; xmlns:rep="internal" 
> jcr:primaryType="nt:resource" jcr:uuid="33951e14-7a9a-4746-b848-4f931f4c01be" 
> jcr:data="" jcr:encoding="UTF-8" 
> jcr:lastModified="2008-10-06T14:46:43.965-05:00" jcr:mimeType="text/xml" /> 
> I suggest changes to package org.apache.jackrabbit.server.io.XmlHandler:
> 1) Create new method:
> /**
>      * @see DefaultHandler#exportData(ExportContext, boolean, Node)
>      */
>     protected void exportData(ExportContext context, boolean isCollection, 
> Node contentNode) throws IOException, RepositoryException {
>         // first child of content is XML document root
>         if (contentNode.getNodes().hasNext()) {
>             contentNode = contentNode.getNodes().nextNode();
>         }
>         
>         OutputStream out = context.getOutputStream();
>         
> out.write(ValueHelper.serialize(contentNode.getProperty("jcr:data").getValue(),
>  false).getBytes());
>     }
> Change canExport method:
> /**
>      * @see IOHandler#canExport(ExportContext, boolean)
>      */
>     public boolean canExport(ExportContext context, boolean isCollection) {
>         if (super.canExport(context, isCollection)) {
>             String mimeType = null;
>             try {
>                 Node contentNode = getContentNode(context, isCollection);
>                 if (contentNode.hasProperty(JcrConstants.JCR_MIMETYPE)) {
>                     mimeType = 
> contentNode.getProperty(JcrConstants.JCR_MIMETYPE).getString();
>                 } else {
>                     mimeType = 
> context.getMimeResolver().getMimeType(context.getExportRoot().getName());
>                 }
>             } catch (RepositoryException e) {
>                 // ignore and return false
>             }
>             return XML_MIMETYPE.equals(mimeType);
>         }
>         return false;
>     }
> This causes my server to return the correct XML then

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to