All SILCN documents are well-formed XML documents conforming to W3C XML. All SILCN elements specified here are in the XML Namespace http://silcn.org/200309, in conformance to W3C XML-Names.
SILCN has a grammar defined with a so-called 'open schema', meaning the content models for some SILCN elements allow 'points of opportunity' for the insertion of well-balanced application-specific XML content. Any XML elements in such content must not be within the SILCN Namespace.
Some structures are common to both the parts of the SILCN language specification:
the top-level silcn element;
the version element;
the expression-language-declaration element;
the namespace-declaration element;
the id element;
the expression element.
The content of the version element identifies the version of SILCN that applies to any SILCN document. For SILCN 1.0 this element's content must be the literal string 1.0.
SILCN does not specify that any particular expression language be used for expressing either selection criteria, or location information, for nodes in an XML document. The expression language to use is given indirectly using the expression-language-declaration element. Its content specifies an expression language that the content of any expression elements will conform to.
The expression-language-declaration element contains an initial name element, which names the expression language, followed by any well-balanced content.
In SILCN documents an XML Namespace URI may be bound to a Namespace prefix for use in embedded XML processing languages.
To do this the namespace-declaration element is used: its two child elements (prefix and uri) are used to make the binding.
The id element is used within SILCN documents to model identifier values. In any SILCN document, no two id elements may have the same content.