Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
XML::Compile::Schema::UserSContributed PerlXML::Compile::Schema::NameSpaces(3)

       XML::Compile::Schema::NameSpaces	- Connect name-spaces from schemas

	# Used internally by XML::Compile::Schema
	my $nss	= XML::Compile::Schema::NameSpaces->new;

       This module keeps overview on a set of namespaces, collected from
       various schema files.  Per XML namespace, it will collect a list	of
       fragments which contain definitions for the namespace, each fragment
       comes from a different source.  These fragments are searched in reverse
       order when an element or	type is	looked up (the last definitions
       overrule	the older definitions).


       $obj->add( $schema, [$schemas] )
	   Add XML::Compile::Schema::Instance objects to the internal
	   knowledge of	this object.

	   Returns a list of all known schema instances.

       $obj->doesExtend($exttype, $basetype)
	   Returns true	when $exttype extends $basetype.

       $obj->find($kind, $address|<$uri,$name>,	%options)
	   Lookup the definition for the specified $kind of definition:	the
	   name	of a global element, global attribute, attributeGroup or model
	   group.  The $address	is constructed as " {uri}name "	or as separate
	   $uri	and $name.

	    -Option	 --Default
	     include_used  <true>

	   include_used	=> BOOLEAN
       $obj->findID( $address|<$uri,$id> )
	   Lookup the definition for the specified id, which is	constructed as
	   " uri#id " or as separate $uri and $id.

       $obj->findSgMembers($class, $type)
	   Lookup the substitutionGroup	alternatives for a specific element,
	   which is an $type (element full name) of form " {uri}name " or as
	   separate URI	and NAME.  Returned is an ARRAY	of HASHes, each
	   describing one type (as returned by find())

	   This	method can be quite expensive, with large and nested schemas.

	   [1.41] Returns a HASH with namespaces which are declared in all
	   currently known schema's, pointing to ARRAYs	of the locations where
	   the import should come from.

	   In reality, the locations mentioned are often wrong.	But when you
	   think you want to load all schema's dynamically at start-up (no,
	   you do not want it but it is	a SOAP paradigma) then you get that
	   info	easily with this method.

	   Returns the list of name-space URIs defined.

	   Returns a list of XML::Compile::Schema::Instance objects which have
	   the $uri as target namespace.

       $obj->printIndex( [$fh],	%options )
	   Show	all definitions	from all namespaces, for debugging purposes,
	   by default the selected.  Additional	%options are passed to

	    -Option	 --Default
	     include_used  <true>
	     namespace	   <ALL>

	   include_used	=> BOOLEAN
	     Show also the index from all the schema objects which are defined
	     to	be usable as well; which were included via use().

	   namespace =>	URI|ARRAY-of-URI
	     Show only information about the indicate namespaces.


	    my $nss = $schema->namespaces;
	    $nss->printIndex(namespace => "my namespace");

	    # types defined in the wsdl	schema
	    use	XML::Compile::SOAP::Util qw/WSDL11/;
	    $nss->printIndex(\*STDERR, namespace => WSDL11);

	   We need the name-space; when	it is lacking then import must help,
	   but that must be called explicitly.

	   Use any other XML::Compile::Schema extension	as fallback, if	the
	   find() does not succeed for the current object.  Searches for
	   definitions do not recurse into the used object.

	   Returns the list of all used	OBJECTS.  This method implements

       This module is part of XML-Compile distribution version 1.63, built on
       July 02,	2019. Website:

       Copyrights 2006-2019 by [Mark Overmeer <>]. For other
       contributors see	ChangeLog.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  See

perl v5.32.0			  2019-07-0XML::Compile::Schema::NameSpaces(3)


Want to link to this manual page? Use this URL:

home | help