XML is becoming the dominant standard for representing and exchanging data on the World Wide Web. The ability to transform and present data in XML is crucial and XSLT (Extensible Stylesheet Language Transformations) is the principal programming language that supports this activity. Methods for analysis of XSLT programs are currently an important open issue. . In this paper, we discuss new methods for analysing XSLT programs, which return information about reachability, invalid calling relationships and termination properties. Our methods are based on the determination of the associations which can exist between components of an XSLT program, refined by the knowledge from a DTD. Such analysis is important for debugging and verification of XSLT programs and also their optimisation.