Hi, i tried different ways to transform a xml with a xsl. After parsing the xsl i did the following: Transform: 1. transformer.transform(new DOMSource(...), new DOMResult(...)) 2. transformer.transform(new StreamSource(...), new StreamResult(...)) 3. transformer.transform(new DOMSource(...), new StreamResult(...)) 4. transformer.transform(new StreamSource(...), new DOMResult(...)) All transformations worked without Exceptions and generated html. 2 & 4 produced the correct result (html code): COMP_SHORT_NAME (COMP_KEY) 1 & 3 failed with (values missing): () Stylesheet: <xsl:include xml:link="include" href = "../templates/parameters.xslt"/>
... <xsl:value-of select="COMPANY_LIST/[EMAIL PROTECTED]/[EMAIL PROTECTED]/SHORTNAME" />  <xsl:value-of select="concat(' (',$company,')')" /> <xsl:apply-templates select = "COMPANY_LIST" /> The parameters $language and $company are defined in the included stylesheet "parameters.xslt": <xsl:param name = "company"><xsl:apply-templates select = "*/PARAMETERS/[EMAIL PROTECTED]'company']/@value" /></xsl:param> <xsl:param name = "language"><xsl:apply-templates select = "*/PARAMETERS/[EMAIL PROTECTED]'language']/@value" /></xsl:param> Does anyone know why this happens ? The Document to be transformed contains an element to be transformed into html and a Parameter element to be used. Is the sequence of those blocks important ? Why   instead of ? (I'm new to XSL and and have to understand / improve those [very slow] stylesheets. Performance hints are welcome :-) ) Btw. I used javax.xml.transform.TransformerFactory and xalan.jar 2.4.1 & xercesImpl.jar + xml-apis.jar 2.2.0. One single Transformation in a standalone Test-Application, no concurrent Threads. Stefan