Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 68619 invoked from network); 1 Jun 2006 01:01:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 1 Jun 2006 01:01:50 -0000 Received: (qmail 1243 invoked by uid 500); 1 Jun 2006 01:01:49 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 534 invoked by uid 500); 1 Jun 2006 01:01:47 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 522 invoked by uid 99); 1 Jun 2006 01:01:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 May 2006 18:01:47 -0700 X-ASF-Spam-Status: No, hits=1.4 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_WHOIS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [68.142.206.238] (HELO smtp105.plus.mail.mud.yahoo.com) (68.142.206.238) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 31 May 2006 18:01:46 -0700 Received: (qmail 72286 invoked from network); 1 Jun 2006 01:01:25 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:Mime-Version:Content-Transfer-Encoding:Message-Id:Content-Type:To:From:Subject:Date:X-Mailer; b=NWzPfHNBuOIvgZZTsRIVUTUW/h3jaJDsKCza6wxXJMkt5AAANqyoSVM1ywGSoaJtycMelfNRkGApXF5WvzhHiownrP6KIR6TY22MFYK02jXvtSB8pChf6hc+X7z2yGDbwJgbU/FfGWGZKn4VUqfZYjyrxrdX+bm+azJJl7AlJEY= ; Received: from unknown (HELO ?192.168.1.5?) (david?jencks@66.93.38.137 with plain) by smtp105.plus.mail.mud.yahoo.com with SMTP; 1 Jun 2006 01:01:25 -0000 Mime-Version: 1.0 (Apple Message framework v746.2) Content-Transfer-Encoding: 7bit Message-Id: <7B5BA7F4-4B88-4467-AAA4-7B95C0770AE4@yahoo.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: dev@geronimo.apache.org From: David Jencks Subject: The evil of mixed content rears its ugly head in the config.xml local-attributes-1.1 schema Date: Wed, 31 May 2006 18:01:42 -0700 X-Mailer: Apple Mail (2.746.2) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Now that we have a schema for config.xml it's become more painfully obvious that we are putting mixed content into the attribute elements of config.xml. You can override an xml-attribute in a gbean such as the elements in the builders by putting the override xml right into an attribute element in config.xml. This works great and we use it in the tck setup. The schema validation we now seem to be doing is emitting warnings like: Booting Geronimo Kernel (in Java 1.4.2_09)... Warning: validation was turned on but an org.xml.sax.ErrorHandler was not set, which is probably not what is desired. Parser will use a default ErrorHandler to print the first 10 errors. Please call the 'setErrorHandler' method to fix this. Error: URI=null Line=105: cvc-complex-type.2.2: Element 'attribute' must have no element [children], and the value must be valid. Error: URI=null Line=125: cvc-complex-type.2.2: Element 'attribute' must have no element [children], and the value must be valid. Error: URI=null Line=149: cvc-complex-type.2.2: Element 'attribute' must have no element [children], and the value must be valid. Error: URI=null Line=179: cvc-complex-type.2.2: Element 'attribute' must have no element [children], and the value must be valid. Error: URI=null Line=207: cvc-complex-type.2.2: Element 'attribute' must have no element [children], and the value must be valid. so... what to do?? 1. ignore these messages, after all it works 2. Try to modify the attributes-1.1 schema to allow mixed content. Today anyway this is beyond my schema-fu. In any case mixed content is pretty evil, we should try to avoid it if possible. 3. Introduce an xml-attribute element in config.xml. This is going to require bigger changes in the object model holding the values: we'll need either a new element or a flag to tell it to write out rather than (3) is probably the most plausible way to go, but I'm not enthusiastic about cramming this into 1.1. I think (1) for 1.1 followed by more thought and perhaps (3) for 1.2 is the way to go. Thoughts? thanks david jencks