func Parse(s string) (*Attributes, error) {
	for prefix, parserFunc := range parsers {
		if strings.HasPrefix(s, prefix) {
			return parserFunc(s)
		}
	}
	return nil, fmt.Errorf("wfn: unsupported format %q", s)
}
Parse parses Attributes from URI or formatted string binding.
package wfn
import (
	"fmt"
	"strings"
)
var KnownParts = map[string]string{
	"a": "application",
	"o": "operating system",
	"h": "hardware",
}
const (
	Any = ""
	NA  = "-"
)
const (
	uriPrefix = "cpe:/"
	fsbPrefix = "cpe:2.3:"
)
var parsers = map[string]func(s string) (*Attributes, error){
	uriPrefix: UnbindURI,
	fsbPrefix: UnbindFmtString,
}