@Override public void attributeDecl(String elementName, String attributeName, String attributeType, String[] enumeration, short attributeUse, String defaultValue) throws SAXException { if (isVerbose) { System.out.println("attributeDecl: elementName: " + elementName + " attributeName: " + attributeName + " attributeType: " + attributeType + " enumeration: " + enumeration + " attributeUse: " + attributeUse); } /** * Don't add the system attribute id otherwise we have problems with the mixed content. */ if (!attributeType.equals("ID")) { final MetadataElement element = new MetadataElement(); element.setName(attributeName); element.setIsAttribute(true); element.setType("xsd:string"); metadata.addClassElement(elementName, element); } }
@Override public void attributeDecl(String elementName, String attributeName, String attributeType, String[] enumeration, short attributeUse, String defaultValue) throws SAXException { if (isVerbose) { System.out.println("attributeDecl: elementName: " + elementName + " attributeName: " + attributeName + " attributeType: " + attributeType + " enumeration: " + enumeration + " attributeUse: " + attributeUse); } /** * Don't add the system attribute id otherwise we have problems with the mixed content. */ if (!attributeType.equals("ID")) { final MetadataElement element = new MetadataElement(); element.setName(attributeName); element.setIsAttribute(true); element.setType("xsd:string"); metadata.addClassElement(elementName, element); } }
@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.setName(ref); classElement.setType(dataType.getMappedTo()); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement); return true; groupElement.setIsAttribute(true); metadata.addGroupElement(groupOrClassName, groupElement); return true; classElement.setName(ref); classElement.setType(dataType.getMappedTo()); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement); return true; classElement.setType("text"); classElement.setIsRef(false); classElement.setIsAttribute(false); metadata.addClassElement(groupOrClassName, classElement); classAttr.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classAttr); return true; final MetadataElement classElement = new MetadataElement(element); classElement.setType("xsd:string"); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement);
classElement.setName(ref); classElement.setType(dataType.getMappedTo()); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement); return true; groupElement.setIsAttribute(true); metadata.addGroupElement(groupOrClassName, groupElement); return true; classElement.setName(ref); classElement.setType(dataType.getMappedTo()); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement); return true; classElement.setType("text"); classElement.setIsRef(false); classElement.setIsAttribute(false); metadata.addClassElement(groupOrClassName, classElement); classAttr.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classAttr); return true; final MetadataElement classElement = new MetadataElement(element); classElement.setType("xsd:string"); classElement.setIsAttribute(true); metadata.addClassElement(groupOrClassName, classElement);
classElement.setType("text"); classElement.setIsRef(false); classElement.setIsAttribute(false); metadata.addClassElement(complexTypeName, classElement); } else if (abstractStr != null && abstractStr.equals("true")) { classElement.setType(metadata.getCurrentNamespace() + ":" + complexTypeName); classElement.setIsRef(false); classElement.setIsAttribute(false); metadata.addClassElement(complexTypeName, classElement); } else if (!MetadataUtil.hasChildOf(element, XsdElementEnum.simpleContent)
classElement.setType("text"); classElement.setIsRef(false); classElement.setIsAttribute(false); metadata.addClassElement(complexTypeName, classElement); } else if (abstractStr != null && abstractStr.equals("true")) { classElement.setType(metadata.getCurrentNamespace() + ":" + complexTypeName); classElement.setIsRef(false); classElement.setIsAttribute(false); metadata.addClassElement(complexTypeName, classElement); } else if (!MetadataUtil.hasChildOf(element, XsdElementEnum.simpleContent)