private boolean hasNestedElement(final Node parent, final XsdElementEnum elementType) { if (parent.hasChildNodes()) { for (int i = 0; i < parent.getChildNodes().getLength(); i++) { final Node childNode = parent.getChildNodes().item(i); if (childNode.getNodeType() == Node.ELEMENT_NODE) { final Element childElement = (Element) childNode; if (elementType.isTagNameEqual(childElement.getTagName())) { return true; } } } } return false; } }
private boolean hasNestedElement(final Node parent, final XsdElementEnum elementType) { if (parent.hasChildNodes()) { for (int i = 0; i < parent.getChildNodes().getLength(); i++) { final Node childNode = parent.getChildNodes().item(i); if (childNode.getNodeType() == Node.ELEMENT_NODE) { final Element childElement = (Element) childNode; if (elementType.isTagNameEqual(childElement.getTagName())) { return true; } } } } return false; } }
/** * Checks the existence of a w3c child element. * * @param parentElement * the element from which the search starts. * @param child * the <code>XsdElementEnum</code> specifying the child element. * @return true, if found, otherwise false. */ public static boolean hasChildOf(final Element parentElement, XsdElementEnum child) { NodeList nodeList = parentElement.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { final Node childNode = nodeList.item(i); if (childNode.getNodeType() == Node.ELEMENT_NODE) { final Element childElement = (Element) childNode; if (child.isTagNameEqual(childElement.getTagName())) { return true; } } } return false; }
/** * Checks for the first parent node occurrence of the a w3c parentEnum element. * * @param parentElement * the element from which the search starts. * @param parentEnum * the <code>XsdElementEnum</code> specifying the parent element. * @return true, if found, otherwise false. */ public static boolean hasParentOf(final Element parentElement, XsdElementEnum parentEnum) { Node parent = parentElement.getParentNode(); while (parent != null) { if (parent.getNodeType() == Node.ELEMENT_NODE) { final Element parentElm = (Element) parent; if (parentEnum.isTagNameEqual(parentElm.getTagName())) { return true; } } parent = parent.getParentNode(); } return false; }
/** * Checks for the first parent node occurrence of the a w3c parentEnum element. * * @param parentElement * the element from which the search starts. * @param parentEnum * the <code>XsdElementEnum</code> specifying the parent element. * @return true, if found, otherwise false. */ public static boolean hasParentOf(final Element parentElement, XsdElementEnum parentEnum) { Node parent = parentElement.getParentNode(); while (parent != null) { if (parent.getNodeType() == Node.ELEMENT_NODE) { final Element parentElm = (Element) parent; if (parentEnum.isTagNameEqual(parentElm.getTagName())) { return true; } } parent = parent.getParentNode(); } return false; }
/** * Checks the existence of a w3c child element. * * @param parentElement * the element from which the search starts. * @param child * the <code>XsdElementEnum</code> specifying the child element. * @return true, if found, otherwise false. */ public static boolean hasChildOf(final Element parentElement, XsdElementEnum child) { NodeList nodeList = parentElement.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { final Node childNode = nodeList.item(i); if (childNode.getNodeType() == Node.ELEMENT_NODE) { final Element childElement = (Element) childNode; if (child.isTagNameEqual(childElement.getTagName())) { return true; } } } return false; }
/** * Checks the existence of a w3c child element. * * @param parentElement * the element from which the search starts. * @param child * the <code>XsdElementEnum</code> specifying the child element. * @return true, if found, otherwise false. */ public static boolean hasChildsOf(final Element parentElement, XsdElementEnum child) { NodeList nodeList = parentElement.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { final Node childNode = nodeList.item(i); if (childNode.getNodeType() == Node.ELEMENT_NODE) { final Element childElement = (Element) childNode; if (child.isTagNameEqual(childElement.getTagName())) { return true; } if (childElement.hasChildNodes()) { if (hasChildsOf(childElement, child)) { return true; } } } } return false; }
/** * Checks the existence of a w3c child element. * * @param parentElement * the element from which the search starts. * @param child * the <code>XsdElementEnum</code> specifying the child element. * @return true, if found, otherwise false. */ public static boolean hasChildsOf(final Element parentElement, XsdElementEnum child) { NodeList nodeList = parentElement.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { final Node childNode = nodeList.item(i); if (childNode.getNodeType() == Node.ELEMENT_NODE) { final Element childElement = (Element) childNode; if (child.isTagNameEqual(childElement.getTagName())) { return true; } if (childElement.hasChildNodes()) { if (hasChildsOf(childElement, child)) { return true; } } } } return false; }
public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.enumeration.isTagNameEqual(element.getTagName())) { final Node valueNode = element.getAttributes().getNamedItem("value"); if (valueNode != null) { final String enumValue = valueNode.getNodeValue(); final Node simpleTypeNode = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (simpleTypeNode != null) { final Element parentElementWithName = (Element) simpleTypeNode; final String enumName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); metadata.addEnumValue(enumName, enumValue); return true; } } } return false; }
public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.enumeration.isTagNameEqual(element.getTagName())) { final Node valueNode = element.getAttributes().getNamedItem("value"); if (valueNode != null) { final String enumValue = valueNode.getNodeValue(); final Node simpleTypeNode = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (simpleTypeNode != null) { final Element parentElementWithName = (Element) simpleTypeNode; final String enumName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); metadata.addEnumValue(enumName, enumValue); return true; } } } return false; }
public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.attributeGroup.isTagNameEqual(element.getTagName())) { final Node refNode = element.getAttributes().getNamedItem("ref"); if (refNode != null) { final MetadataElement refElement = new MetadataElement(element); refElement.setIsRef(true); final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String groupOrClassName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); if (XsdElementEnum.attributeGroup.isTagNameEqual(parentElementWithName.getTagName())) { metadata.addGroupReference(groupOrClassName, refElement); return true; } else { metadata.addClassReference(groupOrClassName, refElement); return true; } } } } return false; } }
public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.attributeGroup.isTagNameEqual(element.getTagName())) { final Node refNode = element.getAttributes().getNamedItem("ref"); if (refNode != null) { final MetadataElement refElement = new MetadataElement(element); refElement.setIsRef(true); final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String groupOrClassName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); if (XsdElementEnum.attributeGroup.isTagNameEqual(parentElementWithName.getTagName())) { metadata.addGroupReference(groupOrClassName, refElement); return true; } else { metadata.addClassReference(groupOrClassName, refElement); return true; } } } } return false; } }
final Element element = (Element) parent; if (XsdElementEnum.group.isTagNameEqual(element.getTagName())) { final Node refNode = element.getAttributes().getNamedItem("ref"); final Element parentElementWithName = (Element) parentNodeWithName; final String groupOrClassName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); if (XsdElementEnum.group.isTagNameEqual(parentElementWithName.getTagName())) { metadata.addGroupReference(groupOrClassName, refElement); return true;
final Element element = (Element) parent; if (XsdElementEnum.list.isTagNameEqual(element.getTagName())) { final String itemTypeStr = MetadataUtil.getAttributeValue(element, "itemType"); if (itemTypeStr != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String parentName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); if (XsdElementEnum.simpleType.isTagNameEqual(parentElementWithName.getTagName())) { final MetadataItem dataType = new MetadataItem(parentName); dataType.setMappedTo("xsd:string");
@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 boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.restriction.isTagNameEqual(element.getTagName())) { if (!hasNestedElement(parent, XsdElementEnum.enumeration)) { final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String dataTypeName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); if (dataTypeName != null) { final String type = MetadataUtil.getAttributeValue(element, "base"); if (type != null) { final MetadataItem dataType = new MetadataItem(dataTypeName); dataType.setMappedTo(type); dataType.setNamespace(metadata.getCurrentNamespace()); dataType.setSchemaName(metadata.getCurrentSchmema()); metadata.getDataTypeList().add(dataType); return true; } } } } } return false; }
public boolean filter(final Metadata metadata, final TreeWalker walker) { final Node parent = walker.getCurrentNode(); final Element element = (Element) parent; if (XsdElementEnum.restriction.isTagNameEqual(element.getTagName())) { if (!hasNestedElement(parent, XsdElementEnum.enumeration)) { final Node parentNodeWithName = MetadataUtil.getNextParentNodeWithAttr(parent.getParentNode(), "name"); if (parentNodeWithName != null) { final Element parentElementWithName = (Element) parentNodeWithName; final String dataTypeName = MetadataUtil.getAttributeValue(parentElementWithName, "name"); if (dataTypeName != null) { final String type = MetadataUtil.getAttributeValue(element, "base"); if (type != null) { final MetadataItem dataType = new MetadataItem(dataTypeName); dataType.setMappedTo(type); dataType.setNamespace(metadata.getCurrentNamespace()); dataType.setSchemaName(metadata.getCurrentSchmema()); metadata.getDataTypeList().add(dataType); 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; }
@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; }