2008-09-26 13 views
6


मैं जिस एक्सएसएल फ़ाइल का अनुवाद कर रहा हूं वह <xsl:import href="script.xsl"/> निर्देश शामिल है। अगर मैं पूर्ण यूआरएल (http://localhost/mysite/script.xsl) का उपयोग करता हूं, तो यह स्टाइल शीट ठीक आयात करता है; हालांकि, अगर मैं सापेक्ष पथ (script.xsl) का उपयोग करता हूं तो यह "संसाधन नहीं मिला" रिपोर्ट करता है। मुझे मशीनों के एक सेट के बीच इसे बंद करने में सक्षम होना चाहिए, इसलिए मुझे सापेक्ष यूआरआई का उपयोग करने में सक्षम होना चाहिए। कोई सुझाव?सापेक्ष पथ: आयात या XSL: मैं एक XSLT एक XML वस्तु पर परिणत करने के लिए VBScript का उपयोग करने के कोशिश कर रहा हूँ शामिल

नोट्स:

  • VBScript फ़ाइल http://localhost/myscript.asp
  • पहले XSL फ़ाइल में है http://localhost/mysite/styles.xsl
  • दूसरा XSL फ़ाइल में http://localhost/mysite/script.xsl
  • रिश्तेदार पथ mysite/script.xsl का उपयोग करने में है भी काम नहीं करता है

परिशिष्ट:

धन्यवाद, हर कोई, आपके उत्तरों के लिए। जितना अधिक मैं कोड कर रहा हूं वह यह कर रहा है, यह अजनबी है। myscript.asp कोड का एक असामान्य संकलन है। क्या होता है styles.xsl एक एक्सएमएल हिस्सा (<xml src=...>) और फिर उस हिस्सा एक स्टाइलशीट के रूप में भरी हुई है, VBScript का उपयोग कर, ग्राहक के पक्ष के रूप में myscript.asp के HTML आउटपुट में शामिल किया जाता है। इस स्टाइलशीट को एक्सएमएलएचटीटीपी के माध्यम से पुनः प्राप्त किए गए एक्सएमएल खंड को बदलने के लिए प्रयोग किया जाता है। तो समस्या styles.xsl का संदर्भ क्लाइंट पक्ष पर HTML है और script.xsl कहां से कोई संबंध नहीं है।

+0

myscript.asp के लिए कोड पोस्ट करने का कोई मौका? क्या myscript.asp http: //localhost/myscript.asp या http: //localhost/mysite/myscript.asp पर रहता है? – Kev

उत्तर

0

प्रथम प्रयास:

मैं और एक अन्य एक्सएमएल हिस्सा के रूप में script.xsl सहित हर तरह से मैं कल्पना कर सकता है, लेकिन सफलता नहीं मिली इंपोर्ट स्टेटमेंट को बदलने की कोशिश की।

अंतिम समाधान:

के बाद से script.xsl includeing के लिए संपूर्ण url शुरू से ही काम किया, मेरा अंतिम समाधान सही doctype साथ style.asp को style.xsl कन्वर्ट करने के लिए किया गया था। इस फ़ाइल में मैं सर्वर नाम, प्रोटोकॉल और पथ को पुनः प्राप्त करने में सक्षम था और एएसपी का उपयोग करके आयात विवरण में उन्हें सही जगह पर गूंज सकता था। फिर, जब यह फ़ाइल mysscript.asp में शामिल हो गई, तो उसके पास सर्वर के लिए सही पूर्ण यूआरएल था। यह एक हैक का थोड़ा सा है, लेकिन मुझे एकमात्र तरीका यह हल करने की स्थिति को हल करने के लिए मिला।

+3

लेकिन, लेकिन .... जो समाधान के रूप में बेकार है :( – Kimi

0

क्या यह संभव है कि "वर्तमान निर्देशिका" सापेक्ष पथ के उद्देश्य से आपके एएसपी पेज नहीं, बल्कि आपके XSL फ़ाइल का स्थान हो सकता है? दूसरे शब्दों में, अगर आप पहले से ही है, तो आप कोशिश कर सकते हैं:

<xsl:import href="mysite/script.xsl"/> 
+0

कोशिश की। काम नहीं किया – alumb

1

XSL के लिए वर्तमान निर्देशिका: आयात, XSL: शामिल हैं, और दस्तावेज़() फ़ंक्शन को बदलने कि उन्हें का उपयोग करता युक्त निर्देशिका है। तो xsl: आयात निर्देश जो आपने कहा है कि आप उपयोग कर रहे हैं काम करना चाहिए।

केवल एक चीज जिसे मैं सोच सकता हूं इससे प्रभावित हो सकता है: यदि आप किसी रिश्तेदार पथ का उपयोग करते हैं, तो फ़ाइल को सीधे फाइल सिस्टम से पढ़ा जा रहा है, जबकि यदि आप एक पूर्ण यूआरआई का उपयोग करते हैं, तो इसे वेब सर्वर से पुनर्प्राप्त किया जा रहा है। क्या यह संभव है कि कुछ सुरक्षा सेटिंग है जो स्क्रिप्ट को इस निर्देशिका में फ़ाइलों को पढ़ने से रोक रही है?

1

@Jon मुझे लगता है कि तुम बहुत करीब हैं ... लेकिन यह नहीं होना चाहिए ...

<xsl:import href="/mysite/script.xsl"/> 

... एक अग्रणी स्लैश के साथ?

0

मैं अक्सर इस समस्या में पड़ क्योंकि वहाँ एक पुस्तकालय मैं नहीं देख सकते हैं (या के बारे में क्योंकि मैं उचित दस्तावेज़ पढ़ नहीं था पता नहीं है।) द्वारा किया जा रहा एक कस्टम यूआरआई समाधानकर्ता मैं अगर याद नहीं कर सकते यह कल्पना है या नहीं बल्कि सैक्सन/जावा दुनिया में, कस्टम यूआरआई रिज़ॉल्वर को यूआरआई को शामिल/आयात विवरणों के साथ-साथ दस्तावेज़() फ़ंक्शन के लिए हल करने की कोशिश में पहली दरार मिलती है। यदि यह यूआरआई को हल नहीं कर सकता है, तो एक डिफ़ॉल्ट यूआरआई रिज़ॉल्वर इसे आज़माता है, जो आमतौर पर यूआरआई पूर्ण होने पर कभी याद नहीं करता है।

तो, यह शायद एएसपी इंजन है कि एप्लिकेशन संदर्भ के आधार पर एक संदर्भ संचालित यूआरआई समाधानकर्ता उपयोग कर रहा है में कुछ है।

-1

आपको एक चर की आवश्यकता है जो जेएस, छवि या सीएसएस फ़ाइलों को लोड करते समय दृष्टिकोण या वेबूट को परिभाषित करता है।

<xsl:import href="{$approot}/somedir/script.xsl"/> 

या आप

<xsl:import href="{/root/@approot}/somedir/script.xsl"/> 
+0

यह xsl के लिए काम नहीं करता है: आयात, यह