@Override public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.simpleContent.isTagNameEqual(element.getTagName())) { final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String groupOrClassName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); if (groupOrClassName != null) { if (!element.hasChildNodes() || (MetadataUtil.hasChildOf(element, XsdElementEnum.extension) || MetadataUtil.hasChildOf( element, XsdElementEnum.restriction))) { if (!MetadataUtil.hasChildsOf(element, XsdElementEnum.enumeration)) { final MetadataElement classElement = new MetadataElement(); classElement.setName(groupOrClassName); classElement.setType("text"); classElement.setIsRef(false); classElement.setIsAttribute(false); metadata.addClassElement(groupOrClassName, classElement); return true; } } } } } return false; }
@Override public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.simpleContent.isTagNameEqual(element.getTagName())) { final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String groupOrClassName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); if (groupOrClassName != null) { if (!element.hasChildNodes() || (MetadataUtil.hasChildOf(element, XsdElementEnum.extension) || MetadataUtil.hasChildOf( element, XsdElementEnum.restriction))) { if (!MetadataUtil.hasChildsOf(element, XsdElementEnum.enumeration)) { final MetadataElement classElement = new MetadataElement(); classElement.setName(groupOrClassName); classElement.setType("text"); classElement.setIsRef(false); classElement.setIsAttribute(false); metadata.addClassElement(groupOrClassName, classElement); return true; } } } } } return false; }
classElement.setIsAttribute(false); metadata.addClassElement(complexTypeName, classElement); } else if (!MetadataUtil.hasChildOf(element, XsdElementEnum.simpleContent) && !MetadataUtil.hasChildOf(element, XsdElementEnum.complexContent) && !MetadataUtil.hasChildOf(element, XsdElementEnum.group) && !MetadataUtil.hasChildOf(element, XsdElementEnum.all) && !MetadataUtil.hasChildOf(element, XsdElementEnum.choice) && !MetadataUtil.hasChildOf(element, XsdElementEnum.sequence) && !MetadataUtil.hasChildOf(element, XsdElementEnum.attribute) && !MetadataUtil.hasChildOf(element, XsdElementEnum.attributeGroup) && !MetadataUtil.hasChildOf(element, XsdElementEnum.anyAttribute)) { final String dataTypeName = MetadataUtil.getAttributeValue(element, "name"); final MetadataItem dataType = new MetadataItem(dataTypeName);
classElement.setIsAttribute(false); metadata.addClassElement(complexTypeName, classElement); } else if (!MetadataUtil.hasChildOf(element, XsdElementEnum.simpleContent) && !MetadataUtil.hasChildOf(element, XsdElementEnum.complexContent) && !MetadataUtil.hasChildOf(element, XsdElementEnum.group) && !MetadataUtil.hasChildOf(element, XsdElementEnum.all) && !MetadataUtil.hasChildOf(element, XsdElementEnum.choice) && !MetadataUtil.hasChildOf(element, XsdElementEnum.sequence) && !MetadataUtil.hasChildOf(element, XsdElementEnum.attribute) && !MetadataUtil.hasChildOf(element, XsdElementEnum.attributeGroup) && !MetadataUtil.hasChildOf(element, XsdElementEnum.anyAttribute)) { final String dataTypeName = MetadataUtil.getAttributeValue(element, "name"); final MetadataItem dataType = new MetadataItem(dataTypeName);
if (MetadataUtil.hasChildOf(element, XsdElementEnum.simpleType)) { final MetadataElement classElement = new MetadataElement(element); classElement.setType("xsd:string");
if (MetadataUtil.hasChildOf(element, XsdElementEnum.simpleType)) { final MetadataElement classElement = new MetadataElement(element); classElement.setType("xsd:string");