From user-return-17878-apmail-couchdb-user-archive=couchdb.apache.org@couchdb.apache.org Tue Sep 13 05:42:16 2011 Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B3421860F for ; Tue, 13 Sep 2011 05:42:16 +0000 (UTC) Received: (qmail 77612 invoked by uid 500); 13 Sep 2011 05:42:14 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 77322 invoked by uid 500); 13 Sep 2011 05:42:01 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 77314 invoked by uid 99); 13 Sep 2011 05:41:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Sep 2011 05:41:57 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jens@couchbase.com designates 206.225.164.30 as permitted sender) Received: from [206.225.164.30] (HELO EXHUB020-3.exch020.serverdata.net) (206.225.164.30) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Sep 2011 05:41:52 +0000 Received: from EXVMBX020-1.exch020.serverdata.net ([169.254.4.169]) by EXHUB020-3.exch020.serverdata.net ([206.225.164.30]) with mapi; Mon, 12 Sep 2011 22:41:30 -0700 From: Jens Alfke To: "user@couchdb.apache.org" Date: Mon, 12 Sep 2011 22:41:29 -0700 Subject: Re: Declarative validation of recursive documents Thread-Topic: Declarative validation of recursive documents Thread-Index: Acxx18lftlLSxqjPR1qlbVNfhBYX7A== Message-ID: <0244805A-AD48-45FB-BE67-808F742C4DF1@couchbase.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: multipart/alternative; boundary="_000_0244805AAD4845FBBE67808F742C4DF1couchbasecom_" MIME-Version: 1.0 --_000_0244805AAD4845FBBE67808F742C4DF1couchbasecom_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable On Sep 12, 2011, at 7:37 PM, Daniel Itabora=ED wrote: It seems to me that it would be useful to be able to declaratively specify this tree like schema to validate complex documents, something like the following Doc( Field('left', Recursive()), Field('value', Number()), It looks as though you=92re on the way to re-inventing JSON Schemas :) I just ran into that last weekend and was thinking it= =92d be useful to use with CouchDB. =97Jens --_000_0244805AAD4845FBBE67808F742C4DF1couchbasecom_--