Hi Micheal, Here is the basic idea I have to implement xml:id component. Implementing xml:id support as a separate component be the xml:id processor. And it will implement the following requirements.
1. Normalize the value of each xml:id attribute. Normalize each xml:id attributes according to the ID type attributes normalization rules [1] and then The infoset normalized value property is updated with the normalized value. 2. Perform ID type assignment with the normalized value (in other words give it an ID type if it doesn't already have one). This can be done by making the type of the attribute "ID" in the infoset or post schema validation infoset (PSVI) and I think org.apache.xerces.xs package me be useful to do this. 3. Report an error if the constraints on the xml:id are violated (in other words validate the xml:id). For validating has to be done in DTD, XML Schema and RELAX NG based validating techniques. 4. Pass the processed xml:id attribute (and other XNI events) to the next component in the pipeline. XNI information set events that are generated by the scanner is taking as the input of the processor and the processed event is passing to the next component in the pipeline. Could you tell me whether my approach is ok or the required modifications here. Any existing component can be use to model this module. (At the moment I checked how xinclude component works) And any reference to study how normal attributes are normalized and forward to the next component is implemented in Xerces. Thank you. Ishara Karunarathna. [1] http://www.w3.org/TR/REC-xml/#AVNormalize