2010-12-10 18 views
36

मैं एक्सएसएल लिख रहा हूं और मैं कोड के दौरान टिप्पणी करना चाहता हूं जो इसे संसाधित होने पर छीन लिया जाएगा, जैसे PHP, हालांकि मुझे यकीन नहीं है कि कैसे।एक्सएसएलटी में टिप्पणी कैसे करें और एचटीएमएल

मुझे टिप्पणी वस्तु से अवगत है, लेकिन संसाधित होने पर यह एक HTML टिप्पणी प्रिंट करता है। : \

<xsl:comment>comment</xsl:comment> 

उत्तर

81

आप मानक XML टिप्पणियों का उपयोग:

<!-- Comment --> 

ये XSLT ट्रांसफार्मर द्वारा संसाधित नहीं कर रहे हैं।

+0

+1 सही उत्तर के साथ ब्रैकेट करें। –

+0

बिल्कुल सही! धन्यवाद। –

-1

निश्चित रूप से। http://www.w3.org/TR/xslt#built-in-rule पढ़ें और फिर यह स्पष्ट होना चाहिए कि क्यों इस सरल स्टाइलशीट (अच्छी तरह से, चाहिए) क्या आप चाहते हैं जाएगा:

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

<xsl:template match="comment()"> 
    <xsl:copy/> 
</xsl:template> 

<xsl:template match="text()|@*"/> 

</xsl:stylesheet> 

प्रयास करें:

<xsl:template match="/"> 
    <xsl:for-each select="//comment()"> 
    <SRC_COMMENT> 
    <xsl:value-of select="."/> 
    </SRC_COMMENT> 
    </xsl:for-each> 
</xsl:template> 
or use a <xsl:comment ...> instruction for a more literal duplication of the source  document content in place of my <SRC_COMMENT> tag. 
11

बस सुनिश्चित करें कि आप अपने <!-- comments -->के बाद डाल कर उद्घाटन XML घोषणा (यदि आप एक है, जिसे आप वास्तव में जरूरत नहीं है का उपयोग करें):

टूट जाता है:

<!-- a comment --> 
<?xml version="1.0"?> 

काम करता है:

<?xml version="1.0"?> 
<!-- a comment --> 

मैं थोड़ा के लिए यह एक ही मुद्दे पर मेरे सिर खरोंच, जबकि किसी और के XSLT डिबगिंग ... स्पष्ट लगता है, लेकिन आसानी से अनदेखी की।

2

ध्यान दें कि टिप्पणियों के दोनों तरफ सफेद स्थान आउटपुट स्ट्रीम में समाप्त हो सकता है, आपके एक्सएसएलटी प्रोसेसर और सफेद-स्थान को संभालने के लिए इसकी सेटिंग्स के आधार पर। यदि यह आपके आउटपुट के लिए एक मुद्दा है, तो सुनिश्चित करें कि टिप्पणी xslt टैग द्वारा ब्रैकेट की गई है।

ईजी

<xsl:for-each select="someTag"> 
    <xsl:text>"</xsl:text> 
    <!-- output the id --> 
<xsl:value-of select="@id"/> 
<xsl:text>"</xsl:text> 
</xsl:for-each> 

विल उत्पादन "someTagID" (मांगपत्र टैब/टिप्पणी टैग के सामने रिक्त स्थान उत्पादन कर रहे हैं)। निकालने के लिए, या तो बाएं हाशिए के साथ फ्लश करें, या इसे

<xsl:text>"</xsl:text><!-- output the id --><xsl:value-of select="@id"/> 
संबंधित मुद्दे