€cdocutils.nodes document q)q}q(U nametypesq}q(X"scenario: one database, many viewsqNX repofiltersqˆXrepository filtersqNuUsubstitution_defsq }q Uparse_messagesq ]q Ucurrent_sourceq NU decorationqNUautofootnote_startqKUnameidsq}q(hU scenario-one-database-many-viewsqhU repofiltersqhUrepository-filtersquUchildrenq]q(cdocutils.nodes target q)q}q(U rawsourceqX.. _repofilters:UparentqhUsourceqX%/tmp/pycsw-2.0.2/docs/repofilters.rstqUtagnameqUtargetqU attributesq }q!(Uidsq"]Ubackrefsq#]Udupnamesq$]Uclassesq%]Unamesq&]Urefidq'huUlineq(KUdocumentq)hh]ubcdocutils.nodes section q*)q+}q,(hUhhhhUexpect_referenced_by_nameq-}q.hhshUsectionq/h }q0(h$]h%]h#]h"]q1(hheh&]q2(hheuh(Kh)hUexpect_referenced_by_idq3}q4hhsh]q5(cdocutils.nodes title q6)q7}q8(hXRepository Filtersq9hh+hhhUtitleq:h }q;(h$]h%]h#]h"]h&]uh(Kh)hh]q…q?}q@(hh9hh7ubaubcdocutils.nodes paragraph qA)qB}qC(hXOpycsw has the ability to perform server side repository / database filters as a means to mask all CSW requests to query against a specific subset of the metadata repository, thus providing the ability to deploy multiple pycsw instances pointing to the same database in different ways via the ``repository.filter`` configuration option.qDhh+hhhU paragraphqEh }qF(h$]h%]h#]h"]h&]uh(Kh)hh]qG(h=X$pycsw has the ability to perform server side repository / database filters as a means to mask all CSW requests to query against a specific subset of the metadata repository, thus providing the ability to deploy multiple pycsw instances pointing to the same database in different ways via the qH…qI}qJ(hX$pycsw has the ability to perform server side repository / database filters as a means to mask all CSW requests to query against a specific subset of the metadata repository, thus providing the ability to deploy multiple pycsw instances pointing to the same database in different ways via the hhBubcdocutils.nodes literal qK)qL}qM(hX``repository.filter``h }qN(h$]h%]h#]h"]h&]uhhBh]qOh=Xrepository.filterqP…qQ}qR(hUhhLubahUliteralqSubh=X configuration option.qT…qU}qV(hX configuration option.hhBubeubhA)qW}qX(hXæRepository filters are a convenient way to subset your repository at the server level without the hassle of creating proper database views. For large repositories, it may be better to subset at the database level for performance.qYhh+hhhhEh }qZ(h$]h%]h#]h"]h&]uh(Kh)hh]q[h=XæRepository filters are a convenient way to subset your repository at the server level without the hassle of creating proper database views. For large repositories, it may be better to subset at the database level for performance.q\…q]}q^(hhYhhWubaubh*)q_}q`(hUhh+hhhh/h }qa(h$]h%]h#]h"]qbhah&]qchauh(K h)hh]qd(h6)qe}qf(hX"Scenario: One Database, Many Viewsqghh_hhhh:h }qh(h$]h%]h#]h"]h&]uh(K h)hh]qih=X"Scenario: One Database, Many Viewsqj…qk}ql(hhghheubaubhA)qm}qn(hXFImagine a sample database table of records (subset below for brevity):qohh_hhhhEh }qp(h$]h%]h#]h"]h&]uh(K h)hh]qqh=XFImagine a sample database table of records (subset below for brevity):qr…qs}qt(hhohhmubaubcdocutils.nodes table qu)qv}qw(hUhh_hhhUtableqxh }qy(h$]h%]h#]h"]h&]uh(Nh)hh]qzcdocutils.nodes tgroup q{)q|}q}(hUh }q~(h"]h#]h$]h%]h&]UcolsKuhhvh]q(cdocutils.nodes colspec q€)q}q‚(hUh }qƒ(h"]h#]h$]h%]h&]UcolwidthKuhh|h]hUcolspecq„ubh€)q…}q†(hUh }q‡(h"]h#]h$]h%]h&]UcolwidthKuhh|h]hh„ubh€)qˆ}q‰(hUh }qŠ(h"]h#]h$]h%]h&]UcolwidthKuhh|h]hh„ubh€)q‹}qŒ(hUh }q(h"]h#]h$]h%]h&]UcolwidthKuhh|h]hh„ubcdocutils.nodes thead qŽ)q}q(hUh }q‘(h$]h%]h#]h"]h&]uhh|h]q’cdocutils.nodes row q“)q”}q•(hUh }q–(h$]h%]h#]h"]h&]uhhh]q—(cdocutils.nodes entry q˜)q™}qš(hUh }q›(h$]h%]h#]h"]h&]uhh”h]qœhA)q}qž(hX identifierqŸhh™hhhhEh }q (h$]h%]h#]h"]h&]uh(Kh]q¡h=X identifierq¢…q£}q¤(hhŸhhubaubahUentryq¥ubh˜)q¦}q§(hUh }q¨(h$]h%]h#]h"]h&]uhh”h]q©hA)qª}q«(hXparentidentifierq¬hh¦hhhhEh }q­(h$]h%]h#]h"]h&]uh(Kh]q®h=Xparentidentifierq¯…q°}q±(hh¬hhªubaubahh¥ubh˜)q²}q³(hUh }q´(h$]h%]h#]h"]h&]uhh”h]qµhA)q¶}q·(hXtitleq¸hh²hhhhEh }q¹(h$]h%]h#]h"]h&]uh(Kh]qºh=Xtitleq»…q¼}q½(hh¸hh¶ubaubahh¥ubh˜)q¾}q¿(hUh }qÀ(h$]h%]h#]h"]h&]uhh”h]qÁhA)qÂ}qÃ(hXabstractqÄhh¾hhhhEh }qÅ(h$]h%]h#]h"]h&]uh(Kh]qÆh=XabstractqÇ…qÈ}qÉ(hhÄhhÂubaubahh¥ubehUrowqÊubahUtheadqËubcdocutils.nodes tbody qÌ)qÍ}qÎ(hUh }qÏ(h$]h%]h#]h"]h&]uhh|h]qÐ(h“)qÑ}qÒ(hUh }qÓ(h$]h%]h#]h"]h&]uhhÍh]qÔ(h˜)qÕ}qÖ(hUh }q×(h$]h%]h#]h"]h&]uhhÑh]qØhA)qÙ}qÚ(hX1hhÕhhhhEh }qÛ(h$]h%]h#]h"]h&]uh(Kh]qÜh=X1…qÝ}qÞ(hX1hhÙubaubahh¥ubh˜)qß}qà(hUh }qá(h$]h%]h#]h"]h&]uhhÑh]qâhA)qã}qä(hX33qåhhßhhhhEh }qæ(h$]h%]h#]h"]h&]uh(Kh]qçh=X33qè…qé}qê(hhåhhãubaubahh¥ubh˜)që}qì(hUh }qí(h$]h%]h#]h"]h&]uhhÑh]qîhA)qï}qð(hXfoo1qñhhëhhhhEh }qò(h$]h%]h#]h"]h&]uh(Kh]qóh=Xfoo1qô…qõ}qö(hhñhhïubaubahh¥ubh˜)q÷}qø(hUh }qù(h$]h%]h#]h"]h&]uhhÑh]qúhA)qû}qü(hXbar1qýhh÷hhhhEh }qþ(h$]h%]h#]h"]h&]uh(Kh]qÿh=Xbar1r…r}r(hhýhhûubaubahh¥ubehhÊubh“)r}r(hUh }r(h$]h%]h#]h"]h&]uhhÍh]r(h˜)r}r(hUh }r (h$]h%]h#]h"]h&]uhjh]r hA)r }r (hX2hjhhhhEh }r (h$]h%]h#]h"]h&]uh(Kh]rh=X2…r}r(hX2hj ubaubahh¥ubh˜)r}r(hUh }r(h$]h%]h#]h"]h&]uhjh]rhA)r}r(hX33rhjhhhhEh }r(h$]h%]h#]h"]h&]uh(Kh]rh=X33r…r}r(hjhjubaubahh¥ubh˜)r}r(hUh }r(h$]h%]h#]h"]h&]uhjh]r hA)r!}r"(hXfoo2r#hjhhhhEh }r$(h$]h%]h#]h"]h&]uh(Kh]r%h=Xfoo2r&…r'}r((hj#hj!ubaubahh¥ubh˜)r)}r*(hUh }r+(h$]h%]h#]h"]h&]uhjh]r,hA)r-}r.(hXbar2r/hj)hhhhEh }r0(h$]h%]h#]h"]h&]uh(Kh]r1h=Xbar2r2…r3}r4(hj/hj-ubaubahh¥ubehhÊubh“)r5}r6(hUh }r7(h$]h%]h#]h"]h&]uhhÍh]r8(h˜)r9}r:(hUh }r;(h$]h%]h#]h"]h&]uhj5h]r<hA)r=}r>(hX3hj9hhhhEh }r?(h$]h%]h#]h"]h&]uh(Kh]r@h=X3…rA}rB(hX3hj=ubaubahh¥ubh˜)rC}rD(hUh }rE(h$]h%]h#]h"]h&]uhj5h]rFhA)rG}rH(hX55rIhjChhhhEh }rJ(h$]h%]h#]h"]h&]uh(Kh]rKh=X55rL…rM}rN(hjIhjGubaubahh¥ubh˜)rO}rP(hUh }rQ(h$]h%]h#]h"]h&]uhj5h]rRhA)rS}rT(hXfoo3rUhjOhhhhEh }rV(h$]h%]h#]h"]h&]uh(Kh]rWh=Xfoo3rX…rY}rZ(hjUhjSubaubahh¥ubh˜)r[}r\(hUh }r](h$]h%]h#]h"]h&]uhj5h]r^hA)r_}r`(hXbar3rahj[hhhhEh }rb(h$]h%]h#]h"]h&]uh(Kh]rch=Xbar3rd…re}rf(hjahj_ubaubahh¥ubehhÊubh“)rg}rh(hUh }ri(h$]h%]h#]h"]h&]uhhÍh]rj(h˜)rk}rl(hUh }rm(h$]h%]h#]h"]h&]uhjgh]rnhA)ro}rp(hX4hjkhhhhEh }rq(h$]h%]h#]h"]h&]uh(Kh]rrh=X4…rs}rt(hX4hjoubaubahh¥ubh˜)ru}rv(hUh }rw(h$]h%]h#]h"]h&]uhjgh]rxhA)ry}rz(hX55r{hjuhhhhEh }r|(h$]h%]h#]h"]h&]uh(Kh]r}h=X55r~…r}r€(hj{hjyubaubahh¥ubh˜)r}r‚(hUh }rƒ(h$]h%]h#]h"]h&]uhjgh]r„hA)r…}r†(hXfoo1r‡hjhhhhEh }rˆ(h$]h%]h#]h"]h&]uh(Kh]r‰h=Xfoo1rŠ…r‹}rŒ(hj‡hj…ubaubahh¥ubh˜)r}rŽ(hUh }r(h$]h%]h#]h"]h&]uhjgh]rhA)r‘}r’(hXbar1r“hjhhhhEh }r”(h$]h%]h#]h"]h&]uh(Kh]r•h=Xbar1r–…r—}r˜(hj“hj‘ubaubahh¥ubehhÊubh“)r™}rš(hUh }r›(h$]h%]h#]h"]h&]uhhÍh]rœ(h˜)r}rž(hUh }rŸ(h$]h%]h#]h"]h&]uhj™h]r hA)r¡}r¢(hX5hjhhhhEh }r£(h$]h%]h#]h"]h&]uh(Kh]r¤h=X5…r¥}r¦(hX5hj¡ubaubahh¥ubh˜)r§}r¨(hUh }r©(h$]h%]h#]h"]h&]uhj™h]rªhA)r«}r¬(hX21r­hj§hhhhEh }r®(h$]h%]h#]h"]h&]uh(Kh]r¯h=X21r°…r±}r²(hj­hj«ubaubahh¥ubh˜)r³}r´(hUh }rµ(h$]h%]h#]h"]h&]uhj™h]r¶hA)r·}r¸(hXfoo5r¹hj³hhhhEh }rº(h$]h%]h#]h"]h&]uh(Kh]r»h=Xfoo5r¼…r½}r¾(hj¹hj·ubaubahh¥ubh˜)r¿}rÀ(hUh }rÁ(h$]h%]h#]h"]h&]uhj™h]rÂhA)rÃ}rÄ(hXbar5rÅhj¿hhhhEh }rÆ(h$]h%]h#]h"]h&]uh(Kh]rÇh=Xbar5rÈ…rÉ}rÊ(hjÅhjÃubaubahh¥ubehhÊubh“)rË}rÌ(hUh }rÍ(h$]h%]h#]h"]h&]uhhÍh]rÎ(h˜)rÏ}rÐ(hUh }rÑ(h$]h%]h#]h"]h&]uhjËh]rÒhA)rÓ}rÔ(hX5hjÏhhhhEh }rÕ(h$]h%]h#]h"]h&]uh(Kh]rÖh=X5…r×}rØ(hX5hjÓubaubahh¥ubh˜)rÙ}rÚ(hUh }rÛ(h$]h%]h#]h"]h&]uhjËh]rÜhA)rÝ}rÞ(hX21rßhjÙhhhhEh }rà(h$]h%]h#]h"]h&]uh(Kh]ráh=X21râ…rã}rä(hjßhjÝubaubahh¥ubh˜)rå}ræ(hUh }rç(h$]h%]h#]h"]h&]uhjËh]rèhA)ré}rê(hXfoo6rëhjåhhhhEh }rì(h$]h%]h#]h"]h&]uh(Kh]ríh=Xfoo6rî…rï}rð(hjëhjéubaubahh¥ubh˜)rñ}rò(hUh }ró(h$]h%]h#]h"]h&]uhjËh]rôhA)rõ}rö(hXbar6r÷hjñhhhhEh }rø(h$]h%]h#]h"]h&]uh(Kh]rùh=Xbar6rú…rû}rü(hj÷hjõubaubahh¥ubehhÊubehUtbodyrýubehUtgrouprþubaubhA)rÿ}r(hXŸA default pycsw instance (with no ``repository.filters`` option) will always process CSW requests against the entire table. So a CSW `GetRecords` filter like:rhh_hhhhEh }r(h$]h%]h#]h"]h&]uh(Kh)hh]r(h=X"A default pycsw instance (with no r…r}r(hX"A default pycsw instance (with no hjÿubhK)r}r(hX``repository.filters``h }r (h$]h%]h#]h"]h&]uhjÿh]r h=Xrepository.filtersr …r }r (hUhjubahhSubh=XN option) will always process CSW requests against the entire table. So a CSW r…r}r(hXN option) will always process CSW requests against the entire table. So a CSW hjÿubcdocutils.nodes title_reference r)r}r(hX `GetRecords`h }r(h$]h%]h#]h"]h&]uhjÿh]rh=X GetRecordsr…r}r(hUhjubahUtitle_referencerubh=X filter like:r…r}r(hX filter like:hjÿubeubcdocutils.nodes literal_block r)r}r(hX´ apiso:Title foo1 hh_hhhU literal_blockr h }r!(Ulinenosr"‰Ulanguager#XxmlU xml:spacer$Upreserver%h"]h#]h$]Uhighlight_argsr&}h%]h&]uh(Kh)hh]r'h=X´ apiso:Title foo1 r(…r)}r*(hUhjubaubhA)r+}r,(hX...will return:r-hh_hhhhEh }r.(h$]h%]h#]h"]h&]uh(K$h)hh]r/h=X...will return:r0…r1}r2(hj-hj+ubaubhu)r3}r4(hUhh_hhhhxh }r5(h$]h%]h#]h"]h&]uh(Nh)hh]r6h{)r7}r8(hUh }r9(h"]h#]h$]h%]h&]UcolsKuhj3h]r:(h€)r;}r<(hUh }r=(h"]h#]h$]h%]h&]UcolwidthKuhj7h]hh„ubh€)r>}r?(hUh }r@(h"]h#]h$]h%]h&]UcolwidthKuhj7h]hh„ubh€)rA}rB(hUh }rC(h"]h#]h$]h%]h&]UcolwidthKuhj7h]hh„ubh€)rD}rE(hUh }rF(h"]h#]h$]h%]h&]UcolwidthKuhj7h]hh„ubhŽ)rG}rH(hUh }rI(h$]h%]h#]h"]h&]uhj7h]rJh“)rK}rL(hUh }rM(h$]h%]h#]h"]h&]uhjGh]rN(h˜)rO}rP(hUh }rQ(h$]h%]h#]h"]h&]uhjKh]rRhA)rS}rT(hX identifierrUhjOhhhhEh }rV(h$]h%]h#]h"]h&]uh(Kh]rWh=X identifierrX…rY}rZ(hjUhjSubaubahh¥ubh˜)r[}r\(hUh }r](h$]h%]h#]h"]h&]uhjKh]r^hA)r_}r`(hXparentidentifierrahj[hhhhEh }rb(h$]h%]h#]h"]h&]uh(Kh]rch=Xparentidentifierrd…re}rf(hjahj_ubaubahh¥ubh˜)rg}rh(hUh }ri(h$]h%]h#]h"]h&]uhjKh]rjhA)rk}rl(hXtitlermhjghhhhEh }rn(h$]h%]h#]h"]h&]uh(Kh]roh=Xtitlerp…rq}rr(hjmhjkubaubahh¥ubh˜)rs}rt(hUh }ru(h$]h%]h#]h"]h&]uhjKh]rvhA)rw}rx(hXabstractryhjshhhhEh }rz(h$]h%]h#]h"]h&]uh(Kh]r{h=Xabstractr|…r}}r~(hjyhjwubaubahh¥ubehhÊubahhËubhÌ)r}r€(hUh }r(h$]h%]h#]h"]h&]uhj7h]r‚(h“)rƒ}r„(hUh }r…(h$]h%]h#]h"]h&]uhjh]r†(h˜)r‡}rˆ(hUh }r‰(h$]h%]h#]h"]h&]uhjƒh]rŠhA)r‹}rŒ(hX1hj‡hhhhEh }r(h$]h%]h#]h"]h&]uh(Kh]rŽh=X1…r}r(hX1hj‹ubaubahh¥ubh˜)r‘}r’(hUh }r“(h$]h%]h#]h"]h&]uhjƒh]r”hA)r•}r–(hX33r—hj‘hhhhEh }r˜(h$]h%]h#]h"]h&]uh(Kh]r™h=X33rš…r›}rœ(hj—hj•ubaubahh¥ubh˜)r}rž(hUh }rŸ(h$]h%]h#]h"]h&]uhjƒh]r hA)r¡}r¢(hXfoo1r£hjhhhhEh }r¤(h$]h%]h#]h"]h&]uh(Kh]r¥h=Xfoo1r¦…r§}r¨(hj£hj¡ubaubahh¥ubh˜)r©}rª(hUh }r«(h$]h%]h#]h"]h&]uhjƒh]r¬hA)r­}r®(hXbar1r¯hj©hhhhEh }r°(h$]h%]h#]h"]h&]uh(Kh]r±h=Xbar1r²…r³}r´(hj¯hj­ubaubahh¥ubehhÊubh“)rµ}r¶(hUh }r·(h$]h%]h#]h"]h&]uhjh]r¸(h˜)r¹}rº(hUh }r»(h$]h%]h#]h"]h&]uhjµh]r¼hA)r½}r¾(hX4hj¹hhhhEh }r¿(h$]h%]h#]h"]h&]uh(Kh]rÀh=X4…rÁ}rÂ(hX4hj½ubaubahh¥ubh˜)rÃ}rÄ(hUh }rÅ(h$]h%]h#]h"]h&]uhjµh]rÆhA)rÇ}rÈ(hX55rÉhjÃhhhhEh }rÊ(h$]h%]h#]h"]h&]uh(Kh]rËh=X55rÌ…rÍ}rÎ(hjÉhjÇubaubahh¥ubh˜)rÏ}rÐ(hUh }rÑ(h$]h%]h#]h"]h&]uhjµh]rÒhA)rÓ}rÔ(hXfoo1rÕhjÏhhhhEh }rÖ(h$]h%]h#]h"]h&]uh(Kh]r×h=Xfoo1rØ…rÙ}rÚ(hjÕhjÓubaubahh¥ubh˜)rÛ}rÜ(hUh }rÝ(h$]h%]h#]h"]h&]uhjµh]rÞhA)rß}rà(hXbar1ráhjÛhhhhEh }râ(h$]h%]h#]h"]h&]uh(Kh]rãh=Xbar1rä…rå}ræ(hjáhjßubaubahh¥ubehhÊubehjýubehjþubaubhA)rç}rè(hX±Suppose you wanted to deploy another pycsw instance which serves metadata from the same database, but only from a specific subset. Here we set the ``repository.filter`` option:réhh_hhhhEh }rê(h$]h%]h#]h"]h&]uh(K,h)hh]rë(h=X”Suppose you wanted to deploy another pycsw instance which serves metadata from the same database, but only from a specific subset. Here we set the rì…rí}rî(hX”Suppose you wanted to deploy another pycsw instance which serves metadata from the same database, but only from a specific subset. Here we set the hjçubhK)rï}rð(hX``repository.filter``h }rñ(h$]h%]h#]h"]h&]uhjçh]ròh=Xrepository.filterró…rô}rõ(hUhjïubahhSubh=X option:rö…r÷}rø(hX option:hjçubeubj)rù}rú(hXO[repository] database=sqlite:///records.db filter=pycsw:ParentIdentifier = '33'hh_hhhj h }rû(j"‰j#Xtextj$j%h"]h#]h$]j&}h%]h&]uh(K.h)hh]rüh=XO[repository] database=sqlite:///records.db filter=pycsw:ParentIdentifier = '33'rý…rþ}rÿ(hUhjùubaubhA)r}r(hXPThe same CSW `GetRecords` filter as per above then yields the following results:rhh_hhhhEh }r(h$]h%]h#]h"]h&]uh(K4h)hh]r(h=X The same CSW r…r}r(hX The same CSW hjubj)r}r (hX `GetRecords`h }r (h$]h%]h#]h"]h&]uhjh]r h=X GetRecordsr …r }r(hUhjubahjubh=X7 filter as per above then yields the following results:r…r}r(hX7 filter as per above then yields the following results:hjubeubhu)r}r(hUhh_hhhhxh }r(h$]h%]h#]h"]h&]uh(Nh)hh]rh{)r}r(hUh }r(h"]h#]h$]h%]h&]UcolsKuhjh]r(h€)r}r(hUh }r(h"]h#]h$]h%]h&]UcolwidthKuhjh]hh„ubh€)r}r(hUh }r(h"]h#]h$]h%]h&]UcolwidthKuhjh]hh„ubh€)r }r!(hUh }r"(h"]h#]h$]h%]h&]UcolwidthKuhjh]hh„ubh€)r#}r$(hUh }r%(h"]h#]h$]h%]h&]UcolwidthKuhjh]hh„ubhŽ)r&}r'(hUh }r((h$]h%]h#]h"]h&]uhjh]r)h“)r*}r+(hUh }r,(h$]h%]h#]h"]h&]uhj&h]r-(h˜)r.}r/(hUh }r0(h$]h%]h#]h"]h&]uhj*h]r1hA)r2}r3(hX identifierr4hj.hhhhEh }r5(h$]h%]h#]h"]h&]uh(Kh]r6h=X identifierr7…r8}r9(hj4hj2ubaubahh¥ubh˜)r:}r;(hUh }r<(h$]h%]h#]h"]h&]uhj*h]r=hA)r>}r?(hXparentidentifierr@hj:hhhhEh }rA(h$]h%]h#]h"]h&]uh(Kh]rBh=XparentidentifierrC…rD}rE(hj@hj>ubaubahh¥ubh˜)rF}rG(hUh }rH(h$]h%]h#]h"]h&]uhj*h]rIhA)rJ}rK(hXtitlerLhjFhhhhEh }rM(h$]h%]h#]h"]h&]uh(Kh]rNh=XtitlerO…rP}rQ(hjLhjJubaubahh¥ubh˜)rR}rS(hUh }rT(h$]h%]h#]h"]h&]uhj*h]rUhA)rV}rW(hXabstractrXhjRhhhhEh }rY(h$]h%]h#]h"]h&]uh(Kh]rZh=Xabstractr[…r\}r](hjXhjVubaubahh¥ubehhÊubahhËubhÌ)r^}r_(hUh }r`(h$]h%]h#]h"]h&]uhjh]rah“)rb}rc(hUh }rd(h$]h%]h#]h"]h&]uhj^h]re(h˜)rf}rg(hUh }rh(h$]h%]h#]h"]h&]uhjbh]rihA)rj}rk(hX1hjfhhhhEh }rl(h$]h%]h#]h"]h&]uh(Kh]rmh=X1…rn}ro(hX1hjjubaubahh¥ubh˜)rp}rq(hUh }rr(h$]h%]h#]h"]h&]uhjbh]rshA)rt}ru(hX33rvhjphhhhEh }rw(h$]h%]h#]h"]h&]uh(Kh]rxh=X33ry…rz}r{(hjvhjtubaubahh¥ubh˜)r|}r}(hUh }r~(h$]h%]h#]h"]h&]uhjbh]rhA)r€}r(hXfoo1r‚hj|hhhhEh }rƒ(h$]h%]h#]h"]h&]uh(Kh]r„h=Xfoo1r……r†}r‡(hj‚hj€ubaubahh¥ubh˜)rˆ}r‰(hUh }rŠ(h$]h%]h#]h"]h&]uhjbh]r‹hA)rŒ}r(hXbar1rŽhjˆhhhhEh }r(h$]h%]h#]h"]h&]uh(Kh]rh=Xbar1r‘…r’}r“(hjŽhjŒubaubahh¥ubehhÊubahjýubehjþubaubhA)r”}r•(hXAnother example:r–hh_hhhhEh }r—(h$]h%]h#]h"]h&]uh(K;h)hh]r˜h=XAnother example:r™…rš}r›(hj–hj”ubaubj)rœ}r(hXP[repository] database=sqlite:///records.db filter=pycsw:ParentIdentifier != '33'hh_hhhj h }rž(j"‰j#Xtextj$j%h"]h#]h$]j&}h%]h&]uh(K=h)hh]rŸh=XP[repository] database=sqlite:///records.db filter=pycsw:ParentIdentifier != '33'r …r¡}r¢(hUhjœubaubhA)r£}r¤(hXPThe same CSW `GetRecords` filter as per above then yields the following results:r¥hh_hhhhEh }r¦(h$]h%]h#]h"]h&]uh(KCh)hh]r§(h=X The same CSW r¨…r©}rª(hX The same CSW hj£ubj)r«}r¬(hX `GetRecords`h }r­(h$]h%]h#]h"]h&]uhj£h]r®h=X GetRecordsr¯…r°}r±(hUhj«ubahjubh=X7 filter as per above then yields the following results:r²…r³}r´(hX7 filter as per above then yields the following results:hj£ubeubhu)rµ}r¶(hUhh_hhhhxh }r·(h$]h%]h#]h"]h&]uh(Nh)hh]r¸h{)r¹}rº(hUh }r»(h"]h#]h$]h%]h&]UcolsKuhjµh]r¼(h€)r½}r¾(hUh }r¿(h"]h#]h$]h%]h&]UcolwidthKuhj¹h]hh„ubh€)rÀ}rÁ(hUh }rÂ(h"]h#]h$]h%]h&]UcolwidthKuhj¹h]hh„ubh€)rÃ}rÄ(hUh }rÅ(h"]h#]h$]h%]h&]UcolwidthKuhj¹h]hh„ubh€)rÆ}rÇ(hUh }rÈ(h"]h#]h$]h%]h&]UcolwidthKuhj¹h]hh„ubhŽ)rÉ}rÊ(hUh }rË(h$]h%]h#]h"]h&]uhj¹h]rÌh“)rÍ}rÎ(hUh }rÏ(h$]h%]h#]h"]h&]uhjÉh]rÐ(h˜)rÑ}rÒ(hUh }rÓ(h$]h%]h#]h"]h&]uhjÍh]rÔhA)rÕ}rÖ(hX identifierr×hjÑhhhhEh }rØ(h$]h%]h#]h"]h&]uh(Kh]rÙh=X identifierrÚ…rÛ}rÜ(hj×hjÕubaubahh¥ubh˜)rÝ}rÞ(hUh }rß(h$]h%]h#]h"]h&]uhjÍh]ràhA)rá}râ(hXparentidentifierrãhjÝhhhhEh }rä(h$]h%]h#]h"]h&]uh(Kh]råh=Xparentidentifierræ…rç}rè(hjãhjáubaubahh¥ubh˜)ré}rê(hUh }rë(h$]h%]h#]h"]h&]uhjÍh]rìhA)rí}rî(hXtitlerïhjéhhhhEh }rð(h$]h%]h#]h"]h&]uh(Kh]rñh=Xtitlerò…ró}rô(hjïhjíubaubahh¥ubh˜)rõ}rö(hUh }r÷(h$]h%]h#]h"]h&]uhjÍh]røhA)rù}rú(hXabstractrûhjõhhhhEh }rü(h$]h%]h#]h"]h&]uh(Kh]rýh=Xabstractrþ…rÿ}r(hjûhjùubaubahh¥ubehhÊubahhËubhÌ)r}r(hUh }r(h$]h%]h#]h"]h&]uhj¹h]rh“)r}r(hUh }r(h$]h%]h#]h"]h&]uhjh]r(h˜)r }r (hUh }r (h$]h%]h#]h"]h&]uhjh]r hA)r }r(hX4hj hhhhEh }r(h$]h%]h#]h"]h&]uh(Kh]rh=X4…r}r(hX4hj ubaubahh¥ubh˜)r}r(hUh }r(h$]h%]h#]h"]h&]uhjh]rhA)r}r(hX55rhjhhhhEh }r(h$]h%]h#]h"]h&]uh(Kh]rh=X55r…r}r(hjhjubaubahh¥ubh˜)r}r (hUh }r!(h$]h%]h#]h"]h&]uhjh]r"hA)r#}r$(hXfoo1r%hjhhhhEh }r&(h$]h%]h#]h"]h&]uh(Kh]r'h=Xfoo1r(…r)}r*(hj%hj#ubaubahh¥ubh˜)r+}r,(hUh }r-(h$]h%]h#]h"]h&]uhjh]r.hA)r/}r0(hXbar1r1hj+hhhhEh }r2(h$]h%]h#]h"]h&]uh(Kh]r3h=Xbar1r4…r5}r6(hj1hj/ubaubahh¥ubehhÊubahjýubehjþubaubhA)r7}r8(hX¢The ``repository.filter`` option accepts all core queryables set in the pycsw core model (see ``pycsw.config.StaticContext.md_core_model`` for the complete list).r9hh_hhhhEh }r:(h$]h%]h#]h"]h&]uh(KJh)hh]r;(h=XThe r<…r=}r>(hXThe hj7ubhK)r?}r@(hX``repository.filter``h }rA(h$]h%]h#]h"]h&]uhj7h]rBh=Xrepository.filterrC…rD}rE(hUhj?ubahhSubh=XE option accepts all core queryables set in the pycsw core model (see rF…rG}rH(hXE option accepts all core queryables set in the pycsw core model (see hj7ubhK)rI}rJ(hX,``pycsw.config.StaticContext.md_core_model``h }rK(h$]h%]h#]h"]h&]uhj7h]rLh=X(pycsw.config.StaticContext.md_core_modelrM…rN}rO(hUhjIubahhSubh=X for the complete list).rP…rQ}rR(hX for the complete list).hj7ubeubeubeubehUU transformerrSNU footnote_refsrT}rUUrefnamesrV}rWUsymbol_footnotesrX]rYUautofootnote_refsrZ]r[Usymbol_footnote_refsr\]r]U citationsr^]r_h)hU current_liner`NUtransform_messagesra]rbcdocutils.nodes system_message rc)rd}re(hUh }rf(h$]UlevelKh"]h#]Usourcehh%]h&]UlineKUtypeUINFOrguh]rhhA)ri}rj(hUh }rk(h$]h%]h#]h"]h&]uhjdh]rlh=X1Hyperlink target "repofilters" is not referenced.rm…rn}ro(hUhjiubahhEubahUsystem_messagerpubaUreporterrqNUid_startrrKU autofootnotesrs]rtU citation_refsru}rvUindirect_targetsrw]rxUsettingsry(cdocutils.frontend Values rzor{}r|(Ufootnote_backlinksr}KUrecord_dependenciesr~NU rfc_base_urlrUhttps://tools.ietf.org/html/r€U tracebackrˆUpep_referencesr‚NUstrip_commentsrƒNU toc_backlinksr„h¥U language_coder…Uenr†U datestampr‡NU report_levelrˆKU _destinationr‰NU halt_levelrŠKU strip_classesr‹Nh:NUerror_encoding_error_handlerrŒUbackslashreplacerUdebugrŽNUembed_stylesheetr‰Uoutput_encoding_error_handlerrUstrictr‘U sectnum_xformr’KUdump_transformsr“NU docinfo_xformr”KUwarning_streamr•NUpep_file_url_templater–Upep-%04dr—Uexit_status_levelr˜KUconfigr™NUstrict_visitorršNUcloak_email_addressesr›ˆUtrim_footnote_reference_spacerœ‰UenvrNUdump_pseudo_xmlržNUexpose_internalsrŸNUsectsubtitle_xformr ‰U source_linkr¡NUrfc_referencesr¢NUoutput_encodingr£Uutf-8r¤U source_urlr¥NUinput_encodingr¦U utf-8-sigr§U_disable_configr¨NU id_prefixr©UU tab_widthrªKUerror_encodingr«UUTF-8r¬U_sourcer­hUgettext_compactr®ˆU generatorr¯NUdump_internalsr°NU smart_quotesr±‰U pep_base_urlr²U https://www.python.org/dev/peps/r³Usyntax_highlightr´UlongrµUinput_encoding_error_handlerr¶j‘Uauto_id_prefixr·Uidr¸Udoctitle_xformr¹‰Ustrip_elements_with_classesrºNU _config_filesr»]Ufile_insertion_enabledr¼ˆU raw_enabledr½KU dump_settingsr¾NubUsymbol_footnote_startr¿KUidsrÀ}rÁ(hh_hh+hh+uUsubstitution_namesrÂ}rÃhh)h }rÄ(h$]h"]h#]Usourcehh%]h&]uU footnotesrÅ]rÆUrefidsrÇ}rÈh]rÉhasub.