private GetRecords parse202( String defaultOutputFormat, String defaultOutputSchema ) {
LOG.debug( rootElement.toString() );
String resultTypeStr = getNodeAsString( rootElement, new XPath( "@resultType", nsContext ),
ResultType.hits.name() );
OMElement holeRequest = getElement( rootElement, new XPath( ".", nsContext ) );
ResultType resultType = ResultType.determineResultType( resultTypeStr );
int maxRecords = getNodeAsInt( rootElement, new XPath( "@maxRecords", nsContext ), 10 );
int startPosition = getNodeAsInt( rootElement, new XPath( "@startPosition", nsContext ), 1 );
String outputFormat = getNodeAsString( rootElement, new XPath( "@outputFormat", nsContext ),
defaultOutputFormat );
String requestId = getNodeAsString( rootElement, new XPath( "@requestId", nsContext ), null );
String outputSchemaString = getNodeAsString( rootElement, new XPath( "@outputSchema", nsContext ),
defaultOutputSchema );
URI outputSchema = URI.create( outputSchemaString );
List<OMElement> getRecordsChildElements = getRequiredElements( rootElement, new XPath( "*", nsContext ) );
return parseSubElements( holeRequest, resultType, maxRecords, startPosition, outputFormat, requestId,
outputSchema, getRecordsChildElements );
}