After reading document Configuration Pre-processor.
I just got some basic knowledge about it. and make summary here, hope someone could help to review it. and correct me if there is something wrong.
All the available
Pre-processorsare defined in the CCNetConfigBuilder.xsd.In this xsd . It just has
defineandscope2Pre-processors. (Did I missed something ?)From the ccnet.xsd. We can see the
CCNetConfigBuilder.xsdis imported and the elementcruisecontrolis the root element of configuration. like below. But I didn't know why the directiveimportdoesn't need the attributeschemaLocationto specify the location of the imported xsd file.<xs:import namespace="urn:ccnet.config.builder" /> <xs:element name="cruisecontrol">All the child elements of
cruisecontrolis a choice not sequence. like below:<xs:choice minOccurs="0" maxOccurs="unbounded">and
defineandscopecan occur under thecruisecontrolwithout specified order with other elements. but can't occur under the element likeproject. Right?I saw Document of Configuration_Preprocessor mention others elements like
cb:include,cb:ifdef,cb:else,cb:ifndefetc. But Why I can't find its definition in theCCNetConfigBuilder.xsd? Please tell me if I am missing something. Thanks.
I don't think the XSD documents have been well maintained as CruiseControl.NET has not been maintained for some time. The newer features of the configuration builder are not included in the XSD