Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Handling of XMLSchema elementFormDefault and attributeFormDefault #2

Closed
bacek opened this Issue · 2 comments

2 participants

Vasily Chekalkin Ivan Wills
Vasily Chekalkin

According to http://www.w3.org/TR/xmlschema-0/#ref50 elementFormDefault and attributFormDefault are "unqualified". Which should put sub-elements of complexTypes into default namespace.

Vasily Chekalkin

~/work/DCB/W3C-SOAP (master) $ git diff
diff --git a/lib/W3C/SOAP/XSD.pm b/lib/W3C/SOAP/XSD.pm
index 2c9bd3e..d1e7375 100644
--- a/lib/W3C/SOAP/XSD.pm
+++ b/lib/W3C/SOAP/XSD.pm
@@ -171,11 +171,13 @@ sub to_xml {
my $value = ref $self->$name eq 'ARRAY' ? $self->$name : [$self->$name];

     for my $item (@$value) {
  • my $tag = $xml->createElement($xsd_ns_name . ':' . $xml_name);
  • $tag->setAttribute("xmlns:$xsd_ns_name" => $self->xsd_ns) if $self->xsd_ns;
  • my $tag = $xml->createElement($xml_name);
  • if ($item->can('xsd_ns')) {
  • $tag->setNamespace($item->xsd_ns, $item->xsd_ns_name);
  •        }
    
         if ( blessed($item) && $item->can('to_xml') ) {
    
  • $item->xsd_ns_name( $xsd_ns_name ) if !$item->has_xsd_ns_name;
  • #$item->xsd_ns_name( $xsd_ns_name ) if !$item->has_xsd_ns_name; my @children = $item->to_xml($xml); $tag->appendChild($_) for @children; }
Ivan Wills
Owner

This should be fixed now (except for attributes which currently are not supported)

Ivan Wills ivanwills closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.