2010-03-08 16 views
8

मैं निम्नलिखित XSL हेडर के साथ xalan उपयोग कर रहा हूँ:मैं एक्सएसएल रूपांतरण को आउटपुट आउटपुट कैसे बना सकता हूं?

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    version="1.0" 
    xmlns:redirect="http://xml.apache.org/xalan/redirect" 
    extension-element-prefixes="redirect" 
    xmlns:xalan="http://xml.apache.org/xalan"> 
<xsl:output method="text" indent="yes" xalan:indent-amount="4"/> 

और उत्पादन इंडेंट नहीं है।

विचारों वाला कोई भी व्यक्ति?

+0

मैं Notepad में XSL उपकरण का उपयोग किया गया था ++ को हटाने। जब मैं अपने xsl में टाइपो था तो आउटपुट को इंडेंट करने में विफल रहा। सत्यापित करें कि आपकी एक्सएसएल फ़ाइल में सही वाक्यविन्यास है। – flobadob

उत्तर

17

खरोज के लिए आप एक अलग नाम स्थान उपयोग करने की आवश्यकता -संपर्क।

<xsl:stylesheet ... xmlns:xslt="http://xml.apache.org/xslt"> 
<xsl:output ... indent="yes" xslt:indent-amount="4" /> 

यह xalan (जावा) 2.7.1 के साथ मेरे लिए काम करता है: मैं निम्नलिखित (के रूप में एड Knoll 13/अगस्त/04 द्वारा प्रस्तावित) का इस्तेमाल किया।

कुंजी जोड़ने के लिए <xsl:strip-space elements="*"/>

तो यह इस तरह दिखेगा था:

+0

xalan नाम स्थान तरह-की ' – TWiStErRob

+0

https://xalan.apache.org/xalan-j/apidocs/org/apache/xml/serializer/OutputPropertiesFactory.html पर http प्रलेखित है: // xml.apache.org/xslt' था पुराने संस्करण में भी बहिष्कृत (देखें [xalan नेमस्पेस घोषित करें] (https://xalan.apache.org/old/xalan-j/extensions.html)), 'http://xml.apache.org/xalan का उपयोग करें 'बदले। – TWiStErRob

2

मैं तुम्हें methodxml को सेट करने के लिए लगता है। यदि वह काम नहीं करता है, निम्न प्रयास करें: जारी करने के लिए धन्यवाद "http://xml.apache.org/xslt" (this issue देख)

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="1.0" 
xmlns:redirect="http://xml.apache.org/xalan/redirect" 
extension-element-prefixes="redirect" 
xmlns:xalan="http://xml.apache.org/xslt"> 
<xsl:output method="xml" indent="yes" xalan:indent-amount="4"/> 
+0

दुर्भाग्यवश यह काम नहीं करता है :( – Vincent

+0

क्या यह संभव है कि आप एक ऐसे अनुप्रयोग के साथ एक्सएमएल देख रहे हैं जो सामग्री को उचित रूप से प्रस्तुत नहीं करता है? – thelost

+0

मैं कंसोल पर परिवर्तन को आउटपुट कर रहा हूं – Vincent

5

जिरका-x1,:

<?xml version="1.0" encoding="UTF-8"?> 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"> 

<xsl:output method="xml" encoding="UTF-8" indent="yes" xalan:indent-amount="4"/> 
8

थोड़ी देर के लिए इस के साथ संघर्ष कर रहा था, हालांकि अभी यह गलती से काम कर मिल गया

<xsl:stylesheet 
    version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:java="http://xml.apache.org/xalan/java" 
    xmlns:xalan="http://xml.apache.org/xslt"> 
<xsl:output method="xml" encoding="ASCII" indent="yes" xalan:indent-amount="4"/> 
<xsl:strip-space elements="*"/> 

सुनिश्चित नहीं हैं कि क्यों , लेकिन शायद सभी whitespacing खरोज बाहर xalan आंकड़ा मदद करता है

+0

' xsl के बिना: स्ट्रिप-स्पेस [@elements = "*"] ', xsl आउटपुट में इनपुट से व्हाइटस्पेस नोड्स को संरक्षित करने की कोशिश कर रहा है। – Timothy

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