PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/nxml
Viewing File: /usr/share/emacs/24.3/lisp/nxml/rng-loc.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:51:31 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/nxml/rng-loc.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\207" [require nxml-util nxml-parse rng-parse rng-uri rng-util xmltok] 2) #@88 Filename of schema being used for current buffer. It is nil if using a vacuous schema. (defvar rng-current-schema-file-name nil (#$ . 715)) (make-variable-buffer-local 'rng-current-schema-file-name) #@57 Default value for variable `rng-schema-locating-files'. (defvar rng-schema-locating-files-default (byte-code "\301\302\303\"D\207" [data-directory "schemas.xml" expand-file-name "schema/schemas.xml"] 4) (#$ . 920)) #@51 File containing schema for schema locating files. (defvar rng-schema-locating-file-schema-file (expand-file-name "schema/locate.rnc" data-directory) (#$ . 1142)) #@60 Schema for schema locating files or nil if not yet loaded. (defvar rng-schema-locating-file-schema nil (#$ . 1310)) #@32 List of schema locating files. (custom-declare-variable 'rng-schema-locating-files 'rng-schema-locating-files-default '(#$ . 1432) :type '(repeat file) :group 'relax-ng) #@56 Alist of schema extensions vs schema loader functions. (defvar rng-schema-loader-alist '(("rnc" . rng-c-load-schema)) (#$ . 1608)) (defvar rng-cached-document-element nil) (defvar rng-document-type-history nil) (defalias 'rng-set-document-type #[(type-id) "\300\301\302\217\207" [err (byte-code "\302\230?\205 \303!\211\204\304\305\"\210\306 !\210)\307\310\"\210\311 \207" [type-id schema-file "" rng-locate-schema-file error "Could not locate schema for type id `%s'" rng-set-schema-file-1 rng-save-schema-location-1 t rng-what-schema] 4) ((nxml-file-parse-error (nxml-display-file-parse-error err)))] 3 nil (list (rng-read-type-id))]) (defalias 'rng-read-type-id #[nil "\300\301\302\217\207" [err (byte-code "\302 \303\304\305\306\307 \"\303\310\303\311&*\207" [completion-ignore-case type-ids rng-possible-type-ids nil completing-read "Document type id: " mapcar #[(x) "\301B\207" [x nil] 2] t rng-document-type-history] 7) ((nxml-file-parse-error (nxml-display-file-parse-error err)))] 3]) #@476 Set the schema for the current buffer to the schema in FILENAME. FILENAME must be the name of a file containing a schema. The extension of FILENAME is used to determine what kind of schema it is. The variable `rng-schema-loader-alist' maps from schema extensions to schema loader functions. The function `rng-c-load-schema' is the loader for RELAX NG compact syntax. The association is between the buffer and the schema: the association is lost when the buffer is killed. (defalias 'rng-set-schema-file #[(filename) "\300\301\302\217\207" [err (byte-code "\301!\210\302\303!\207" [filename rng-set-schema-file-1 rng-save-schema-location-1 t] 2) ((nxml-file-parse-error (nxml-display-file-parse-error err)))] 3 (#$ . 2621) "fSchema file: "]) #@69 Set the schema for the current buffer to allow any well-formed XML. (defalias 'rng-set-vacuous-schema #[nil "\300\301!\210\302 \207" [rng-set-schema-file-1 nil rng-what-schema] 2 (#$ . 3372) nil]) (defalias 'rng-set-schema-file-1 #[(filename) "\205\304!\211\203\305!\202 \306\307!\207" [filename rng-any-element rng-current-schema rng-current-schema-file-name expand-file-name rng-load-schema run-hooks rng-schema-change-hook] 3]) (defalias 'rng-load-schema #[(filename) "\304!\305 \n\"A\211\204 \203\306\307 \"\210\202\306\310!\210 !*\207" [filename extension rng-schema-loader-alist loader file-name-extension assoc error "No schema loader available for file extension `%s'" "No schema loader available for null file extension"] 4]) #@68 Display a message saying what schema `rng-validate-mode' is using. (defalias 'rng-what-schema #[nil "\203 \301\302\303!\"\207\301\304!\207" [rng-current-schema-file-name message "Using schema %s" abbreviate-file-name "Using vacuous schema"] 4 (#$ . 4136) nil]) #@78 Set the schema for this buffer based on the buffer's contents and file-name. (defalias 'rng-auto-set-schema #[(&optional no-display-error) "\300\301\302\217\207" [err (byte-code "\300\301 !\210\302 \207" [rng-set-schema-file-1 rng-locate-schema-file rng-what-schema] 2) ((nxml-file-parse-error (byte-code "\203\302\303\304 8\305 8\306 A@!$\207\307 !\207" [no-display-error err error "%s at position %s in %s" 3 2 abbreviate-file-name nxml-display-file-parse-error] 6)))] 3 (#$ . 4406) nil]) #@173 Return the file-name of the schema to use for the current buffer. Return nil if no schema could be located. If TYPE-ID is non-nil, then locate the schema for this TYPE-ID. (defalias 'rng-locate-schema-file #[(&optional type-id) "\306 \203\f \306B\202\307\n!\306\211 :\203G\n @\306 \235\203+\310\311 \"\210 B\f\203 \204\312 \f@\"\fA\211\2043\202 \205N\313 !,\207" [rng-cached-document-element type-id rng-schema-locating-files schema files type-ids nil rng-locate-schema-file-using error "Type-id loop for type-id `%s'" rng-locate-schema-file-from-type-id rng-uri-file-name] 4 (#$ . 4907)]) #@38 Return a list of the known type IDs. (defalias 'rng-possible-type-ids #[nil "\303\211\203\304\n@ \"\nA\211\204\305\306 \307\"!*\207" [rng-schema-locating-files type-ids files nil rng-possible-type-ids-using rng-uniquify-equal sort string<] 5 (#$ . 5528)]) #@160 Locate a schema using the schema locating files FILES. FILES is a list of file-names. Return either a URI, a list (TYPE-ID) where TYPE-ID is a string, or nil. (defalias 'rng-locate-schema-file-using #[(files) "\306\211\211\n\204 \203\307 @! A\202\n\203\240\203% \203\240\n@\211@\211\310N\nA\203U\203B >\203J\fA! \210\311 >G\"\202\234 \312=\203\200\204\234\313\fA\236A\211\203|\314!\211 >\204| C\244)\202\234 \315=\203\234\302\fA\236A\211\203\233\316\307\317!!\n\")+\202+\207" [best-so-far preferred-types rules files rule rule-type nil rng-get-parsed-schema-locating-file rng-rule-matcher nbutlast applyFollowingRules ruleType intern include append rng-uri-file-name rule-matcher prefer uri] 5 (#$ . 5800)]) (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#\207" [put documentElement rng-rule-matcher rng-match-document-element-rule namespace rng-match-namespace-rule uri rng-match-uri-rule transformURI rng-match-transform-uri-rule default rng-match-default-rule] 4) (defalias 'rng-match-document-element-rule #[(props) "\304 \302\236A\305\236A\n\203'\nG\306U\203 A@?\202$\n A@\230\2056 \2033 \307 8\230\2056\310!+\207" [props local-name prefix document-element rng-document-element localName 0 2 rng-match-default-rule] 4]) (defalias 'rng-match-namespace-rule #[(props) "\303 \301\236A\211\205# \205#\n@ \304\230?\205\305 !=\205#\306!*\207" [props ns document-element rng-document-element "" nxml-make-namespace rng-match-default-rule] 4]) #@113 Return a list (NS PREFIX LOCAL-NAME). NS is t if the document has a non-nil, but not otherwise known namespace. (defalias 'rng-document-element #[nil "\206<\212\214~\210eb\210\306\211\306\211\211\211\211\211\211\211 \307 \210\310 \210\311>\2058\312 \313 \314 E.\f\211\207" [rng-cached-document-element xmltok-dtd xmltok-errors xmltok-dependent-regions xmltok-namespace-attributes xmltok-attributes nil xmltok-forward-prolog xmltok-forward (start-tag partial-start-tag empty-element partial-empty-element) rng-get-start-tag-namespace xmltok-start-tag-prefix xmltok-start-tag-local-name xmltok-replacement xmltok-name-end xmltok-name-colon xmltok-start xmltok-type] 10 (#$ . 7394)]) (defalias 'rng-get-start-tag-namespace #[nil "\305 \306\211\211\f\203?\f@\fA \203%\307 !\203 \310 ! \230\202)\307 !?\203 \311 !\211\203:\312!\202;\313\202 \203K\n\204K\313\202L\n,\207" [value att namespace prefix xmltok-namespace-attributes xmltok-start-tag-prefix nil xmltok-attribute-prefix xmltok-attribute-local-name xmltok-attribute-value nxml-make-namespace t] 5]) (defalias 'rng-match-transform-uri-rule #[(props) "\304\236A\305\236A\306  \205$\307 !\211\205$\310 \"\205$\311\312\313\217+\207" [props file-name to-pattern from-pattern fromPattern toPattern buffer-file-name expand-file-name rng-file-name-matches-uri-pattern-p nil (byte-code "\304\305 \306\216\307 !*\310\311\n$\312 !\205\313 !\205\314 !)\207" [save-match-data-internal to-pattern file-name new-file-name replace-match match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) rng-uri-pattern-file-name-replace-match t nil file-name-absolute-p file-exists-p rng-file-name-uri] 5) ((rng-uri-error))] 3]) (defalias 'rng-match-uri-rule #[(props) "\303\236A\302\236A\304  \2052\305 !\211\2052 \203$\306\307\310\217\202,\n\2052\311 \n\"\2052\312!+\207" [props file-name pattern resource buffer-file-name expand-file-name nil (byte-code "\303\304!\305\306\307 !\305\306\n&\310=\207" [resource file-name nxml-file-name-ignore-case compare-strings rng-uri-file-name 0 nil expand-file-name t] 8) ((rng-uri-error)) rng-file-name-matches-uri-pattern-p rng-match-default-rule] 3]) (defalias 'rng-file-name-matches-uri-pattern-p #[(file-name pattern) "\300\301\302\217\207" [nil (byte-code "\304\305\n! \")\205 \306\207" [nxml-file-name-ignore-case case-fold-search pattern file-name string-match rng-uri-pattern-file-name-regexp t] 3) ((rng-uri-error))] 3]) (defalias 'rng-match-default-rule #[(props) "\302\236A\206\303\236A\211\205\304 !\305B)\207" [props type-id uri typeId rng-collapse-space nil] 3]) (defalias 'rng-possible-type-ids-using #[(file type-ids) "\306!\307\n\203I\n@\nA @\310=\203+\303 A\236A\211\203'\311 !\fB)\202 @\312=\203\302 A\236A\211\203E\313\306\314 !!\f\")\202\f*\207" [file rule rules id type-ids uri rng-get-parsed-schema-locating-file nil typeId rng-collapse-space include rng-possible-type-ids-using rng-uri-file-name] 5]) #@145 Locate the schema for type id TYPE-ID using schema locating file FILE. Return either a URI, a list (TYPE-ID) where TYPE-ID is a string, or nil. (defalias 'rng-locate-schema-file-from-type-id #[(type-id file) "\306!\307\211 \203V\n\204V @ A @\310=\2038\304 A\236\211\205,\311\fA! \230)\2038\312 A!\202 @\313=\203\303 A\236A\211\203R\314 \315!\")\202\n+\207" [file rule schema rules id type-id rng-get-parsed-schema-locating-file nil typeId rng-collapse-space rng-match-default-rule include rng-locate-schema-file-from-type-id rng-uri-file-name uri] 5 (#$ . 10437)]) (defvar rng-schema-locating-file-alist nil) #@59 Return a list of rules for the schema locating file FILE. (defalias 'rng-get-parsed-schema-locating-file #[(file) "\305!\306 \"\307\310!8\311 \204\"\f\203\312\f \"\311\202M\f\2034\fA@ \232\2034\313\f8\202M\314!\f\203E\f \nD\241\210\202L \nE B\n+\207" [file rng-schema-locating-file-alist parsed mtime cached expand-file-name assoc 5 file-attributes nil delq 2 rng-parse-schema-locating-file] 4 (#$ . 11077)]) (defconst rng-locate-namespace-uri (nxml-make-namespace "http://thaiopensource.com/ns/locating-rules/1.0")) #@276 Return list of rules. Each rule has the form (TYPE (ATTR . VAL) ...), where TYPE is a symbol for the element name, ATTR is a symbol for the attribute and VAL is a string for the value. Attribute values representing URIs are made absolute and xml:base attributes are removed. (defalias 'rng-parse-schema-locating-file #[(file) "\204\f \203\f\306 !\203\307\n\"\202\310\n!\211\211AA)\311\n!\312\211\312\211\312\211\312\211 @\313B\232\203\302 \203\302 @ A:\203I@\211@=\203I\211A@)\312\203\261@\211@;\203\250\314@!A\315>\203\236\316\"BBA\211\204x\314A!\237BB\202I\237. \207" [rng-schema-locating-file-schema rng-schema-locating-file-schema-file file element x children rng-load-schema rng-parse-validate-file nxml-parse-file rng-file-name-uri nil "locatingRules" intern (uri rules resource) rng-uri-resolve base-uri child name rules atts att props prop-name prop-value rng-locate-namespace-uri] 4 (#$ . 11622)]) #@276 Save the association between the buffer's file and the current schema. This ensures that the schema that is currently being used will be used if the file is edited in a future session. The association will be saved to the first writable file in `rng-schema-locating-files'. (defalias 'rng-save-schema-location #[nil "\300\301!\207" [rng-save-schema-location-1 nil] 2 (#$ . 12640) nil]) (defalias 'rng-save-schema-location-1 #[(prompt &optional type-id) "\204\f \204\f\306\307!\210\n\310 \311**\2039 \2049\312*@!\2030\313*@!\202*A\211*\204 \204I+?\205\306\314!\202 \204Y+?\205\306\315!\202+\203q\316\317\320 \203i\321\202j\322 #!?\206r\323 !q\210\324 ,\325 \326V\203\272\311-eb\210\311\211\211\211\211\211\211\211\211./0123456\327 \210\330 \2106\331=\204\265\306\332 \"\210.\n\202\317\333\334\3357!\336\261\210`8\337c\2108b\210)\340c\210\341 !9\317\342\343\344\341 !9\"! \203\352\345\202\353\346\343 \206\367\344\341\f!9\"!$)c\210\347 \210,\203\316\317\350\310 \"!\205\351 *,\207" [rng-current-schema-file-name type-id rng-schema-locating-files file schema-file-name document-file-name error "Buffer is using a vacuous schema" buffer-file-name nil file-writable-p expand-file-name "No writable schema locating file configured" "Buffer does not have a filename" y-or-n-p format "Save %s to %s " "type identifier" "schema location" find-file-noselect buffer-modified-p buffer-size 0 xmltok-forward-prolog xmltok-forward start-tag "Locating file `%s' invalid" "<?xml version=\"1.0\"?>\n" "<locatingRules xmlns=\"" nxml-namespace-name "\">" "\n</locatingRules>\n" "\n" rng-file-name-uri "<uri resource=\"%s\" %s=\"%s\"/>" rng-escape-string rng-relative-uri "typeId" "uri" indent-according-to-mode "Save file %s " save-buffer files prompt modified xmltok-dtd xmltok-errors xmltok-dependent-regions xmltok-namespace-attributes xmltok-attributes xmltok-replacement xmltok-name-end xmltok-name-colon xmltok-start xmltok-type rng-locate-namespace-uri pos locating-file-uri] 10]) (provide 'rng-loc)