PROPPATCH/PROPFIND must preserve attribute xml:lang in scope
------------------------------------------------------------

                 Key: JCR-2491
                 URL: https://issues.apache.org/jira/browse/JCR-2491
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-webdav
    Affects Versions: 2.1.0
            Reporter: Javier Godoy
            Priority: Minor


Per RFC 4918 section 4.3, in storage and transmission of dead properties, 
servers MUST preserve [attributes] named "xml:lang" or any such attribute in 
scope.

Current behavior is that the attribute cannot be accessed by DavResourceImpl 
when the property value has only character content, because 
DefaultDavProperty.createFromXml() returned a String instead of an Element.

If the property has element or mixed content, the value of the attribute 
xml:lang in scope may be retrieved by inspecting parent nodes, which are 
available to DavResourceImpl at PROPPATCH time. However, in the case of mixed 
content, the attribute cannot be inserted in the serialized property (at 
PROPFIND time), because DefaultDavProperty.toXml() appends the property content 
to an element with no attributes.
(see example in section 4.3.1 of RFC 4918)

Affected methods:
 - DefaultDavProperty.createFromXml() which is invoked by  
WebDavRequestImpl.parsePropPatchRequest() as part of 
WebDavRequestImpl.getPropPatchChangeList()

 -DefaultDavProperty.toXml()

One possible aproach would be including in DefaultDavProperty a field for 
storing the value of the in-scope attribute, which would be later included in 
the serialized property.

-- 
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