[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to lisp/nxml/rng-dt.el
From: |
Mark A. Hershberger |
Subject: |
[Emacs-diffs] Changes to lisp/nxml/rng-dt.el |
Date: |
Fri, 23 Nov 2007 06:58:19 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Mark A. Hershberger <hexmode> 07/11/23 06:58:00
Index: lisp/nxml/rng-dt.el
===================================================================
RCS file: lisp/nxml/rng-dt.el
diff -N lisp/nxml/rng-dt.el
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lisp/nxml/rng-dt.el 23 Nov 2007 06:57:51 -0000 1.1
@@ -0,0 +1,64 @@
+;;; rng-dt.el --- datatype library interface for RELAX NG
+
+;; Copyright (C) 2003 Free Software Foundation, Inc.
+
+;; Author: James Clark
+;; Keywords: XML, RelaxNG
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2 of
+;; the License, or (at your option) any later version.
+
+;; This program is distributed in the hope that it will be
+;; useful, but WITHOUT ANY WARRANTY; without even the implied
+;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+;; PURPOSE. See the GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public
+;; License along with this program; if not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+;; MA 02111-1307 USA
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'rng-util)
+
+(defvar rng-dt-error-reporter nil)
+
+(defun rng-dt-error (string &rest objs)
+ (if rng-dt-error-reporter
+ (apply rng-dt-error-reporter (cons string objs))
+ nil))
+
+(defvar rng-dt-namespace-context-getter nil
+ "A list used by datatype libraries to expand names. The car of the
+list is a symbol which is the name of a function. This function is
+applied to the cdr of the list. The function must return a list whose
+car is the default namespace and whose cdr is an alist of (PREFIX
+. NAMESPACE) pairs, where PREFIX is a string and NAMESPACE is a
+symbol. This must be dynamically bound before calling a datatype
+library.")
+
+(defsubst rng-dt-make-value (dt str)
+ (apply (car dt) (cons str (cdr dt))))
+
+(defun rng-dt-builtin-compile (name params)
+ (cond ((eq name 'string)
+ (if (null params)
+ '(t identity)
+ (rng-dt-error "The string datatype does not take any parameters")))
+ ((eq name 'token)
+ (if (null params)
+ '(t rng-collapse-space)
+ (rng-dt-error "The token datatype does not take any parameters")))
+ (t
+ (rng-dt-error "There is no built-in datatype %s" name))))
+
+(put (rng-make-datatypes-uri "") 'rng-dt-compile 'rng-dt-builtin-compile)
+
+(provide 'rng-dt)
+
+;;; rng-dt.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to lisp/nxml/rng-dt.el,
Mark A. Hershberger <=