private QName getHierarchyRoot(QName name) { ItemDefinition def = schemaRegistry.findItemDefinitionByElementName(name); if (def == null || !def.isHeterogeneousListItem()) { return name; } else { return def.getSubstitutionHead(); } }
@Test public void testParseToXNode() throws Exception { displayTestTitle("testParseToXNode"); ItemDefinition sequenceDef = getPrismContext().getSchemaRegistry().findItemDefinitionByElementName(SchemaConstants.S_SEQUENCE); System.out.println("sequence.substitutionHead = " + sequenceDef.getSubstitutionHead()); System.out.println("sequence.heterogeneousListItem = " + sequenceDef.isHeterogeneousListItem()); ComplexTypeDefinition sequenceCtd = getPrismContext().getSchemaRegistry().findComplexTypeDefinitionByType(sequenceDef.getTypeName()); System.out.println("ExpressionSequenceType.list = " + sequenceCtd.isListMarker()); System.out.println("\n\n-----------------------------------\n"); String file = MiscUtil.readFile(getFile()); System.out.println("Original text:\n" + file); RootXNode xnode = getPrismContext().parserFor(file).parseToXNode(); System.out.println("XNode:\n" + xnode.debugDump()); System.out.println("source -> XNode -> JSON:\n" + getPrismContext().jsonSerializer().serialize(xnode)); System.out.println("source -> XNode -> YAML:\n" + getPrismContext().yamlSerializer().serialize(xnode)); System.out.println("source -> XNode -> XML:\n" + getPrismContext().xmlSerializer().serialize(xnode)); }