private static QName resolveQName( String prefixedName, NamespaceBindings nsBindings ) { QName qName = null; String[] typeParts = prefixedName.split( ":" ); if ( typeParts.length == 2 ) { String nsUri = nsBindings == null ? null : nsBindings.getNamespaceURI( typeParts[0] ); qName = new QName( nsUri, typeParts[1], typeParts[0] ); } else { qName = new QName( typeParts[0] ); } return qName; }
private static void findQName( List<QName> list, Step step, NamespaceBindings nsContext ) { if ( step instanceof NameStep ) { NameStep ns = (NameStep) step; list.add( new QName( nsContext.getNamespaceURI( ns.getPrefix() ), ns.getLocalName() ) ); } }
/** * attributes an open xml-element inside the {@link XMLStreamWriter} with namespaces-declarations passed by the * parameter <code>namespaceContext</code> * * @param namespaceBindings * contains the namespace-prefix mappings used for xpath-expressions * @param writer * target of the xml stream * @throws XMLStreamException */ private static void writeNamespaceDeclarations( NamespaceBindings namespaceBindings, XMLStreamWriter writer ) throws XMLStreamException { if ( namespaceBindings != null ) { Iterator<String> iterateOverPrefixes = namespaceBindings.getPrefixes(); while ( iterateOverPrefixes.hasNext() ) { String nextPrefix = iterateOverPrefixes.next(); if ( !nextPrefix.equalsIgnoreCase( CommonNamespaces.XMLNS_PREFIX ) ) { boolean prefixBound = ( writer.getPrefix( namespaceBindings.getNamespaceURI( nextPrefix ) ) != null ) ? true : false; if ( !prefixBound ) { writer.writeNamespace( nextPrefix, namespaceBindings.getNamespaceURI( nextPrefix ) ); } } } } } }
private void prebindNamespaces( final XMLStreamWriter xmlStream, final NamespaceBindings prebindNamespaces ) throws XMLStreamException { if ( prebindNamespaces == null ) { return; } final Iterator<String> prefixes = prebindNamespaces.getPrefixes(); while ( prefixes.hasNext() ) { final String prefix = prefixes.next(); final String uri = prebindNamespaces.getNamespaceURI( prefix ); if ( !uri.equals( CommonNamespaces.XMLNS ) ) { writeNamespaceIfNotBound( xmlStream, prefix, uri ); } } }
private static void export( ValueReference propertyName, XMLStreamWriter writer ) throws XMLStreamException { writer.writeStartElement( FES_20_NS, "ValueReference" ); NamespaceBindings nsBindings = propertyName.getNsContext(); Iterator<String> prefixIter = nsBindings.getPrefixes(); while ( prefixIter.hasNext() ) { String prefix = prefixIter.next(); String ns = nsBindings.getNamespaceURI( prefix ); writer.writeNamespace( prefix, ns ); } writer.writeCharacters( propertyName.getAsText() ); writer.writeEndElement(); }
private String determineNamespaceUri( ValueReference valueReference, FeatureType ft, NameStep namestep ) { String prefix = namestep.getPrefix(); if ( prefix != null && !"".equals( prefix ) ) { String namespaceUriByPrefix = valueReference.getNsContext().getNamespaceURI( prefix ); if ( namespaceUriByPrefix != null && !"".equals( namespaceUriByPrefix ) ) return namespaceUriByPrefix; } return ft.getName().getNamespaceURI(); }
/** * Returns the {@link MappedAppSchema} derived from GML application schemas / configuration. * * @return mapped application schema, never <code>null</code> */ @Override public MappedAppSchema getMappedSchema() { FeatureType[] fts = gmlSchema.getFeatureTypes(); org.deegree.feature.persistence.sql.FeatureTypeMapping[] ftMappings = ftNameToMapping.values().toArray( new org.deegree.feature.persistence.sql.FeatureTypeMapping[ftNameToMapping.size()] ); Map<FeatureType, FeatureType> ftToSuperFt = gmlSchema.getFtToSuperFt(); Map<String, String> prefixToNs = new HashMap<String, String>(); Iterator<String> prefixIter = nsBindings.getPrefixes(); while ( prefixIter.hasNext() ) { String prefix = prefixIter.next(); prefixToNs.put( prefix, nsBindings.getNamespaceURI( prefix ) ); } GMLSchemaInfoSet xsModel = gmlSchema.getGMLSchema(); return new MappedAppSchema( fts, ftToSuperFt, prefixToNs, xsModel, ftMappings, bboxMapping, blobMapping, geometryParams, deleteCascadingByDB, null, gmlSchema.getGmlObjectTypes(), gmlSchema.getGeometryToSuperType() ); }
while ( prefixIter.hasNext() ) { String prefix = prefixIter.next(); String ns = nsBindings.getNamespaceURI( prefix ); writer.writeNamespace( prefix, ns );