내 노드의 유형을 완전히 정의하지 않고 Jackrabbit에서 동일한 이름의 형제를 제한 할 수 있습니까? 내 저장소에 적용 할 수 있고 모든 노드의 유형으로 사용할 수있는 간단한 CND 정의를 찾고 있습니다 (추측합니다).Jackrabbit 제한 SNS (nt : 구조화되지 않음)
나는 (http://wiki.apache.org/jackrabbit/DavidsModel) 특히 강한 스키마를 만드는 것을 피하면서 # 1을 따르고 있지만 동일한 이름의 형제를 피하면서 # 4와 호환되지 않는 것으로 여기고 있습니다.
수동으로 같은 이름의 형제를 피하고 관련 상위 노드 (컬렉션)를 잠그고 동일한 이름의 노드를 수동으로 확인할 수 있으며 어쨌든이 작업을 수행하여 응용 프로그램 수준의 오류 메시지를 표시하지만 불일치에 대한 추가 보호 계층을 선호합니다.
또한, 나는이 문서를 발견
http://www.day.com/specs/jcr/1.0/4.3.2_Support_for_Same_Name_Siblings_is_Optional.html
모든 호환 저장소가 지원해야하는 노드 유형이 필요한 노드 유형의 것도 허용하지의 필수 세트가 있지만 이름이 같은 형제 및 특정 저장소에서 사용 가능한 추가 노드 유형은 구현에 따라 다릅니다. 따라서 저장소가 사용 가능한 노드 유형 집합을 제한하여 동일한 이름의 형제를 모두 허용하지 않을 수 있습니다.
이 내가 관찰 한 내용과 일치하지 않는 것, 예컨대 :
final Repository repository = new TransientRepository();
final Session session = repository.login(new SimpleCredentials("username", "password".toCharArray()));
final Node collection = session.getRootNode().addNode("collection", "nt:unstructured");
final Node childA = collection.addNode("child", "nt:unstructured");
final Node childB = collection.addNode("child", "nt:unstructured");
session.save();
System.err.println(collection.getNodes("child").getSize());
//prints 2
는 JCR의 버전 2.0에서 변경된이 뭔가? (나는 그것이 v1.0 명세이다.)
나는 JCR이 원칙적으로 매우 적절하다고 생각하지만, 문서가 부족한 것이 바로 지금 나를 실망시키고있다. 따라서 최신 정보 높게 평가 될 것입니다. NT 용 CND 정의에 기반
는