func Spec(path string) (*Document, error) {
	specURL, err := url.Parse(path)
	if err != nil {
		return nil, err
	}
	var lastErr error
	for l := loaders.Next; l != nil; l = l.Next {
		if loaders.Match(specURL.Path) {
			b, err2 := loaders.Fn(path)
			if err2 != nil {
				lastErr = err2
				continue
			}
			doc, err3 := Analyzed(b, "")
			if err3 != nil {
				return nil, err3
			}
			if doc != nil {
				doc.specFilePath = path
			}
			return doc, nil
		}
	}
	if lastErr != nil {
		return nil, lastErr
	}
	b, err := defaultLoader.Fn(path)
	if err != nil {
		return nil, err
	}

	document, err := Analyzed(b, "")
	if document != nil {
		document.specFilePath = path
	}

	return document, err
}
func Spec(path string) (*Document, error) {
	specURL, err := url.Parse(path)
	if err != nil {
		return nil, err
	}
	var lastErr error
	for l := loaders.Next; l != nil; l = l.Next {
		if loaders.Match(specURL.Path) {
			b, err2 := loaders.Fn(path)
			if err2 != nil {
				lastErr = err2
				continue
			}
			doc, err3 := Analyzed(b, "")
			if err3 != nil {
				return nil, err3
			}
			if doc != nil {
				doc.specFilePath = path
			}
			return doc, nil
		}
	}
	if lastErr != nil {
		return nil, lastErr
	}
	b, err := defaultLoader.Fn(path)
	if err != nil {
		return nil, err
	}

	document, err := Analyzed(b, "")
	if document != nil {
		document.specFilePath = path
	}

	return document, err
}
func Spec ( path string ) ( * Document , error ) { specURL , err := url . Parse ( path ) if err != nil { return nil , err } var lastErr error for l := loaders . Next ; l != nil ; l = l . Next { if loaders . Match ( specURL . Path ) { b , err2 := loaders . Fn ( path ) if err2 != nil { lastErr = err2 continue } doc , err3 := Analyzed ( b , " " ) if err3 != nil { return nil , err3 } if doc != nil { doc . specFilePath = path } return doc , nil } } if lastErr != nil { return nil , lastErr } b , err := defaultLoader . Fn ( path ) if err != nil { return nil , err } document , err := Analyzed ( b , " " ) if document != nil { document . specFilePath = path } return document , err }
// Spec loads a new spec document
Spec loads a new spec document