while(stringTokenizer.hasMoreElements()) { String nextToken = stringTokenizer.nextToken(); xmlField.setXPath(xPath.toString() + nextToken); xmlField.initialize(); DatabaseMapping mapping = objectBuilder.getMappingForField(xmlField); XPathFragment xPathFragment = new XPathFragment(nextToken); if(xPathFragment.getIndexValue() > 0) { xmlField.setXPath(xPath.toString() + nextToken.substring(0, nextToken.indexOf('['))); xmlField.initialize(); mapping = objectBuilder.getMappingForField(xmlField);
while(stringTokenizer.hasMoreElements()) { String nextToken = stringTokenizer.nextToken(); xmlField.setXPath(xPath.toString() + nextToken); xmlField.initialize(); DatabaseMapping mapping = objectBuilder.getMappingForField(xmlField); XPathFragment xPathFragment = new XPathFragment(nextToken); if(xPathFragment.getIndexValue() > 0) { xmlField.setXPath(xPath.toString() + nextToken.substring(0, nextToken.indexOf('['))); xmlField.initialize(); mapping = objectBuilder.getMappingForField(xmlField);
while(stringTokenizer.hasMoreElements()) { String nextToken = stringTokenizer.nextToken(); xmlField.setXPath(xPath + nextToken); xmlField.initialize(); DatabaseMapping mapping = objectBuilder.getMappingForField(xmlField); XPathFragment xPathFragment = new XPathFragment(nextToken); if(xPathFragment.getIndexValue() > 0) { xmlField.setXPath(xPath + nextToken.substring(0, nextToken.indexOf('['))); xmlField.initialize(); mapping = objectBuilder.getMappingForField(xmlField);
while(stringTokenizer.hasMoreElements()) { String nextToken = stringTokenizer.nextToken(); xmlField.setXPath(xPath + nextToken); xmlField.initialize(); DatabaseMapping mapping = objectBuilder.getMappingForField(xmlField); XPathFragment xPathFragment = new XPathFragment(nextToken); if(xPathFragment.getIndexValue() > 0) { xmlField.setXPath(xPath + nextToken.substring(0, nextToken.indexOf('['))); xmlField.initialize(); mapping = objectBuilder.getMappingForField(xmlField);
while(stringTokenizer.hasMoreElements()) { String nextToken = stringTokenizer.nextToken(); xmlField.setXPath(xPath + nextToken); xmlField.initialize(); DatabaseMapping mapping = objectBuilder.getMappingForField(xmlField); XPathFragment xPathFragment = new XPathFragment(nextToken); if(xPathFragment.getIndexValue() > 0) { xmlField.setXPath(xPath + nextToken.substring(0, nextToken.indexOf('['))); xmlField.initialize(); mapping = objectBuilder.getMappingForField(xmlField);
private DatabaseMapping buildXMLTransformationMapping(String mappingUri) { XMLTransformationMapping mapping = new XMLTransformationMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, true); String xpathMinusText; int indexOfTextXPath = xpath.lastIndexOf("/text()"); if (indexOfTextXPath < 0) { xpathMinusText = xpath; } else { xpathMinusText = xpath.substring(0, indexOfTextXPath); } QNameTransformer transformer = new QNameTransformer(xpath); mapping.setAttributeTransformer(transformer); mapping.addFieldTransformer(xpath, transformer); NamespaceResolver nsr = new NamespaceResolver(); nsr.put(javax.xml.XMLConstants.XMLNS_ATTRIBUTE, javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); XMLField field = new XMLField(); field.setNamespaceResolver(nsr); field.setXPath(xpathMinusText + "/@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE + ":" + QNameTransformer.QNAME_NAMESPACE_PREFIX); mapping.addFieldTransformer(field, new NamespaceURITransformer()); return mapping; }
private DatabaseMapping buildXMLTransformationMapping(String mappingUri) { XMLTransformationMapping mapping = new XMLTransformationMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, true); String xpathMinusText; int indexOfTextXPath = xpath.lastIndexOf("/text()"); if (indexOfTextXPath < 0) { xpathMinusText = xpath; } else { xpathMinusText = xpath.substring(0, indexOfTextXPath); } QNameTransformer transformer = new QNameTransformer(xpath); mapping.setAttributeTransformer(transformer); mapping.addFieldTransformer(xpath, transformer); NamespaceResolver nsr = new NamespaceResolver(); nsr.put(javax.xml.XMLConstants.XMLNS_ATTRIBUTE, javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); XMLField field = new XMLField(); field.setNamespaceResolver(nsr); field.setXPath(xpathMinusText + "/@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE + ":" + QNameTransformer.QNAME_NAMESPACE_PREFIX); mapping.addFieldTransformer(field, new NamespaceURITransformer()); return mapping; }
typeXPath += "/"; typeField.setXPath(typeXPath + XMLConstants.ATTRIBUTE + xmlDescriptor.getNonNullNamespaceResolver().resolveNamespaceURI(XMLConstants.SCHEMA_INSTANCE_URL) + XMLConstants.COLON + XMLConstants.SCHEMA_TYPE_ATTRIBUTE); typeNodeValue = new TypeNodeValue(); typeNodeValue.setDirectMapping((AbstractDirectMapping)xmlMapping);
private void initializeDescriptor(XMLDescriptor aDescriptor, QName aQName, Type aPropertyType, SDOProperty aValueProperty) { aDescriptor.setNamespaceResolver(null); SDOMethodAttributeAccessor accessor = null; accessor = new SDOMethodAttributeAccessor(aValueProperty); if (XMLConstants.QNAME_QNAME.equals(aQName)) { XMLTransformationMapping mapping = new XMLTransformationMapping(); mapping.setAttributeName(ATTRIBUTE_NAME); QNameTransformer transformer = new QNameTransformer("text()"); mapping.setAttributeTransformer(transformer); mapping.addFieldTransformer(XPATH, transformer); NamespaceResolver nsr = new NamespaceResolver(); nsr.setDefaultNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); XMLField field = new XMLField(); field.setNamespaceResolver(nsr); field.setXPath("@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE); mapping.addFieldTransformer(field, new NamespaceURITransformer()); mapping.setAttributeAccessor(accessor); aDescriptor.addMapping(mapping); } else { XMLDirectMapping mapping = new XMLDirectMapping(); mapping.setAttributeName(ATTRIBUTE_NAME); mapping.setXPath(XPATH); mapping.setAttributeClassification(aPropertyType.getInstanceClass()); ((XMLField) mapping.getField()).setSchemaType(aQName); mapping.setAttributeAccessor(accessor); aDescriptor.addMapping(mapping); } aDescriptor.setIsWrapper(true); }
private void initializeDescriptor(XMLDescriptor aDescriptor, QName aQName, Type aPropertyType, SDOProperty aValueProperty) { aDescriptor.setNamespaceResolver(null); SDOMethodAttributeAccessor accessor = null; accessor = new SDOMethodAttributeAccessor(aValueProperty); if (XMLConstants.QNAME_QNAME.equals(aQName)) { XMLTransformationMapping mapping = new XMLTransformationMapping(); mapping.setAttributeName(ATTRIBUTE_NAME); QNameTransformer transformer = new QNameTransformer("text()"); mapping.setAttributeTransformer(transformer); mapping.addFieldTransformer(XPATH, transformer); NamespaceResolver nsr = new NamespaceResolver(); nsr.setDefaultNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); XMLField field = new XMLField(); field.setNamespaceResolver(nsr); field.setXPath("@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE); mapping.addFieldTransformer(field, new NamespaceURITransformer()); mapping.setAttributeAccessor(accessor); aDescriptor.addMapping(mapping); } else { XMLDirectMapping mapping = new XMLDirectMapping(); mapping.setAttributeName(ATTRIBUTE_NAME); mapping.setXPath(XPATH); mapping.setAttributeClassification(aPropertyType.getInstanceClass()); ((XMLField) mapping.getField()).setSchemaType(aQName); mapping.setAttributeAccessor(accessor); aDescriptor.addMapping(mapping); } aDescriptor.setIsWrapper(true); }
defaultNamespaceMapping.setAttributeName("defaultNamespace"); XMLField xmlField = new XMLField(); xmlField.setXPath("@xmlns"); xmlField.getXPathFragment().setNamespaceURI(XMLConstants.XMLNS_URL); defaultNamespaceMapping.setField(xmlField);
defaultNamespaceMapping.setAttributeName("defaultNamespace"); XMLField xmlField = new XMLField(); xmlField.setXPath("@xmlns"); xmlField.getXPathFragment().setNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); defaultNamespaceMapping.setField(xmlField);
defaultNamespaceMapping.setAttributeName("defaultNamespace"); XMLField xmlField = new XMLField(); xmlField.setXPath("@xmlns"); xmlField.getXPathFragment().setNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); defaultNamespaceMapping.setField(xmlField);