Propchange: xerces/c/trunk/swig/perl/SAX/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Fri Oct 13 14:23:03 2006 @@ -0,0 +1,6 @@ +Makefile.old +Makefile +SAX-tmp.pm +SAX.bs +Xerces_SAX-tmp.cpp +pm_to_blib
Copied: xerces/c/trunk/swig/perl/SAX/Makefile.PL (from r442160, xerces/c/trunk/swig/perl/DOM/Makefile.PL) URL: http://svn.apache.org/viewvc/xerces/c/trunk/swig/perl/SAX/Makefile.PL?view=diff&rev=463839&p1=xerces/c/trunk/swig/perl/DOM/Makefile.PL&r1=442160&p2=xerces/c/trunk/swig/perl/SAX/Makefile.PL&r2=463839 ============================================================================== --- xerces/c/trunk/swig/perl/DOM/Makefile.PL (original) +++ xerces/c/trunk/swig/perl/SAX/Makefile.PL Fri Oct 13 14:23:03 2006 @@ -20,36 +20,36 @@ if ($XERCES_DEVEL) { print STDERR "\tWelcome Xerces Developer!\n"; - sub Xerces_DOM_postamble { + sub Xerces_SAX_postamble { my $retval = <<TERMINUS; -DOM-tmp.pm: $SCRIPTS_DIR/postModule.pl $INTERFACE_DIR/Perl/dom-shadow.i - \$(SWIG) $SWIG_ARGS -o Xerces_DOM-tmp.cpp -pm DOM-tmp.pm $INTERFACE_DIR/Xerces_DOM.i +SAX-tmp.pm: $SCRIPTS_DIR/postModule.pl $INTERFACE_DIR/Perl/sax-shadow.i + \$(SWIG) $SWIG_ARGS -o Xerces_SAX-tmp.cpp -pm SAX-tmp.pm $INTERFACE_DIR/Xerces_SAX.i -DOM.pm: $SCRIPTS_DIR/postModule.pl DOM-tmp.pm - perl -I$SCRIPTS_DIR $SCRIPTS_DIR/postModule.pl --in=DOM-tmp.pm --out=DOM.pm +SAX.pm: $SCRIPTS_DIR/postModule.pl SAX-tmp.pm + perl -I$SCRIPTS_DIR $SCRIPTS_DIR/postModule.pl --in=SAX-tmp.pm --out=SAX.pm -Xerces_DOM.cpp: $SCRIPTS_DIR/postSource.pl Xerces_DOM-tmp.cpp - perl -I$SCRIPTS_DIR $SCRIPTS_DIR/postSource.pl --in=Xerces_DOM-tmp.cpp --out=Xerces_DOM.cpp +Xerces_SAX.cpp: $SCRIPTS_DIR/postSource.pl Xerces_SAX-tmp.cpp + perl -I$SCRIPTS_DIR $SCRIPTS_DIR/postSource.pl --in=Xerces_SAX-tmp.cpp --out=Xerces_SAX.cpp -Xerces_DOM-tmp.cpp: $INTERFACE_DIR/Xerces_DOM.i - \$(SWIG) $SWIG_ARGS -o Xerces_DOM-tmp.cpp -pm DOM-tmp.pm $INTERFACE_DIR/Xerces_DOM.i - perl -I$SCRIPTS_DIR $SCRIPTS_DIR/postModule.pl --in=DOM-tmp.pm --out=DOM.pm +Xerces_SAX-tmp.cpp: $INTERFACE_DIR/Xerces_SAX.i @SAX_INTERFACE_FILES + \$(SWIG) $SWIG_ARGS -o Xerces_SAX-tmp.cpp -pm SAX-tmp.pm $INTERFACE_DIR/Xerces_SAX.i + perl -I$SCRIPTS_DIR $SCRIPTS_DIR/postModule.pl --in=SAX-tmp.pm --out=SAX.pm mkdir -p $BLIB_DIR - cp -f DOM.pm $BLIB_DIR/DOM.pm + cp -f SAX.pm $BLIB_DIR/SAX.pm TERMINUS return $retval; } - *MY::postamble = \&Xerces_DOM_postamble; + *MY::postamble = \&Xerces_SAX_postamble; } WriteMakefile( - 'NAME' => 'XML::Xerces::DOM', + 'NAME' => 'XML::Xerces::SAX', 'INC' => $INCLUDES, 'LIBS' => [$LIBS], 'MYEXTLIB' => "$TRANSCODER_LIB $HANDLER_LIB", - 'OBJECT' => 'Xerces_DOM$(OBJ_EXT)', + 'OBJECT' => 'Xerces_SAX$(OBJ_EXT)', 'CCFLAGS' => $CFLAGS, 'CC' => $CXX, 'SKIP' => [qw( test makeaperl xs_o)], Added: xerces/c/trunk/swig/perl/SAX/SAX.pm URL: http://svn.apache.org/viewvc/xerces/c/trunk/swig/perl/SAX/SAX.pm?view=auto&rev=463839 ============================================================================== --- xerces/c/trunk/swig/perl/SAX/SAX.pm (added) +++ xerces/c/trunk/swig/perl/SAX/SAX.pm Fri Oct 13 14:23:03 2006 @@ -0,0 +1,834 @@ + # + # Copyright 2002,2004 The Apache Software Foundation. + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # + +# This file was created automatically by SWIG 1.3.30. +# Don't modify this file, modify the SWIG interface instead. +package XML::Xerces::SAX; +use base qw(DynaLoader); +require XML::Xerces; +require XML::Xerces::IO; +bootstrap XML::Xerces::SAX; +package XML::Xerces::SAX; +############# Class : XML::Xerces::PerlDefaultHandler ############## +package XML::Xerces::PerlDefaultHandler; +use vars qw(@ISA); [EMAIL PROTECTED] = qw(XML::Xerces::ContentHandler + XML::Xerces::DocumentHandler); +sub new { + my $class = shift; + + # support copy constructor syntax + $class = ref($class) if ref($class); + + return bless {}, $class; +} + +sub startElement { + my $self = shift; + $self->start_element(@_); +} +sub endElement { + my $self = shift; + $self->end_element(@_); +} +sub startPrefixMapping { + my $self = shift; + $self->start_prefix_mapping(@_); +} +sub endPrefixMapping { + my $self = shift; + $self->end_prefix_mapping(@_); +} +sub skippedEntity { + my $self = shift; + $self->skipped_entity(@_); +} +sub startDocument { + my $self = shift; + $self->start_document(); +} +sub endDocument { + my $self = shift; + $self->end_document(); +} +sub resetDocument { + my $self = shift; + $self->reset_document(); +} +sub characters {} +sub processingInstruction { + my $self = shift; + $self->processing_instruction(@_); +} +sub setDocumentLocator { + my $self = shift; + $self->set_document_locator(@_); +} +sub ignorableWhitespace { + my $self = shift; + $self->ignorable_whitespace(@_); +} + +# +# support alternate Perl-friendly syntax +# +sub start_element {} +sub end_element {} +sub start_prefix_mapping {} +sub end_prefix_mapping {} +sub skipped_entity {} +sub start_document {} +sub end_document {} +sub reset_document {} +sub processing_instruction {} +sub set_document_locator {} +sub ignorable_whitespace {} + + +############# Class : XML::Xerces::PerlContentHandler ############## +package XML::Xerces::PerlContentHandler; +use vars qw(@ISA); [EMAIL PROTECTED] = qw(XML::Xerces::PerlDefaultHandler); + +############# Class : XML::Xerces::PerlDocumentHandler ############## +package XML::Xerces::PerlDocumentHandler; +use vars qw(@ISA); [EMAIL PROTECTED] = qw(XML::Xerces::PerlDefaultHandler); + +package XML::Xerces::Attributes; +sub to_hash { + my $self = shift; + my %hash; + for (my $i=0; $i < $self->getLength(); $i++) { + my $qname = $self->getQName($i); + $hash{$qname}->{localName} = $self->getLocalName($i); + $hash{$qname}->{URI} = $self->getURI($i); + $hash{$qname}->{value} = $self->getValue($i); + $hash{$qname}->{type} = $self->getType($i); + } + return %hash; +} + +package XML::Xerces::AttributeList; +sub to_hash { + my $self = shift; + my %hash; + for (my $i=0;$i<$self->getLength();$i++) { + $hash{$self->getName($i)} = $self->getValue($i) + } + return %hash; +} + + +# ------- FUNCTION WRAPPERS -------- + +package XML::Xerces; + + +############# Class : XML::Xerces::DTDHandler ############## + +package XML::Xerces::DTDHandler; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_DTDHandler($self); + delete $OWNER{$self}; + } +} + +*unparsedEntityDecl = *XML::Xercesc::DTDHandler_unparsedEntityDecl; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::DocumentHandler ############## + +package XML::Xerces::DocumentHandler; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_DocumentHandler($self); + delete $OWNER{$self}; + } +} + +*characters = *XML::Xercesc::DocumentHandler_characters; +*processingInstruction = *XML::Xercesc::DocumentHandler_processingInstruction; +*setDocumentLocator = *XML::Xercesc::DocumentHandler_setDocumentLocator; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::AttributeList ############## + +package XML::Xerces::AttributeList; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_AttributeList($self); + delete $OWNER{$self}; + } +} + +*getLength = *XML::Xercesc::AttributeList_getLength; +*getName = *XML::Xercesc::AttributeList_getName; +*getType = *XML::Xercesc::AttributeList_getType; +*getValue = *XML::Xercesc::AttributeList_getValue; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::HandlerBase ############## + +package XML::Xerces::HandlerBase; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces::EntityResolver XML::Xerces::DTDHandler XML::Xerces::DocumentHandler XML::Xerces::ErrorHandler XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +*characters = *XML::Xercesc::HandlerBase_characters; +*processingInstruction = *XML::Xercesc::HandlerBase_processingInstruction; +*setDocumentLocator = *XML::Xercesc::HandlerBase_setDocumentLocator; +*error = *XML::Xercesc::HandlerBase_error; +*fatalError = *XML::Xercesc::HandlerBase_fatalError; +*warning = *XML::Xercesc::HandlerBase_warning; +*resetErrors = *XML::Xercesc::HandlerBase_resetErrors; +*unparsedEntityDecl = *XML::Xercesc::HandlerBase_unparsedEntityDecl; +sub new { + my $pkg = shift; + my $self = XML::Xercesc::new_HandlerBase(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_HandlerBase($self); + delete $OWNER{$self}; + } +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::Locator ############## + +package XML::Xerces::Locator; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_Locator($self); + delete $OWNER{$self}; + } +} + +*getPublicId = *XML::Xercesc::Locator_getPublicId; +*getSystemId = *XML::Xercesc::Locator_getSystemId; +*getLineNumber = *XML::Xercesc::Locator_getLineNumber; +*getColumnNumber = *XML::Xercesc::Locator_getColumnNumber; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::Attributes ############## + +package XML::Xerces::Attributes; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_Attributes($self); + delete $OWNER{$self}; + } +} + +*getLength = *XML::Xercesc::Attributes_getLength; +*getURI = *XML::Xercesc::Attributes_getURI; +*getLocalName = *XML::Xercesc::Attributes_getLocalName; +*getQName = *XML::Xercesc::Attributes_getQName; +*getIndex = *XML::Xercesc::Attributes_getIndex; +*getType = *XML::Xercesc::Attributes_getType; +*getValue = *XML::Xercesc::Attributes_getValue; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::ContentHandler ############## + +package XML::Xerces::ContentHandler; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_ContentHandler($self); + delete $OWNER{$self}; + } +} + +*characters = *XML::Xercesc::ContentHandler_characters; +*processingInstruction = *XML::Xercesc::ContentHandler_processingInstruction; +*setDocumentLocator = *XML::Xercesc::ContentHandler_setDocumentLocator; +*startPrefixMapping = *XML::Xercesc::ContentHandler_startPrefixMapping; +*endPrefixMapping = *XML::Xercesc::ContentHandler_endPrefixMapping; +*skippedEntity = *XML::Xercesc::ContentHandler_skippedEntity; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::LexicalHandler ############## + +package XML::Xerces::LexicalHandler; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_LexicalHandler($self); + delete $OWNER{$self}; + } +} + +*comment = *XML::Xercesc::LexicalHandler_comment; +*endCDATA = *XML::Xercesc::LexicalHandler_endCDATA; +*endDTD = *XML::Xercesc::LexicalHandler_endDTD; +*endEntity = *XML::Xercesc::LexicalHandler_endEntity; +*startCDATA = *XML::Xercesc::LexicalHandler_startCDATA; +*startDTD = *XML::Xercesc::LexicalHandler_startDTD; +*startEntity = *XML::Xercesc::LexicalHandler_startEntity; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::DeclHandler ############## + +package XML::Xerces::DeclHandler; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_DeclHandler($self); + delete $OWNER{$self}; + } +} + +*attributeDecl = *XML::Xercesc::DeclHandler_attributeDecl; +*internalEntityDecl = *XML::Xercesc::DeclHandler_internalEntityDecl; +*externalEntityDecl = *XML::Xercesc::DeclHandler_externalEntityDecl; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::Parser ############## + +package XML::Xerces::Parser; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_Parser($self); + delete $OWNER{$self}; + } +} + +sub setEntityResolver { + my ($self,$handler) = @_; + + + my $callback; + if (defined$handler) { + $callback = XML::Xerces::PerlEntityResolverHandler->new($handler); + $XML::Xerces::REMEMBER{tied(% {$self})}->{__ENTITY_RESOLVER} = $callback; + } + return XML::Xercesc::Parser_setEntityResolver($self,$callback); +} + +*setDTDHandler = *XML::Xercesc::Parser_setDTDHandler; +*setDocumentHandler = *XML::Xercesc::Parser_setDocumentHandler; +sub setErrorHandler { + my ($self,$handler) = @_; + + + my $callback; + if (defined$handler) { + $callback = XML::Xerces::PerlErrorCallbackHandler->new($handler); + $XML::Xerces::REMEMBER{tied(% {$self})}->{__ERROR_HANDLER} = $callback; + } + return XML::Xercesc::Parser_setErrorHandler($self,$callback); +} + +*parse = *XML::Xercesc::Parser_parse; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::SAXParser ############## + +package XML::Xerces::SAXParser; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces::Parser XML::Xerces::XMLDocumentHandler XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +*Val_Never = *XML::Xercesc::SAXParser_Val_Never; +*Val_Always = *XML::Xercesc::SAXParser_Val_Always; +*Val_Auto = *XML::Xercesc::SAXParser_Val_Auto; +sub new { + my $pkg = shift; + my $self = XML::Xercesc::new_SAXParser(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_SAXParser($self); + delete $OWNER{$self}; + } +} + +*getDocumentHandler = *XML::Xercesc::SAXParser_getDocumentHandler; +*getEntityResolver = *XML::Xercesc::SAXParser_getEntityResolver; +*getXMLEntityResolver = *XML::Xercesc::SAXParser_getXMLEntityResolver; +*getErrorHandler = *XML::Xercesc::SAXParser_getErrorHandler; +*getPSVIHandler = *XML::Xercesc::SAXParser_getPSVIHandler; +*getValidator = *XML::Xercesc::SAXParser_getValidator; +*getValidationScheme = *XML::Xercesc::SAXParser_getValidationScheme; +*getDoSchema = *XML::Xercesc::SAXParser_getDoSchema; +*getValidationSchemaFullChecking = *XML::Xercesc::SAXParser_getValidationSchemaFullChecking; +*getIdentityConstraintChecking = *XML::Xercesc::SAXParser_getIdentityConstraintChecking; +*getErrorCount = *XML::Xercesc::SAXParser_getErrorCount; +*getDoNamespaces = *XML::Xercesc::SAXParser_getDoNamespaces; +*getExitOnFirstFatalError = *XML::Xercesc::SAXParser_getExitOnFirstFatalError; +*getValidationConstraintFatal = *XML::Xercesc::SAXParser_getValidationConstraintFatal; +*getExternalSchemaLocation = *XML::Xercesc::SAXParser_getExternalSchemaLocation; +*getExternalNoNamespaceSchemaLocation = *XML::Xercesc::SAXParser_getExternalNoNamespaceSchemaLocation; +*getSecurityManager = *XML::Xercesc::SAXParser_getSecurityManager; +*getLoadExternalDTD = *XML::Xercesc::SAXParser_getLoadExternalDTD; +*isCachingGrammarFromParse = *XML::Xercesc::SAXParser_isCachingGrammarFromParse; +*isUsingCachedGrammarInParse = *XML::Xercesc::SAXParser_isUsingCachedGrammarInParse; +*getCalculateSrcOfs = *XML::Xercesc::SAXParser_getCalculateSrcOfs; +*getStandardUriConformant = *XML::Xercesc::SAXParser_getStandardUriConformant; +*getGrammar = *XML::Xercesc::SAXParser_getGrammar; +*getRootGrammar = *XML::Xercesc::SAXParser_getRootGrammar; +*getURIText = *XML::Xercesc::SAXParser_getURIText; +*getSrcOffset = *XML::Xercesc::SAXParser_getSrcOffset; +*getGenerateSyntheticAnnotations = *XML::Xercesc::SAXParser_getGenerateSyntheticAnnotations; +*getValidateAnnotations = *XML::Xercesc::SAXParser_getValidateAnnotations; +*getIgnoreCachedDTD = *XML::Xercesc::SAXParser_getIgnoreCachedDTD; +*getIgnoreAnnotations = *XML::Xercesc::SAXParser_getIgnoreAnnotations; +*getDisableDefaultEntityResolution = *XML::Xercesc::SAXParser_getDisableDefaultEntityResolution; +*getSkipDTDValidation = *XML::Xercesc::SAXParser_getSkipDTDValidation; +*setGenerateSyntheticAnnotations = *XML::Xercesc::SAXParser_setGenerateSyntheticAnnotations; +*setValidateAnnotations = *XML::Xercesc::SAXParser_setValidateAnnotations; +*setDoNamespaces = *XML::Xercesc::SAXParser_setDoNamespaces; +*setValidationScheme = *XML::Xercesc::SAXParser_setValidationScheme; +*setDoSchema = *XML::Xercesc::SAXParser_setDoSchema; +*setValidationSchemaFullChecking = *XML::Xercesc::SAXParser_setValidationSchemaFullChecking; +*setIdentityConstraintChecking = *XML::Xercesc::SAXParser_setIdentityConstraintChecking; +*setExitOnFirstFatalError = *XML::Xercesc::SAXParser_setExitOnFirstFatalError; +*setValidationConstraintFatal = *XML::Xercesc::SAXParser_setValidationConstraintFatal; +*setExternalSchemaLocation = *XML::Xercesc::SAXParser_setExternalSchemaLocation; +*setExternalNoNamespaceSchemaLocation = *XML::Xercesc::SAXParser_setExternalNoNamespaceSchemaLocation; +*setSecurityManager = *XML::Xercesc::SAXParser_setSecurityManager; +*setLoadExternalDTD = *XML::Xercesc::SAXParser_setLoadExternalDTD; +*cacheGrammarFromParse = *XML::Xercesc::SAXParser_cacheGrammarFromParse; +*useCachedGrammarInParse = *XML::Xercesc::SAXParser_useCachedGrammarInParse; +*setCalculateSrcOfs = *XML::Xercesc::SAXParser_setCalculateSrcOfs; +*setStandardUriConformant = *XML::Xercesc::SAXParser_setStandardUriConformant; +*useScanner = *XML::Xercesc::SAXParser_useScanner; +*setInputBufferSize = *XML::Xercesc::SAXParser_setInputBufferSize; +*setIgnoreCachedDTD = *XML::Xercesc::SAXParser_setIgnoreCachedDTD; +*setIgnoreAnnotations = *XML::Xercesc::SAXParser_setIgnoreAnnotations; +*setDisableDefaultEntityResolution = *XML::Xercesc::SAXParser_setDisableDefaultEntityResolution; +*setSkipDTDValidation = *XML::Xercesc::SAXParser_setSkipDTDValidation; +*installAdvDocHandler = *XML::Xercesc::SAXParser_installAdvDocHandler; +*removeAdvDocHandler = *XML::Xercesc::SAXParser_removeAdvDocHandler; +*parseFirst = *XML::Xercesc::SAXParser_parseFirst; +*parseNext = *XML::Xercesc::SAXParser_parseNext; +*parseReset = *XML::Xercesc::SAXParser_parseReset; +*loadGrammar = *XML::Xercesc::SAXParser_loadGrammar; +*resetCachedGrammarPool = *XML::Xercesc::SAXParser_resetCachedGrammarPool; +*parse = *XML::Xercesc::SAXParser_parse; +sub setDocumentHandler { + my ($self,$handler) = @_; + my $callback = XML::Xerces::PerlSAXCallbackHandler->new($handler); + $XML::Xerces::REMEMBER{tied(% {$self})}->{__DOCUMENT_HANDLER} = $callback; + + my @args = ($self,$callback); + return XML::Xercesc::SAXParser_setDocumentHandler(@args); +} + +*setDTDHandler = *XML::Xercesc::SAXParser_setDTDHandler; +sub setErrorHandler { + my ($self,$handler) = @_; + + + my $callback; + if (defined$handler) { + $callback = XML::Xerces::PerlErrorCallbackHandler->new($handler); + $XML::Xerces::REMEMBER{tied(% {$self})}->{__ERROR_HANDLER} = $callback; + } + return XML::Xercesc::SAXParser_setErrorHandler($self,$callback); +} + +*setPSVIHandler = *XML::Xercesc::SAXParser_setPSVIHandler; +sub setEntityResolver { + my ($self,$handler) = @_; + + + my $callback; + if (defined$handler) { + $callback = XML::Xerces::PerlEntityResolverHandler->new($handler); + $XML::Xerces::REMEMBER{tied(% {$self})}->{__ENTITY_RESOLVER} = $callback; + } + return XML::Xercesc::SAXParser_setEntityResolver($self,$callback); +} + +*setXMLEntityResolver = *XML::Xercesc::SAXParser_setXMLEntityResolver; +*error = *XML::Xercesc::SAXParser_error; +*resetErrors = *XML::Xercesc::SAXParser_resetErrors; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::SAX2XMLReader ############## + +package XML::Xerces::SAX2XMLReader; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +*Val_Never = *XML::Xercesc::SAX2XMLReader_Val_Never; +*Val_Always = *XML::Xercesc::SAX2XMLReader_Val_Always; +*Val_Auto = *XML::Xercesc::SAX2XMLReader_Val_Auto; +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_SAX2XMLReader($self); + delete $OWNER{$self}; + } +} + +*getContentHandler = *XML::Xercesc::SAX2XMLReader_getContentHandler; +*getDTDHandler = *XML::Xercesc::SAX2XMLReader_getDTDHandler; +*getFeature = *XML::Xercesc::SAX2XMLReader_getFeature; +*getProperty = *XML::Xercesc::SAX2XMLReader_getProperty; +sub setContentHandler { + my ($self,$handler) = @_; + my $callback = XML::Xerces::PerlSAXCallbackHandler->new($handler); + $XML::Xerces::REMEMBER{tied(% {$self})}->{__CONTENT_HANDLER} = $callback; + + my @args = ($self,$callback); + return XML::Xercesc::SAX2XMLReader_setContentHandler(@args); +} + +*setDTDHandler = *XML::Xercesc::SAX2XMLReader_setDTDHandler; +sub setEntityResolver { + my ($self,$handler) = @_; + + + my $callback; + if (defined$handler) { + $callback = XML::Xerces::PerlEntityResolverHandler->new($handler); + $XML::Xerces::REMEMBER{tied(% {$self})}->{__ENTITY_RESOLVER} = $callback; + } + return XML::Xercesc::SAX2XMLReader_setEntityResolver($self,$callback); +} + +sub setErrorHandler { + my ($self,$handler) = @_; + + + my $callback; + if (defined$handler) { + $callback = XML::Xerces::PerlErrorCallbackHandler->new($handler); + $XML::Xerces::REMEMBER{tied(% {$self})}->{__ERROR_HANDLER} = $callback; + } + return XML::Xercesc::SAX2XMLReader_setErrorHandler($self,$callback); +} + +*setFeature = *XML::Xercesc::SAX2XMLReader_setFeature; +*setProperty = *XML::Xercesc::SAX2XMLReader_setProperty; +*parse = *XML::Xercesc::SAX2XMLReader_parse; +*getDeclarationHandler = *XML::Xercesc::SAX2XMLReader_getDeclarationHandler; +*getLexicalHandler = *XML::Xercesc::SAX2XMLReader_getLexicalHandler; +*setDeclarationHandler = *XML::Xercesc::SAX2XMLReader_setDeclarationHandler; +*setLexicalHandler = *XML::Xercesc::SAX2XMLReader_setLexicalHandler; +*getValidator = *XML::Xercesc::SAX2XMLReader_getValidator; +*getErrorCount = *XML::Xercesc::SAX2XMLReader_getErrorCount; +*getExitOnFirstFatalError = *XML::Xercesc::SAX2XMLReader_getExitOnFirstFatalError; +*getValidationConstraintFatal = *XML::Xercesc::SAX2XMLReader_getValidationConstraintFatal; +*getGrammar = *XML::Xercesc::SAX2XMLReader_getGrammar; +*getRootGrammar = *XML::Xercesc::SAX2XMLReader_getRootGrammar; +*getURIText = *XML::Xercesc::SAX2XMLReader_getURIText; +*getSrcOffset = *XML::Xercesc::SAX2XMLReader_getSrcOffset; +*setValidator = *XML::Xercesc::SAX2XMLReader_setValidator; +*setExitOnFirstFatalError = *XML::Xercesc::SAX2XMLReader_setExitOnFirstFatalError; +*setValidationConstraintFatal = *XML::Xercesc::SAX2XMLReader_setValidationConstraintFatal; +*parseFirst = *XML::Xercesc::SAX2XMLReader_parseFirst; +*parseNext = *XML::Xercesc::SAX2XMLReader_parseNext; +*parseReset = *XML::Xercesc::SAX2XMLReader_parseReset; +*loadGrammar = *XML::Xercesc::SAX2XMLReader_loadGrammar; +*resetCachedGrammarPool = *XML::Xercesc::SAX2XMLReader_resetCachedGrammarPool; +*setInputBufferSize = *XML::Xercesc::SAX2XMLReader_setInputBufferSize; +*installAdvDocHandler = *XML::Xercesc::SAX2XMLReader_installAdvDocHandler; +*removeAdvDocHandler = *XML::Xercesc::SAX2XMLReader_removeAdvDocHandler; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::XMLReaderFactory ############## + +package XML::Xerces::XMLReaderFactory; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces ); +%OWNER = (); +*createXMLReader = *XML::Xercesc::XMLReaderFactory_createXMLReader; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : XML::Xerces::PerlSAXCallbackHandler ############## + +package XML::Xerces::PerlSAXCallbackHandler; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); [EMAIL PROTECTED] = qw( XML::Xerces::ContentHandler XML::Xerces::DocumentHandler XML::Xerces::PerlCallbackHandler XML::Xerces ); +%OWNER = (); +%ITERATORS = (); +sub new { + my $pkg = shift; + my $self = XML::Xercesc::new_PerlSAXCallbackHandler(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + XML::Xercesc::delete_PerlSAXCallbackHandler($self); + delete $OWNER{$self}; + } +} + +*type = *XML::Xercesc::PerlSAXCallbackHandler_type; +*characters = *XML::Xercesc::PerlSAXCallbackHandler_characters; +*processingInstruction = *XML::Xercesc::PerlSAXCallbackHandler_processingInstruction; +*setDocumentLocator = *XML::Xercesc::PerlSAXCallbackHandler_setDocumentLocator; +*startPrefixMapping = *XML::Xercesc::PerlSAXCallbackHandler_startPrefixMapping; +*endPrefixMapping = *XML::Xercesc::PerlSAXCallbackHandler_endPrefixMapping; +*skippedEntity = *XML::Xercesc::PerlSAXCallbackHandler_skippedEntity; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +# ------- VARIABLE STUBS -------- + +package XML::Xerces; + +1; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
