2010-07-31 34 views
12

मैं xsl फ़ाइल में सीएसएस कैसे कार्यान्वित करूं? मैं इस की कोशिश की:सीएसएस

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<link rel="stylesheet" type="text/css" href="dxsl.css"/> 
<xsl:output method="html" /> 

लेकिन यह त्रुटि फेंक दिया:

XSLTProcessor::importStylesheet(): Found a top-level element link with null namespace URI 

और

Warning: XSLTProcessor::transformToXml(): No stylesheet associated to this object 
+0

मुझे लगता है कि यह एक XSLT सवाल लेकिन एक HTML सवाल नहीं है। यदि आप एक्सएमएल से एचटीएमएल में एक रूपांतरण चलाते हैं तो ¿आप 'लिंक' तत्व कहां आउटपुट करते हैं? –

उत्तर

0

'क्लिक' एक HTML तत्व है और आप एक XML के रूप में उपयोग करने के लिए कोशिश कर रहे हैं एक। एक्सएसएल दूसरे दस्तावेज़ में इनपुट को संशोधित करता है। आप एक एक्सएसएल फ़ाइल में सीएसएस का उपयोग नहीं करते हैं। आप इसे एक (एक्स) एचटीएमएल फ़ाइल में डालते हैं और इसे वहां लागू करते हैं।

+0

धन्यवाद, लेकिन मुझे यह काम मिल गया। यह xsl फ़ाइल में मुख्य तत्व के ठीक बाद होना चाहिए। 'Http: // www.velocityreviews.com/फ़ोरम/t166257-लिंकिंग-टु-ए-अलग-सीएसएस-इन-xsl.html' – input

+0

हाँ, क्योंकि एक बार सिर के अंदर, आप HTML नाम स्थान में हैं। – Rob

2

अगर मैं तुम्हें सही ढंग से समझ, आप उत्पादन एक विशेष स्टाइलशीट है करने के लिए के लिए करना चाहते हैं?

XSL एक से दूसरे प्रारूप से XML को बदलने के लिए (भावना यह CSS स्टाइलशीट लागू करने की तरह है में) का इस्तेमाल किया एक भाषा है। एक सामान्य उपयोग मामले में क्या होगा यह है कि आप कुछ एक्सएमएल फाइल ले लेंगे और एक्सएसएचएल को एक्सएचटीएमएल में बदलने के लिए इसका इस्तेमाल करेंगे। इस आउटपुट में, यदि आप चाहें तो लिंक तत्व का उपयोग करके स्टाइलशीट को शामिल कर सकते हैं, लेकिन एक्सएसएल वास्तव में सीएसएस का उपयोग नहीं करता है। (इसलिए मूल रूप से, XSML में एक्सएसएचएल में एक्सएचटीएमएल आउटपुट का उपयोग करने के लिए रूपांतरण के हिस्से के रूप में डालने का प्रयास करें।)

यदि यह एक एक्सएमएल दस्तावेज़ है तो आपको बस एक्सएसएल के संदर्भ को शामिल करने की आवश्यकता है और इसे संभालना चाहिए स्वचालित रूप से आपके लिए परिवर्तन।

+0

अंत में, अब मैं समझ क्या चल रहा है ... अच्छा जवाब (यदि आप .xsl फ़ाइल में HTML तत्वों है, वहाँ सामान्य HTML के रूप टैग के तहत सीएसएस href लिंक जोड़ने के लिए आवश्यक कार्रवाई है, क्योंकि के रूप में उत्पादन XHTML की लाइन के लिए होता है परिणामस्वरूप सीएसएस फ़ाइल आयात करें) –

1

लिंक XSL टेम्पलेट के अंदर होना चाहिए।

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:output method="html" /> 

<xsl:template match="/*//*[1]"> 

    <link rel="stylesheet" type="text/css" href="dxsl.css"/> 

</xsl:template> 

</xsl:stylesheet> 
+0

यदि आप xml को xml में बदलने के लिए xsl लागू कर रहे हैं तो यह समझ में नहीं आता है। – Dmitry

+2

फिर यह एक अच्छी बात है कि प्रश्न xml से html में बदलने के बारे में था। –

-1

जैसा कि एक और उत्तर ने कहा, लिंक ट्रांसफॉर्म द्वारा उत्पन्न किया जाना चाहिए। यहां एक उदाहरण दिया गया है जो एक साधारण HTML दस्तावेज़ से सीएसएस के लिंक के साथ एक छोटा HTML दस्तावेज़ उत्पन्न करता है। सीएसएस पथ डेटा से भी आता है।

Try this