If PRANG is marshalling out a value and it finds an XML::LibXML::Element there,
it will now happily just throw the document fragment into the document being exported.
you probably had to try quite hard to do that...
Not setting 'required' or 'default' on complex element attributes (ie,
attributes which contain another node),
and which are explicitly or implicitly required - using xml_min,
etc - is now considered a declaration error and produces a warning.
Removed dependency on MooseX::Method::Signatures,
and replaced it with MooseX::Params::Validate
Added a 'lax' parsing mode,
which ignores any extra attributes or elements which aren't defined in your class.
Allow PRANG classes to define the encoding of the XML document emitted.
Ignore xsi:schemaLocation; it has no useful meaning.
xsi:schemaLocation describes "hints as to the physical location of schema documents which may be used for âassessmentâ" - ie,
it is a hint to a local validator as to which schema file contains the XML Schema definition.
On XML documents which are transmitted,
it is somewhere between a potential security risk and totally worthless.
See http://www.w3.org/TR/xmlschema-1/#schema-loc for the full story.
Fixed a bug in PRANG::Graph::Meta::Element which sorted the classes badly when using inheritance.
There is still a design issue to be solved,
if you want to use inheritance and not put new elements on the end of the sequence,
or if you want to use roles.
PRANG now happily ignores XML Schema instance schemaLocation and noNamespaceSchemaLocation attributes on incoming documents.
They are only hints for running unconfigured XML Schema validators anyway.
XML namespaces support is now much more complete; lots of cases,
including wildcarding of both the node name and the XML namespace now work.
This is powerful enough to successfully round-trip crazy XML Schema specifications such as <any namespace="##any" processContents="skip"/>
PRANG::Graph::Class has been deprecated / ripped out.
It was a hang-over from the time before use PRANG::Graph; set up the metaclass trait.
It is no longer required to specify the xmlns method,
if you do not wish to use namespaces.
Specifying a role as a type now works,
so long as the role is used by only PRANG::Graph types.
Much enhanced support for XML namespaces.
Tests and functionality added; still lacking is the "Whatever" mapping,
required for crazy XMLSchema stuff like >any namespace="##any" processContents="skip"/< - this will be supported in the next release.
Various bug fixes,
more rejection of invalid input,
and so on.