;ELC ;;; Compiled by jjc@pineapple.bkk.thaiopensource.com on Mon Oct 4 11:58:42 2004 ;;; from file /home/jjc/elisp/rng-xsd.el ;;; in Emacs version 21.3.1 ;;; with bytecomp version 2.85.4.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`rng-xsd.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307#\207" [require rng-dt rng-util xsd-regexp put http://www\.w3\.org/2001/XMLSchema-datatypes rng-dt-compile rng-xsd-compile] 4) #@1020 Provides W3C XML Schema as a RELAX NG datatypes library. NAME is a symbol giving the local name of the datatype. PARAMS is a list of pairs (PARAM-NAME . PARAM-VALUE) where PARAM-NAME is a symbol giving the name of the parameter and PARAM-VALUE is a string giving its value. If NAME or PARAMS are invalid, it calls rng-dt-error passing it arguments in the same style as format; the value from rng-dt-error will be returned. Otherwise, it returns a list. The first member of the list is t if any string is a legal value for the datatype and nil otherwise. The second argument is a symbol; this symbol will be called as a function passing it a string followed by the remaining members of the list. The function must return an object representing the value of the datatype that was represented by the string, or nil if the string is not a representation of any value. The object returned can be any convenient non-nil value, provided that, if two strings represent the same value, the returned objects must be equal. (defalias 'rng-xsd-compile #[(name params) "\303N\211\204\304\305\"\202\306\n #)\207" [name convert params rng-xsd-convert rng-dt-error "There is no XSD datatype named %s" rng-xsd-compile1] 5 (#$ . 809)]) (defalias 'rng-xsd-compile1 #[(name params convert) "\204> \306\232\n\307=\203 \202<\n\310=\203\311 B\202<\n\307=\204;\312 >\2045\313 >\2045\314 >\203;\315 B\202< B\207@\211@ A\f\316>\203\207\317 @ AB\"\n\320N$\211%\204g\321\322 \"\202\203$\204s\321\323\f\"\202\203\324\nA\f\325N$% BBB#*\202\f\326>\203\302\327 !\n\330N&\211%\204\242\321\331 \"\202\276&\204\256\321\332\f\"\202\276\324\nA\f\325N&% BBB#*\202\f\333>\203\351\327 !\211'\204\330\321\334 \"\202\345\324\nA\f\325N' BB#)\202\f\335=\203\366\336\337\340\217\202\f\341>\203\321\342\f\"\202\321\343\f\"+\207" [params convert name param param-name param-value (identity) string normalizedString rng-xsd-replace-space identity rng-xsd-convert-any-uri rng-xsd-check-pattern rng-xsd-collapse-space (minExclusive maxExclusive minInclusive maxInclusive) apply rng-xsd-less-than rng-dt-error "Minimum value %s is not valid" "Values of type %s are not ordered" rng-xsd-compile1 rng-xsd-check (length minLength maxLength) rng-xsd-string-to-non-negative-integer rng-xsd-length "Length %s is not valid" "Values of type %s do not have a length" (fractionDigits totalDigits) "Number of digits %s is not valid" pattern err (byte-code "\304 A\305\306\307\n!\310Q BB#\207" [name params param-value convert rng-xsd-compile1 rng-xsd-check-pattern "\\`" xsdre-translate "\\'"] 7) ((xsdre-invalid-regexp (byte-code "\301\302A@\"\207" [err rng-dt-error "Invalid regular expression (%s)"] 3))) (enumeration whiteSpace) "Facet %s cannot be used in RELAX NG" "Unknown facet %s" less-than-fun limit length-fun n] 8]) (defalias 'rng-xsd-string-to-non-negative-integer #[(str) "\302!\205\303!\211\250\205 \304Y\205 )\207" [str n rng-xsd-convert-integer string-to-number 0] 3]) (defalias 'rng-xsd-collapse-space #[(str convert &rest args) "\303\304\305\306 \307\"\310#\nB\"\207" [convert str args apply mapconcat identity split-string "[ \n ]+" " "] 7]) (defalias 'rng-xsd-replace-space #[(str convert &rest args) "\305\306\307\310\311 \n#\211\203* \204\312 !\211\203* \n\313I\203*\nT\211\204 \206/ *\fB\"\207" [convert copied i str args apply 0 nil string-match "[ \n ]" copy-sequence 32] 6]) (byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\210\300\310\302\311#\210\300\312\302\313#\210\300\314\302\315#\210\300\316\302\317#\210\300\320\302\321#\210\300\322\302\323#\207" [put minExclusive rng-xsd-check rng-xsd-check-min-exclusive minInclusive rng-xsd-check-min-inclusive maxExclusive rng-xsd-check-max-exclusive maxInclusive rng-xsd-check-max-inclusive length rng-xsd-check-length minLength rng-xsd-check-min-length maxLength rng-xsd-check-max-length fractionDigits rng-xsd-check-fraction-digits totalDigits rng-xsd-check-total-digits] 4) (defalias 'rng-xsd-check-min-exclusive #[(str less-than-fun limit convert &rest args) "\306 \nB\"\211\205\f \"\205 )\207" [convert str args obj less-than-fun limit apply] 5]) (defalias 'rng-xsd-check-min-inclusive #[(str less-than-fun limit convert &rest args) "\306 \nB\"\211\205\f \"\204 \232\205 )\207" [convert str args obj less-than-fun limit apply] 5]) (defalias 'rng-xsd-check-max-exclusive #[(str less-than-fun limit convert &rest args) "\306 \nB\"\211\205\f \"\205 )\207" [convert str args obj less-than-fun limit apply] 5]) (defalias 'rng-xsd-check-max-inclusive #[(str less-than-fun limit convert &rest args) "\306 \nB\"\211\205\f \"\204 \232\205 )\207" [convert str args obj less-than-fun limit apply] 5]) (defalias 'rng-xsd-check-min-length #[(str length-fun limit convert &rest args) "\306 \nB\"\211\205\f ! Y\205 )\207" [convert str args obj length-fun limit apply] 5]) (defalias 'rng-xsd-check-max-length #[(str length-fun limit convert &rest args) "\306 \nB\"\211\205\f ! X\205 )\207" [convert str args obj length-fun limit apply] 5]) (defalias 'rng-xsd-check-length #[(str length-fun len convert &rest args) "\306 \nB\"\211\205\f ! U\205 )\207" [convert str args obj length-fun len apply] 5]) (defalias 'rng-xsd-check-fraction-digits #[(str n convert &rest args) "\305 \nB\"\211\205 \306HG\fX\205 )\207" [convert str args obj n apply 2] 5]) (defalias 'rng-xsd-check-total-digits #[(str n convert &rest args) "\305 \nB\"\211\205 \306HG \307HG\\\fX\205 )\207" [convert str args obj n apply 1 2] 5]) (defalias 'rng-xsd-check-pattern #[(str regexp convert &rest args) "\304 \"\205 \305\n B\"\207" [regexp str convert args string-match apply] 4]) (defalias 'rng-xsd-convert-boolean #[(string) "\301\302\"\205\303\224\203\304\207\305\207" [string string-match "\\`[ \n ]*\\(?:\\(true\\|1\\)\\|false\\|0\\)[ \n ]*\\'" 1 true false] 3]) #@419 Convert a string representing a decimal to an object representing its values. A decimal value is represented by a vector [SIGN INTEGER-DIGITS FRACTION-DIGITS] where SIGN is 1 or -1, INTEGER-DIGITS is a string containing zero or more digits, with no leading zero, and FRACTION-DIGITS is a string containing zero or more digits with no trailing digits. For example, -0021.0430 would be represented by [-1 "21" "043"]. (defalias 'rng-xsd-convert-decimal #[(string) "\303\304\"\205B\305\306\"\211\307\230?\205 \310\230?)\205B\305\311\"\312\305\313\"\314\232\2032\n\2032\315\2023\313\n\2068\310\305\316\"\206@\310#)\207" [string digits integer-digits string-match "\\`[ \n ]*\\([-+]\\)?\\(0*\\([1-9][0-9]*\\)?\\(\\.\\([0-9]*[1-9]\\)?0*\\)?\\)[ \n ]*\\'" match-string 2 "." "" 3 vector 1 "-" -1 5] 7 (#$ . 6749)]) (defalias 'rng-xsd-convert-integer #[(string) "\302\303\"\205'\304\305\"\306\304\307\"\310\232\203 \203\311\202\307 \206$\312\312#)\207" [string integer-digits string-match "\\`[ \n ]*\\([-+]\\)?\\(?:0*\\([1-9][0-9]*\\)\\|0+\\)[ \n ]*\\'" match-string 2 vector 1 "-" -1 ""] 4]) (defalias 'rng-xsd-decimal< #[(n1 n2) "\302 \"\303W\207" [n1 n2 rng-xsd-compare-decimal 0] 3]) #@64 Return a < 0, 0, > 0 according as n1 < n2, n1 = n2 or n1 > n2. (defalias 'rng-xsd-compare-decimal #[(n1 n2) "\306H\n\306H Z\211\306U\203S \307H\n\307H\n G \nG\f \fZ\211 \306=\203L \n\230\203D\310\311H\n\311H\"\202N\310 \n\"\202N -_\202T\f+\207" [n1 sign1 n2 sign2 sign int1 0 1 rng-xsd-strcmp 2 int2 len1 len2 lencmp] 6 (#$ . 7971)]) (byte-code "\301B\302\301\207" [current-load-list rng-xsd-float-regexp "\\`[ \n ]*\\(?:\\([-+]?\\(?:[0-9]+\\(?:\\.[0-9]*\\)?\\|\\.[0-9]+\\)\\(?:[eE][-+]?[0-9]+\\)?\\)\\|\\(INF\\)\\|\\(-INF\\)\\|\\(NaN\\)\\)[ \n ]*\\'"] 2) (defalias 'rng-xsd-convert-float #[(string) "\302 \"\204 \303\207\304\224\203\305\306\307\304 \"!!\207\310\224\203\311\207\312\224\203%\313\207\314\224\205+\315\207" [rng-xsd-float-regexp string string-match nil 1 float string-to-number match-string 2 1.0e+INF 3 -1.0e+INF 4 NaN] 5]) (defalias 'rng-xsd-float< #[(f1 f2) "\302=?\205 \302=?\205 W\207" [f1 f2 NaN] 2]) (defalias 'rng-xsd-convert-token #[(string regexp) "\302 \"\205 \303\304 \"\207" [regexp string string-match match-string 1] 3]) (defalias 'rng-xsd-convert-hex-binary #[(string) "\301\302\"\205\f\303\304\"\227\207" [string string-match "\\`[ \n ]*\\(\\(?:[0-9A-Fa-f][0-9A-Fa-f]\\)*\\)[ \n ]*\\'" match-string 1] 3]) (defalias 'rng-xsd-hex-binary-length #[(obj) "G\301\245\207" [obj 2] 2]) (byte-code "\305B\306\307\310\311\312\f\313 \f\314\315 \f \f\n\f\316\f\317 \f \f\316\f\316\f\320\260,\305\207" [current-load-list B64 B16 B04 S rng-xsd-base64-binary-regexp "[ \n]*" "[AQgw]" "[AEIMQUYcgkosw048]" "[A-Za-z0-9+/]" "\\`" "\\(?:\\(?:" "\\)\\{4\\}\\)*" "\\(?:" "=" "\\|" "\\)?\\'"] 25) (defalias 'rng-xsd-convert-base64-binary #[(string) "\302 \"\205\303\304\305 \306\211%\207" [rng-xsd-base64-binary-regexp string string-match replace-regexp-in-string "[ \n]+" "" t] 6]) (defalias 'rng-xsd-base64-binary-length #[(obj) "G\302\245\303_\211\304V\203)\305\306O\307\230\203) \310\306O\311\230\203$\312\202%\313Z\202* )\207" [obj n 4 3 0 -1 nil "=" -2 "==" 2 1] 5]) (defalias 'rng-xsd-convert-any-uri #[(string) "\301\302\"\205\301\303\"\205\301\304\"\205\207" [string string-match "\\`\\(?:[^%]\\|%[0-9a-fA-F][0-9a-fA-F]\\)?*\\'" "\\`[^#]*\\(?:#[^#]*\\)?\\'" "\\`\\(?:[a-zA-Z][-+.A-Za-z0-9]*:.+\\|[^:]*\\(?:[#/?].*\\)?\\)\\'"] 3]) #@592 Returns a regular expression matching a ISO 8601 date/time. The template is a string with Y standing for years field, M standing for months, D standing for day of month, T standing for a literal T, t standing for time and - standing for a literal hyphen. A time zone is always allowed at the end. Regardless of the fields appearing in the template, the regular expression will have twelve groups matching the year sign, year, month, day of month, hours, minutes, integer seconds, fractional seconds (including leading period), time zone, time zone sign, time zone hours, time zone minutes. (defalias 'rng-xsd-make-date-time-regexp #[(template) "\306G\307\211\211\211\211 W\203lH\211\310=\203'\306\311\312\202` \313=\2039 \2043\314\314\315\202` \316=\203K \204E\317\317\315\202` \320=\203] \204W\321\322\323\202`\324 !\fBT\211\202\n\322W\203|\nT\325\fB\202l\326\fB\327\f\237B \306V\203\225 S\330\fB\202\205\331\332\f\".\207" [template c last first parts len 0 nil 89 1 "\\(-\\)?\\(\\(?:[1-9][0-9]*\\)?[0-9]\\{4\\}\\)" 77 2 "\\([0-9][0-9]\\)" 68 3 116 4 7 "\\([0-9][0-9]\\):\\([0-9][0-9]\\):\\([0-9][0-9]\\)\\(\\.[0-9]*\\)?" string "\\(\\'X\\)?" "\\(Z\\|\\([-+]\\)\\([0-9][0-9]\\):\\([0-5][0-9]\\)\\)?[ \n ]*\\'" "\\`[ \n ]*" "\\(X\\)?" apply concat i] 7 (#$ . 10313)]) (byte-code "\301B\303\304\\\302B\305\301\207" [current-load-list rng-xsd-seconds-per-day rng-xsd-days-in-month 86400 0 [31 28 31 30 31 30 31 31 30 31 30 31]] 2) (defalias 'rng-xsd-days-in-month #[(year month) "\303U\203\304 !\203\305\207\nSH\207" [month year rng-xsd-days-in-month 2 rng-xsd-leap-year-p 29] 2]) (byte-code "\305B\306\307\310\"\311\211 \307W\203%\n\f H\\ \nI\210 T\211\202 +\310\207" [current-load-list i total v rng-xsd-days-in-month rng-xsd-months-to-days make-vector 12 nil 0] 4) #@490 Converts an XML Schema date/time to a list. Returns nil if invalid. REGEXP is a regexp for parsing the date time as returned by `rng-xsd-make-date-time-regexp'. The list has 4 members (HAS-TIME-ZONE DAY SECOND SECOND-FRACTION), where HAS-TIME-ZONE is t or nil depending on whether a time zone was specified, DAY is an integer giving a day number (with Jan 1 1AD being day 1), SECOND is the second within that day, and SECOND-FRACTION is a float giving the fractional part of the second. (defalias 'rng-xsd-convert-date-time #[(string regexp) "\306 \"\205Q\307\310 \"\307\311 \"\307\312 \"\307\313 \"\307\314 \"\307\315 \"\307\316 \"\307\317 \"\307\320 \"\307\321 \"\307\322 \"\307\323 \"#$%&'()\211*\203S\324\202T\310*)\203e*\325)!_\202f\326)(\203t\325(!\202u\310('\203\203\325'!\202\204\310'&\203\222\325&!\202\223\327&%\203\241\325%!\202\242\327%$\203\260\325$!\202\261\327$#\203\301\330\325#!!\202\302\331# \205\311\332\f\333\232\203\324\324\202\325\310 \203\340\325 !\202\341\327\n\203\354\325\n!\202\355\327(\310Y\205O(\323X\205O'\310Y\205O'\334)(\"X\205O&\335X\205O%\336X\205O$\337X\205O \335X\205O\n\336X\205O \340\341)('#\342&%$##E\342 \n\327#\f[_\"B.\f\207" [regexp string time-zone-minute time-zone-hour time-zone-sign has-time-zone string-match match-string 1 2 3 4 5 6 7 8 9 10 11 12 -1 string-to-number 2000 0 float 0.0 t "-" rng-xsd-days-in-month 23 59 60 rng-xsd-add-seconds rng-xsd-date-to-days rng-xsd-time-to-seconds second-fraction second minute hour day month year year-sign] 15 (#$ . 12163)]) (defalias 'rng-xsd-leap-year-p #[(year) "\301\246\302U\205\303\246\302U?\206\304\246\302U\207" [year 4 0 100 400] 2]) (defalias 'rng-xsd-time-to-seconds #[(hour minute second) "\303_ \\\303_\n\\\207" [hour minute second 60] 2]) (byte-code "\301B\302\303\304\211#\301\207" [current-load-list rng-xsd-max-tz rng-xsd-time-to-seconds 14 0] 4) (defalias 'rng-xsd-date-time< #[(dt1 dt2) "@ @=\203\303A A\"\207@\203\303A\304 A\n[\"\"\207\303\304A\n\" A\"\207" [dt1 dt2 rng-xsd-max-tz rng-xsd-number-list< rng-xsd-add-seconds] 5]) (defalias 'rng-xsd-add-seconds #[(date offset) "@A@ \\\3068 \307W\203\fS \\\nE\2021 Y\203-\fT Z\nE\2021\f \nE+\207" [date offset fraction second day rng-xsd-seconds-per-day 2 0] 4]) (defalias 'rng-xsd-number-list< #[(numbers1 numbers2) "\203@ @U\203A A\202\205@ @W\207" [numbers1 numbers2] 2]) #@54 Return a unique day number where Jan 1 1 AD is day 1 (defalias 'rng-xsd-date-to-days #[(year month day) "\303V\203\304S!\305 \n#\\\207\304\306Z!\304\306!Z\307!\203$\310\202%\311\305 \n#Z\\[\207" [year month day 0 rng-xsd-days-in-years rng-xsd-day-number-in-year 3 rng-xsd-leap-year-p 366 365] 6 (#$ . 14640)]) #@64 The number of days in YEARS years where the first year is 1AD. (defalias 'rng-xsd-days-in-years #[(years) "\301_\302\245\\\303\245[\\\304\245\\\207" [years 365 4 100 400] 3 (#$ . 14966)]) (defalias 'rng-xsd-day-number-in-year #[(year month day) "\304U\203\n\305\202 \306ZH\n\\\306V\203!\307 !\203!\304\202\"\305\\\207" [month rng-xsd-months-to-days day year 1 0 2 rng-xsd-leap-year-p] 3]) (byte-code "\301B\302\301\207" [current-load-list rng-xsd-duration-regexp "\\`[ \n]*\\(-\\)?P\\([0-9]+Y\\)?\\([0-9]+M\\)?\\([0-9]+D\\)?\\(?:T\\([0-9]+H\\)?\\([0-9]+M\\)?\\(\\([0-9]+\\(?:\\.[0-9]*\\)?\\|\\.[0-9]+\\)S\\)?\\)?[ \n]*\\'"] 2) (defalias 'rng-xsd-convert-duration #[(string) "\306 \"\205` \307\310O\211\311\230\206\n\312\230)?\205`\313\314\315\"\316\224\203'\307\202(\316\315 \314W\203U \317\\\224\211\203M \f\320  \317\\\225SO!_I\210) T\211\202- \321\322 \321H!I\210 +\207" [rng-xsd-duration-regexp string last i sign v string-match -1 nil "P" "T" make-vector 6 0 1 2 string-to-number 5 float start] 9]) (byte-code "\302B \303_\302\207" [current-load-list rng-xsd-seconds-per-day rng-xsd-min-seconds-per-month 28] 2) (defalias 'rng-xsd-duration< #[(d1 d2) "\306!\306\n!\307!\307\n! W\203,\f Z\nW\203#\310\202H\311 \f $\202H V\203E \fZ\nW?\205H\311 \f $\202H\f W,\207" [d1 months1 d2 months2 seconds1 seconds2 rng-xsd-duration-months rng-xsd-duration-seconds t rng-xsd-months-seconds< rng-xsd-min-seconds-per-month] 5]) (byte-code "\301B\302\301\207" [current-load-list xsd-duration-reference-dates ((1696 . 9) (1697 . 2) (1903 . 3) (1903 . 7))] 2) (defalias 'rng-xsd-months-seconds< #[(months1 seconds1 months2 seconds2) "\306 @\211@ A\307 \f #\n\\\307 \f #\f\\W\204%\310\n\205- A\211+\204\n*\207" [xsd-duration-reference-dates ref-dates ret ref-date ref-year ref-month t rng-xsd-month-seconds nil months1 seconds1 months2 seconds2] 6]) #@105 Return the seconds in a number of months starting on a reference date. Returns a floating point number. (defalias 'rng-xsd-month-seconds #[(months ref-year ref-month) "\304\305! \n#\306 !_\307W\203\310\202\311_\207" [months ref-year ref-month rng-xsd-seconds-per-day rng-xsd-month-days abs float 0 -1.0 1.0] 4 (#$ . 16891)]) (byte-code "\301B\305\302B \306_\303B\307\304B \310_ \\\301\207" [current-load-list rng-xsd-years-per-gregorian-cycle rng-xsd-months-per-gregorian-cycle rng-xsd-leap-years-per-gregorian-cycle rng-xsd-days-per-gregorian-cycle 400 12 97 365] 2) #@101 Return the days in a number of months starting on a reference date. MONTHS must be an integer >= 0. (defalias 'rng-xsd-month-days #[(months ref-year ref-month) "\306\307 \n\"\211\306V\203+\310 \f\"\\\f\311=\203! T\312\202#\fT S\211\202 \n\245 _\\)\207" [days months rng-xsd-months-per-gregorian-cycle ref-year ref-month rng-xsd-days-per-gregorian-cycle 0 mod rng-xsd-days-in-month 12 1] 4 (#$ . 17484)]) (defalias 'rng-xsd-duration-months #[(d) "\301H\302_\303H\\\207" [d 0 12 1] 3]) (defalias 'rng-xsd-duration-seconds #[(d) "\301H\302_\303H\\\304_\305H\\\306_\307H\\\207" [d 2 24.0 3 60.0 4 60.0 5] 3]) (defalias 'rng-xsd-convert-qname #[(string) "\306\307\"\205:\310\224\311 @ A\"\211\2032\312\224 O\313\f\nA\"\211\205. A T\312\225OB*\2029\n@\314\312\"B*\207" [string rng-dt-namespace-context-getter context colon prefix binding string-match "\\`[ \n ]*\\([_[:alpha:]][-._[:alnum:]]*\\(:[_[:alpha:]][-._[:alnum:]]*\\)?\\)[ \n ]*\\'" 2 apply 1 assoc match-string] 5]) (defalias 'rng-xsd-convert-list #[(string convert &rest args) "\306\307\"\211\n\203)\310 \n@\fB\"\211\203!\n \240\210\nA\202%\311\311)\202 *\207" [string tokens tem convert args obj split-string "[ \n ]+" apply nil] 5]) (defalias 'rng-xsd-strcmp #[(s1 s2) " \230\203\302\207 \231\203\303\207\304\207" [s1 s2 0 -1 1] 2]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307#\210\300\310\302\311#\210\300\310\304\305#\210\300\310\306\307#\210\300\312\302\313#\210\300\312\304\305#\210\300\312\306\307#\210\300\314\302\315#\210\300\314\304\316#\210\300\317\302\320#\210\300\317\304\321#\210\300\322\302\323#\210\300\324\302\325#\210\300\324\326\327#\210\300\330\302\331#\210\300\330\326\327#\210\300\332\302\333#\210\300\332\326\334#\210\300\335\302\336#\210\300\335\326\334#\207" [put string rng-xsd-convert (identity) rng-xsd-length length rng-xsd-matches-anything t normalizedString (identity) token (identity) hexBinary (rng-xsd-convert-hex-binary) rng-xsd-hex-binary-length base64Binary (rng-xsd-convert-base64-binary) rng-xsd-base64-binary-length boolean (rng-xsd-convert-boolean) float (rng-xsd-convert-float) rng-xsd-less-than rng-xsd-float< double (rng-xsd-convert-float) decimal (rng-xsd-convert-decimal) rng-xsd-decimal< integer (rng-xsd-convert-integer)] 4) (defalias 'rng-xsd-def-integer-type #[(name min max) "\303\304\305#\210\303\306\307\310\311 \205\312 BC\n\205\313\nBC\"\"A#\207" [name min max put rng-xsd-less-than rng-xsd-decimal< rng-xsd-convert rng-xsd-compile integer append minInclusive maxInclusive] 9]) (defalias 'rng-xsd-def-token-type #[(name regexp) "\302\303\304\305 \306QD#\210\302\307\310#\207" [name regexp put rng-xsd-convert rng-xsd-convert-token "\\`[ \n ]*\\(" "\\)[ \n ]*\\'" rng-xsd-length length] 7]) (byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\210\300\307\310\"\210\311\312\313\305\313N#\210\311\312\314\315#\210\311\316\313\305\313N#\210\311\316\314\315#\210\311\317\313\305\313N#\210\311\317\314\315#\207" [rng-xsd-def-token-type NMTOKEN "[-.:_[:alnum:]]+" Name "[:_[:alpha:]][-.:_[:alnum:]]*" NCName "[_[:alpha:]][-._[:alnum:]]*" language "[a-zA-Z]\\{1,8\\}\\(?:-[a-zA-Z0-9]\\{1,8\\}\\)*" put ENTITY rng-xsd-convert rng-xsd-length length ID IDREF] 5) (defalias 'rng-xsd-def-list-type #[(name member-name) "\302\303\304 \303NB#\210\302\305\306#\207" [name member-name put rng-xsd-convert rng-xsd-convert-list rng-xsd-length length] 6]) (byte-code "\306\307\310\"\210\306\311\312\"\210\306\313\314\"\210\315\316\317\320#\210\315\316\321\322#\210\315\323\317\324#\210\315\325\317\326#\210\301B\327\302B\330\303B\331\304B\332\305B\333\334B\335\336B\337\340B\341 \342B\343\"\344B\345$\346B\347&\350B\351(\352\353\354\355#\210\352\356\357\355#\210\352\360\355\354#\210\352\361\355\362#\210\352\363\n #\210\352\364\f #\210\352\365 #\210\352\366 #\210\352\367\354\"#\210\352\370\354$#\210\352\371\354&#\210\352\372\354(#\207" [current-load-list rng-xsd-long-max rng-xsd-long-min rng-xsd-int-max rng-xsd-int-min rng-xsd-short-max rng-xsd-def-list-type NMTOKENS NMTOKEN IDREFS IDREF ENTITIES ENTITY put anyURI rng-xsd-convert (rng-xsd-convert-any-uri) rng-xsd-length length QName (rng-xsd-convert-qname) NOTATION (rng-xsd-convert-qname) "9223372036854775807" "-9223372036854775808" "2147483647" "-2147483648" "32767" rng-xsd-short-min "-32768" rng-xsd-byte-max "127" rng-xsd-byte-min "-128" rng-xsd-unsigned-long-max "18446744073709551615" rng-xsd-unsigned-int-max "4294967295" rng-xsd-unsigned-short-max "65535" rng-xsd-unsigned-byte-max "255" rng-xsd-def-integer-type nonNegativeInteger "0" nil positiveInteger "1" nonPositiveInteger negativeInteger "-1" long int short byte unsignedLong unsignedInt unsignedShort unsignedByte] 4) (defalias 'rng-xsd-def-date-time-type #[(name template) "\302\303\304\305 !D#\210\302\306\307#\207" [name template put rng-xsd-convert rng-xsd-convert-date-time rng-xsd-make-date-time-regexp rng-xsd-less-than rng-xsd-date-time<] 6]) (byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\210\300\307\310\"\210\300\311\312\"\210\300\313\314\"\210\300\315\316\"\210\300\317\320\"\210\321\322\323\324#\210\321\322\325\326#\210\327\330!\207" [rng-xsd-def-date-time-type dateTime "Y-M-DTt" time "t" date "Y-M-D" gYearMonth "Y-M" gYear "Y" gMonthDay "--M-D" gDay "---D" gMonth "--M" put duration rng-xsd-convert (rng-xsd-convert-duration) rng-xsd-less-than rng-xsd-duration< provide rng-xsd] 4)