protected final void loadXMLRules()

in commons-digester3-core/src/main/java/org/apache/commons/digester3/xmlrules/FromXmlRulesModule.java [90:120]


    protected final void loadXMLRules( final InputSource inputSource )
    {
        if ( inputSource == null )
        {
            throw new IllegalArgumentException( "Argument 'inputSource' must be not null" );
        }

        final String systemId = inputSource.getSystemId();
        if ( systemId != null && !systemIds.add( systemId ) )
        {
            addError( "XML rules file '%s' already bound", systemId );
        }

        final XmlRulesModule xmlRulesModule = new XmlRulesModule( new NameSpaceURIRulesBinder( rulesBinder() ),
                                                            getSystemIds(), rootPath );
        final Digester digester = newLoader( xmlRulesModule )
                .register( DIGESTER_PUBLIC_ID, xmlRulesDtdUrl.toString() )
                .setXIncludeAware( true )
                .setValidating( true )
                .newDigester();

        try
        {
            digester.parse( inputSource );
        }
        catch ( final Exception e )
        {
            addError( "Impossible to load XML defined in the InputSource '%s': %s", inputSource.getSystemId(),
                      e.getMessage() );
        }
    }