Skip to Content.
Sympa Menu

shibboleth-dev - RE: shibboleth-targetconfig-1.0.xsd - "mixed" is not an attribute of "restriction"

Subject: Shibboleth Developers

List archive

RE: shibboleth-targetconfig-1.0.xsd - "mixed" is not an attribute of "restriction"


Chronological Thread 
  • From: "Howard Gilbert" <>
  • To: <>
  • Subject: RE: shibboleth-targetconfig-1.0.xsd - "mixed" is not an attribute of "restriction"
  • Date: Wed, 30 Jun 2004 10:12:15 -0400

> > Reported when, as a test, I compiled the schema under XML
> > Beans (just promoted Apache project).
>
> Just curious, is this parsing/checking the schema with Xerces?

Preliminary comments:

XML Beans is a mapping layer between Java and the XML parser. It preserves
the original XML structure, but appears to use an "Infoset" level of objects
that it appears to create during a SAX parse rather than the full function
set of DOM objects. That is because the additional methods that DOM provides
compared to a simpler Infoset are provided by the Java classes compiled from
the schema.

As the name suggests, XML Beans turns the "DOM" into a big bunch of Java
Beans where children, attributes, namespaces, and values are accessed as
properties of each Element Bean. Since the schema was used to generate the
classes, values that are numbers are returned as numbers, and content that
appears more than once is returned as arrays.

Being an Apache projects, it uses JAXP which defaults to using Xerces.
However, since it is already at 1.0.2 level, it has bootstrapped. That is,
it doesn't parse the XSD file directly through Xerces, but has already
compiled the Schema for Schemas into a set of XML Bean classes that
represent the semantic elements of an XSD file ("eat your own dogfood").

There are other technologies that try to solve the problem that is to XML
what "object relational" is to DBMS. XML Beans isn't in this space. XML
Beans is a Java specific next evolutionary step in the DOM. The original DOM
mapping predates schemas. Subsequently, the DOM was enhanced to add
information from schemas ("type" information for example) to element nodes.
XML Beans now goes one step further to generate and compile Java classes
that structurally reflect the information in the schema rather than just
appending it as an annotation to undifferentiated elements.

It probably is not interesting enough to be substituted in for any one
thing, but XML is everywhere and it seems like a useful tool in the toolbox.
Shibboleth Metadata happens to be one place where there is a non-trivial set
of XSD files with a lot of structure and seemed an ideal test case to throw
at it and see what it does. That is, at the moment I am using Shibboleth to
test XML Beans and am not ready to even propose that XML Beans should be
used in Shibboleth.




Archive powered by MHonArc 2.6.16.

Top of Page