Possible conflict between code and config XML schema

So I determined that my custom interception points were not loading.

Defined thusly:
  <Interceptors>
    <CustomInterceptionPoints>mySpecialIntPoint</

This validates against the schema. Since my events weren't firing, I
went into the /system/web/load/XMLApplicationLoader.cfc, to line 993.
Before the code of "if ( arrayLen(customInterceptionPoints)...." I
inserted
  writeDump(var=customInterceptionPoints, expand=true, abort=true);

When I do the XML as above, the array is empty. When I change to a
lower case "c" in the <customInterceptionPoint> XML tag, the array is
populated!

Unfortunately, when I remove the writeDump(), I get a schema
validation error because I did a lower case "c".

1. This is a bug, right?
and
2. Why is the config file being read from and utilized before it's
validated? Wouldn't that be the FIRST thing that get's done?

- Will B.

what version are you using?

The code is: CustomInterceptionPoints

Which is what the XSD should validate too. It has to be case sensitive.

Luis F. Majano
President
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

Latest download from site. Confirmed just now to author this reply.

In /system/config/config.xsd, line 419, note the capital "C" in the
name attribute:
  <xs:element maxOccurs="1" minOccurs="0"
name="CustomInterceptionPoints" type="xs:string" default="">

In /system/web/loader/XMLApplicationLoader.cfc, line 992, note the
lower case c in //Interceptors/customInterceptionPoints
   customInterceptionPoints = XMLSearch(arguments.xml,"//Interceptors/
customInterceptionPoints");

Right? Doesn't this indicate a conflict? Or has XMLSearch() possibly
become case-sensitive in CF9 but maybe wasn't in CF8?

- Will B.

Yea, the SVN version is fixed on this, not the beta release.

// Custom Interception Points
customInterceptionPoints = XMLSearch(arguments.xml,"//Interceptors/CustomInterceptionPoints");
if( arraylen(customInterceptionPoints) ){
configStruct.interceptorConfig.customInterceptionPoints = oUtil.placeHolderReplacer(Trim(customInterceptionPoints[1].XMLText),configStruct);
}

Luis F. Majano
President
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com