SILCN emerged from commercial work undertaken to provide bespoke validation applications for XML documents. Buyers of these applications needed to apply tests to XML documents that could not be performed by existing XML constraint specification languages such as XML DTDs or existing schema languages.
Initially such applications were developed one by one using XML APIs (principally SAX [ref]). SILCN has emerged from a lengthy process of moving from this development model to one in which XML (rather than a conventional software development language) could be used to specify tests not available using DTDs or schema languages.
This specification has been reverse-engineered from an application of the technology as an XML quality assurance tool (in effect, a schema language). In practice, SILCN be used in any application where it is necessary to select, identify and process specific sets of common nodes in an XML document.