dap4/d4lib/src/main/java/dap4/dap4lib/HttpDSP.java
public boolean dspMatch(String url, DapContext context)
    {
        try {
            XURI xuri = new XURI(url);
            if(true) {
                boolean found = false;
                for(String scheme : DAP4SCHEMES) {
                    if(scheme.equalsIgnoreCase(xuri.getBaseProtocol())
                            || scheme.equalsIgnoreCase(xuri.getFormatProtocol())) {
                        found = true;
                        break;
                    }
                }
                if(!found) return false;
                // Might still be a non-dap4 url
                String formatproto = xuri.getFormatProtocol();
                if(DAP4PROTO.equalsIgnoreCase(formatproto))
                    return true;
                for(String[] pair : DAP4QUERYMARKERS) {
                    String tag = xuri.getQueryFields().get(pair[0]);
                    if(tag != null
                            && (pair[1] == null
                            || pair[1].equalsIgnoreCase(tag)))
                        return true;
                }
                for(String[] pair : DAP4FRAGMARKERS) {
                    String tag = xuri.getFragFields().get(pair[0]);
                    if(tag != null
                            && (pair[1] == null
                            || pair[1].equalsIgnoreCase(tag)))
                        return true;
                }
            } else
                return true;
        } catch (URISyntaxException use) {
            return false;
        }
        return false;
    }
public boolean dspMatch(String url, DapContext context)
    {
        try {
            XURI xuri = new XURI(url);
            if(true) {
                boolean found = false;
                for(String scheme : DAP4SCHEMES) {
                    if(scheme.equalsIgnoreCase(xuri.getBaseProtocol())
                            || scheme.equalsIgnoreCase(xuri.getFormatProtocol())) {
                        found = true;
                        break;
                    }
                }
                if(!found) return false;
                // Might still be a non-dap4 url
                String formatproto = xuri.getFormatProtocol();
                if(DAP4PROTO.equalsIgnoreCase(formatproto))
                    return true;
                for(String[] pair : DAP4QUERYMARKERS) {
                    String tag = xuri.getQueryFields().get(pair[0]);
                    if(tag != null
                            && (pair[1] == null
                            || pair[1].equalsIgnoreCase(tag)))
                        return true;
                }
                for(String[] pair : DAP4FRAGMARKERS) {
                    String tag = xuri.getFragFields().get(pair[0]);
                    if(tag != null
                            && (pair[1] == null
                            || pair[1].equalsIgnoreCase(tag)))
                        return true;
                }
            } else
                return true;
        } catch (URISyntaxException use) {
            return false;
        }
        return false;
    }
public boolean dspMatch ( String url , DapContext context ) { try { XURI xuri = new XURI ( url ) ; if ( true ) { boolean found = false ; for ( String scheme : DAP4SCHEMES ) { if ( scheme . equalsIgnoreCase ( xuri . getBaseProtocol ( ) ) || scheme . equalsIgnoreCase ( xuri . getFormatProtocol ( ) ) ) { found = true ; break ; } } if ( ! found ) return false ; // Might still be a non-dap4 url String formatproto = xuri . getFormatProtocol ( ) ; if ( DAP4PROTO . equalsIgnoreCase ( formatproto ) ) return true ; for ( String [ ] pair : DAP4QUERYMARKERS ) { String tag = xuri . getQueryFields ( ) . get ( pair [ 0 ] ) ; if ( tag != null && ( pair [ 1 ] == null || pair [ 1 ] . equalsIgnoreCase ( tag ) ) ) return true ; } for ( String [ ] pair : DAP4FRAGMARKERS ) { String tag = xuri . getFragFields ( ) . get ( pair [ 0 ] ) ; if ( tag != null && ( pair [ 1 ] == null || pair [ 1 ] . equalsIgnoreCase ( tag ) ) ) return true ; } } else return true ; } catch ( URISyntaxException use ) { return false ; } return false ; }
A path is a DAP4 path if at least one of the following is true.
1. it has "dap4:" as its leading protocol
2. it has #protocol=dap4 in its fragment

@param url
@param context Any parameters that may help to decide.
@return true if this url appears to be processible by this DSP
A path is a DAP4 path if at least one of the following is true . 1 . it has dap4 : as its leading protocol 2 . it has #protocol = dap4 in its fragment