2011-01-17 24 views
5

मेरे पास websphere5 के तहत एक साधारण वेब एप्लिकेशन है। appDir\WEB-INF\classes\ के तहत मैं इन फ़ाइलों है:एक्सएसएल आयात वेब अनुप्रयोग में FileNotFoundException का कारण बनता है

  • main.xslt
  • templates.xslt

main.xslt अनुदेश

<xsl:import href="templates.xsl" /> 

होता है, लेकिन जब main.xslt जावा कोड में प्रयोग किया जाता है आवेदन विफल रहता है। अगर मैं सभी एक ही फ़ोल्डर में हैं (WEB-INF\classes\) तो आयातित XSL फ़ाइलों के पथ को मुझे कैसे निर्दिष्ट करना चाहिए? अपवाद के

पाठ:

java.io.FileNotFoundException: d: \ Program Files \ WebSphere \ AppServer1 \ templates.xsl (। प्रणाली निर्दिष्ट फ़ाइल नहीं मिल सकता है )

उत्तर

3

आपको शामिल करने के लिए कस्टम यूरी-रिज़ॉल्यूवर प्रदान करने की आवश्यकता है। किसी वेब एप्लिकेशन में, कोई गारंटी नहीं है कि एक फाइल सिस्टम पहुंच योग्य है, क्योंकि आप एक WAR फ़ाइल से बाहर हो सकते हैं। javax.xml.transform.URIResolver इंटरफेस पर एक नज़र और Transformer.setURIResolver()

+2

सही लेकिन सामान्य उत्तर, अनुपस्थित स्पष्टीकरण: 'xsl: import' घोषणा के लिए सापेक्ष uri स्टाइलशीट यूआरआई बेस बेस के रूप में हल किया जाएगा। क्या एक्सएसएलटी प्रोसेसर उस यूआरआई योजना को संभाल सकता है या उसके पास सही विशेषाधिकार हैं, यह एक और मुद्दा है। प्रेषक: http://www.w3.org/TR/xslt#import * 'xsl: import' तत्व में' href' विशेषता है जिसका मान एक यूआरआई संदर्भ है जिसे स्टाइलशीट आयात करने के लिए पहचानना है। 'एक्सएसएल: आयात' तत्व के आधार यूआरआई के सापेक्ष एक सापेक्ष यूआरआई हल किया गया है * –

संबंधित मुद्दे