setStrictSchema(true);
// The bootstrap type
TypeBinding bootstrapType = new TypeBinding(new QName(NAMESPACE, "bootstrapType"));
bootstrapType.setSimple(false);
AllBinding bootstrapModel = new AllBinding(this);
ParticleBinding bootstrapParticle = new ParticleBinding(bootstrapModel, 1, 1, false);
bootstrapType.setParticle(bootstrapParticle);
ClassMetaData bootstrapClassMetaData = new ClassMetaData();
bootstrapClassMetaData.setImpl(BootstrapMetaData.class.getName());
bootstrapType.setClassMetaData(bootstrapClassMetaData);
// Bootstrap can take some urls
ElementBinding urlElement = new ElementBinding(this, new QName(NAMESPACE, "url"), stringType);
ParticleBinding urlParticle = new ParticleBinding(urlElement, 0, 1, true);
bootstrapModel.addParticle(urlParticle);
bootstrapType.pushInterceptor(urlElement.getQName(), new DefaultElementInterceptor()
{
public void add(Object parent, Object child, QName name)
{
BootstrapMetaData bootstrap = (BootstrapMetaData) parent;