public FilterChain() { filterList.add(new GroupFilter()); filterList.add(new ElementFilter()); filterList.add(new EnumFilter()); filterList.add(new AttributeFilter()); filterList.add(new AttributeGroupFilter()); filterList.add(new RestrictionFilter()); filterList.add(new ComplexTypeFilter()); // filterList.add(new SimpleContentFilter()); // simpleContent used for text only types are not supported // currently filterList.add(new ExtensionFilter()); filterList.add(new UnionFilter()); filterList.add(new ListFilter()); }
@Override public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.union.isTagNameEqual(element.getTagName())) { final String memberTypesStr = MetadataUtil.getAttributeValue(element, "memberTypes"); if (memberTypesStr != null) { final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String parentName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); final String[] items = memberTypesStr.split(" ", -1); if (items != null && items.length > 1) { final MetadataItem dataType = new MetadataItem(parentName); dataType.setMappedTo(getDataType(items)); dataType.setNamespace(metadata.getCurrentNamespace()); dataType.setSchemaName(metadata.getCurrentSchmema()); metadata.getDataTypeList().add(dataType); } } } } return false; }
@Override public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.union.isTagNameEqual(element.getTagName())) { final String memberTypesStr = MetadataUtil.getAttributeValue(element, "memberTypes"); if (memberTypesStr != null) { final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String parentName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); final String[] items = memberTypesStr.split(" ", -1); if (items != null && items.length > 1) { final MetadataItem dataType = new MetadataItem(parentName); dataType.setMappedTo(getDataType(items)); dataType.setNamespace(metadata.getCurrentNamespace()); dataType.setSchemaName(metadata.getCurrentSchmema()); metadata.getDataTypeList().add(dataType); } } } } return false; }
public FilterChain() { filterList.add(new GroupFilter()); filterList.add(new ElementFilter()); filterList.add(new EnumFilter()); filterList.add(new AttributeFilter()); filterList.add(new AttributeGroupFilter()); filterList.add(new RestrictionFilter()); filterList.add(new ComplexTypeFilter()); // filterList.add(new SimpleContentFilter()); // simpleContent used for text only types are not supported // currently filterList.add(new ExtensionFilter()); filterList.add(new UnionFilter()); filterList.add(new ListFilter()); }