/** * @param transElem * @return * @throws XMLParsingException */ private String getTargetTransformID( OMElement transElem ) throws XMLParsingException { OMElement targetCRSProp = adapter.getRequiredElement( transElem, new XPath( PRE + "targetCRS", nsContext ) ); return getIdFromElemOrXlink( targetCRSProp ); }
int counter = 0; for ( OMElement sortPropertyEl : sortPropertyElements ) { OMElement propNameEl = adapter.getRequiredElement( sortPropertyEl, new XPath( "ogc:PropertyName", nsContext ) ); String sortOrder = adapter.getNodeAsString( sortPropertyEl, new XPath( "following-sibling::ogc:SortOrder",
private String getSourceTransformID( OMElement transElem ) throws XMLParsingException { OMElement sourceCRSProp = adapter.getRequiredElement( transElem, new XPath( PRE + "sourceCRS", nsContext ) ); return getIdFromElemOrXlink( sourceCRSProp ); }
crsElement1 = adapter.getRequiredElement( first, new XPath( "*[1]", nsContext ) ); crsElement2 = adapter.getRequiredElement( first, new XPath( "*[2]", nsContext ) );
LOG.debug( "Parsing id of vertical crs resulted in: " + Arrays.toString( id.getCodes() ) ); OMElement verticalCSProp = adapter.getRequiredElement( rootElement, new XPath( PRE + "verticalCS", nsContext ) ); OMElement verticalCSType = getRequiredXlinkedElement( verticalCSProp, PRE + "VerticalCS" ); OMElement verticalDatumProp = adapter.getRequiredElement( rootElement, new XPath( PRE + "verticalDatum", nsContext ) ); OMElement vdType = getRequiredXlinkedElement( verticalDatumProp, PRE + "VerticalDatum" );
/** * convenience method to retrieve a given required element either by resolving a optional xlink or by evaluating the * required element denoted by the xpath. * * @param propertyElement * to resolve an xlink from. * @param alternativeXPath * denoting a path to the required node starting from the given propertyElement. * @return the dom-element in the xlink:href attribute of the given propertyElement or the required alternativeXPath * element. * @throws XMLParsingException * if the given propertyElement is <code>null</code> or the resulting xml dom-tree could not be parsed * or the alternative xpath does not result in an Element. * @throws IOException * if the xlink could not be properly resolved */ protected OMElement getRequiredXlinkedElement( OMElement propertyElement, String alternativeXPath ) throws XMLParsingException, IOException { if ( propertyElement == null ) { throw new XMLParsingException( adapter, null, "The propertyElement may not be null" ); } OMElement child = retrieveAndResolveXLink( propertyElement ); if ( child == null ) { child = adapter.getRequiredElement( propertyElement, new XPath( alternativeXPath, nsContext ) ); } return child; }
OMElement pmElementProp = adapter.getRequiredElement( rootElement, new XPath( PRE + "primeMeridian", nsContext ) ); OMElement pmElement = getRequiredXlinkedElement( pmElementProp, PRE + "PrimeMeridian" ); IPrimeMeridian pm = parsePrimeMeridian( pmElement ); OMElement ellipsoidElementProp = adapter.getRequiredElement( rootElement, new XPath( PRE + "ellipsoid", nsContext ) ); OMElement ellipsoidElement = getRequiredXlinkedElement( ellipsoidElementProp, PRE + "Ellipsoid" );
OMElement gwLongitudeElem = adapter.getRequiredElement( rootElement, new XPath( PRE + "greenwichLongitude", nsContext ) ); double gwLongitude = adapter.getRequiredNodeAsDouble( gwLongitudeElem, new XPath( ".", nsContext ) );
return null; OMElement paramValue = adapter.getRequiredElement( rootElement, new XPath( PRE + "ParameterValue", nsContext ) ); OMElement operationParameterProp = adapter.getRequiredElement( paramValue, new XPath( PRE + "operationParameter", nsContext ) );
OMElement baseGEOCRSElementProperty = adapter.getRequiredElement( rootElement, new XPath( PRE + "baseGeodeticCRS", nsContext ) ); OMElement cartesianCSProperty = adapter.getRequiredElement( rootElement, new XPath( PRE + "cartesianCS", nsContext ) ); IAxis[] axis = parseAxisFromCSType( getRequiredXlinkedElement( cartesianCSProperty, PRE + "CartesianCS" ) ); OMElement conversionElementProperty = adapter.getRequiredElement( rootElement, new XPath( PRE + "conversion", nsContext ) );
if ( result == null ) { if ( source == null ) { OMElement crsProp = adapter.getRequiredElement( rootElement, new XPath( PRE + "sourceCRS", nsContext ) ); OMElement crsElem = getRequiredXlinkedElement( crsProp, "*[1]" ); source = parseCoordinateSystem( crsElem ); OMElement crsProp = adapter.getRequiredElement( rootElement, new XPath( PRE + "targetCRS", nsContext ) ); String tCRSLinked = retrieveXLink( crsProp ); OMElement method = adapter.getRequiredElement( rootElement, new XPath( PRE + "method", nsContext ) );
OMElement method = adapter.getRequiredElement( rootElement, new XPath( PRE + "method", nsContext ) );
if ( result == null ) { OMElement semiMajorAxisElem = adapter.getRequiredElement( rootElement, new XPath( PRE + "semiMajorAxis", nsContext ) ); double semiMajorAxis = adapter.getRequiredNodeAsDouble( semiMajorAxisElem, new XPath( ".", nsContext ) ); IUnit unit = parseUnitOfMeasure( semiMajorAxisElem ); OMElement otherParam = adapter.getRequiredElement( rootElement, new XPath( PRE + "secondDefiningParameter/" + PRE + "SecondDefiningParameter",
OMElement datumElementProp = adapter.getRequiredElement( rootElement, new XPath( PRE + "geodeticDatum", nsContext ) ); OMElement datumElement = getRequiredXlinkedElement( datumElementProp, PRE + "GeodeticDatum" );