The schema would be useful for validation markup files and for xml editors to provide content assist.
Attaching a patch that adds a wicket-1.5.xsd to wicket-core. It could also be hosted on the website (next to the dtd-s) too.
It contains the wicket attributes and tags with some custom types and a few restrictions to help users provide valid values.
Documentation is mostly copied from the wiki.
Attaching updated patch. This contains a definition for wicket:container (which was missing from previous patch) and a few typo fixes.
Updating patch again. Sorry for the spam.
Now the schema allows and requires to add wicket:id attribute to wicket:container and wicket:fragment elements.
Updating patch. wicket:component has an optional "name" attribute. Thanks Martin for finding these bugs in the xsd!
Updating patch with limited wicket:id uniqueness support.
The xml validation will now fail if the wicket:id attribute value is not unique for the immediate child elements of (wicket border, component, container, enclosure, extend, fragment, head, link, message, panel elements.
Updating patch. Removing wicket:component element following WICKET-3687.
Updating patch. Making validation for child elements from wicket namespace strict while keeping it forgiving for foreign elements. This way not defined wicket child elements are not allowed any more.
I was asked to provide some info on how to test the schema with Eclipse, so here it goes. With Eclipse 3.6.2 (Helios) this works:
1. Import the xsd in Window -> Preferences -> XML -> XML Catalog -> Add: browse the schema, make sure key type is "Namespace name" and key is "http://wicket.apache.org" (they should be automatically read from the xsd by Eclipse).
2. Open the example xml-s I am attaching with this comment. Play around with them. One should pass validation (pass.xml) and the other should report couple of errors (error.xml - no kidding).
Note however that Eclipse custom xsd based support is a bit weak. There are probably better xml editors that could take better advantage of the schema. For example Eclipse will ignore the schema if any of the followings is true:
Updating patch. Fixing regular expression for wicket:message attribute.
The schema is added as wicket-core.jar#META-INF/wicket-1.5.xsd with r1125052.