[ https://issues.apache.org/jira/browse/JCRVLT-391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16985072#comment-16985072 ]
Konrad Windszus commented on JCRVLT-391: ---------------------------------------- I made an attempt in https://github.com/apache/jackrabbit-filevault/pull/68. Some test are failing. On question around linebreaks between attributes. Why do you expect {code} <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured"> <a jcr:primaryType="nt:unstructured"> <jcr:xmltext jcr:primaryType="nt:unstructured" jcr:xmlcharacters="Hello, World."/> </a> </jcr:root> {code} instead of {code} <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured"> <a jcr:primaryType="nt:unstructured"> <jcr:xmltext jcr:primaryType="nt:unstructured" jcr:xmlcharacters="Hello, World."/> </a> </jcr:root> {code} [~tripod] Under which circumstances should there be a linebreak in front of an attribute? > Remove copied classes of Xerces > ------------------------------- > > Key: JCRVLT-391 > URL: https://issues.apache.org/jira/browse/JCRVLT-391 > Project: Jackrabbit FileVault > Issue Type: Task > Components: vlt > Affects Versions: 3.4.0 > Reporter: Konrad Windszus > Priority: Major > Fix For: 3.4.2 > > > Currently the classes below {{o.a.j.v.util.xml}} seem to be a copy of Xerces > classes. Instead of just relying on an old copy one should use a proper Maven > dependency together with https://maven.apache.org/plugins/maven-shade-plugin/ > or https://bnd.bndtools.org/instructions/conditionalpackage.html to make sure > update to the latest version is possible. > Also it needs to be clarified if the embedded Xerces should be listed > explicitly in > https://github.com/apache/jackrabbit-filevault/blob/trunk/LICENSE.txt. > The original intent is stated in > https://github.com/apache/jackrabbit-filevault/blob/9fa6c72bf4bdf36331b50b9370f3ed826a4622e8/vault-core/src/main/java/org/apache/jackrabbit/vault/util/xml/serialize/XMLSerializer.java#L64. > The only modifications to the original Xerces were linebreaks after > attributes and an alphabetic attribute sort order. > The alternative is to use the {{javax.xml.transform}} API (JAXP > Transformation API). There is no official way though to control the order of > attribute, therefore I would recommend to already emit the attributes in the > correct order instead of reordering them with the output. Controlling the > indentation of attributes is hard to achieve: > https://stackoverflow.com/questions/8393370/use-xslt-to-add-newlines-after-attributes -- This message was sent by Atlassian Jira (v8.3.4#803005)