Function: rng-match-transform-uri-rule

rng-match-transform-uri-rule is a byte-compiled function defined in rng-loc.el.gz.

Signature

(rng-match-transform-uri-rule PROPS)

Source Code

;; Defined in /usr/src/emacs/lisp/nxml/rng-loc.el.gz
(defun rng-match-transform-uri-rule (props)
  (let ((from-pattern (cdr (assq 'fromPattern props)))
	(to-pattern (cdr (assq 'toPattern props)))
	(file-name (buffer-file-name)))
    (and file-name
	 (setq file-name (expand-file-name file-name))
	 (rng-file-name-matches-uri-pattern-p file-name from-pattern)
	 (condition-case ()
	     (let ((new-file-name
		    (replace-match
		     (save-match-data
		       (rng-uri-pattern-file-name-replace-match to-pattern))
		     t
		     nil
		     file-name)))
	       (and (file-name-absolute-p new-file-name)
		    (file-exists-p new-file-name)
		    (rng-file-name-uri new-file-name)))
	     (rng-uri-error nil)))))