Lists Home |
Date Index |
* Henry S. Thompson <firstname.lastname@example.org> [2004-12-20 01:43]:
> > I'd like to assert that the element set either contains a simple
> > type or more set elements.
> As specified, your requirement cannot be met by W3C XML Schema.
> I'm tempted to say that this looks like questionable markup design,
> since all the structural information which would allow validation
> and/or type assignment to do any useful work is 'hidden' in
> attributes, and to wonder why you don't say
> but I won't, because I don't know what other constraints you are
> trying to satisfy. . .
Design wasn't right. I created a separate element and called it
put. Sounds chintzy, but...
I'm not trying to model an address book, but a generic Java
object configuration script.
Such that this.
<property name="value" type="java.lang.String"/>
Can be expressed like this.
So to construct a HashMap of URIs and pass it to a setter method
that accepts a Map this is specified in a configuration:
<setter name="locations" method="setLocations">
<putter name="location" method="put">
<property name="key" type="java.lang.String"/>
<property name="uri" type="java.lang.String"/>
So that the end user can express this more concisely.
And there's my "put" which is a different beast from "set", and
can be expressed as XML Schema.
This is so that I can create an Ant type confguration file that
can be validated using XML Schema.
At first I pursused the Ant style, where element and attribute
names mapped to Java method names, but it started to infect the
Java with a lot of akward setter methods.
This is a bit harder to read, but it can be validated, and
existing objects can be used in configuration, without a need to
create special setter methods, special nested static classes,
and all those other Ant tricks.
Jetty has a similar concept, but I wanted to type something
where the verbose expression of constructor and methods calls
could be expressed once and reused.
Implementing the above as two separate SAX engines, a compiler
and an intperter, and attempting to develop ridgid XML Schemas
Alan Gutierrez - email@example.com