दिलचस्प पोस्ट
सूची की दीप प्रतिलिपि <T> आउटपुट यूनिकोड को कंसोल करने के लिए, विंडोज में सी ++ का उपयोग करना दूरस्थ कंप्यूटर में कमांड को कैसे निष्पादित करें? जावा एप्लिकेशन को पुनरारंभ कैसे कर सकता हूं? Wcf में कच्चे जेसन (स्ट्रिंग) लौट रहा है जीमेल विस्तार, पृष्ठ संदर्भ से पृष्ठभूमि में संदेश भेजें Android पर ListView आइटम का पृष्ठभूमि का रंग बदलना रनटाइम पर एक जार फ़ाइल कैसे लोड करें AngularJS छिपा क्षेत्र मान नहीं भेजता है स्तंभों में पंक्तियों को कैसे धुएं (कस्टम धुरी) AngularJS: कैसे सेवा चर को देखने के लिए? मैं नए PostgreSQL JSON डेटाटाइप के अंदर फ़ील्ड कैसे संशोधित करूं? जब कोई एक संघ का उपयोग करेगा? क्या सी-केवल दिनों में यह शेष है? मैं MySQL रूट उपयोगकर्ता के पूर्ण विशेषाधिकार को कैसे पुनर्स्थापित कर सकता हूं? मैं बीच में कैसे सेट कर सकता हूं?

XSLT के साथ एचटीएमएल 5 मतप्रणाली सेट करें

मैं एचटीएमएल 5 <!DOCTYPE html> XSLT के माध्यम से (इस मामले में सामूहिक.एक्सडीवी के साथ) को एक फ़ाइल के सिद्धांत को कैसे साफ रूप से सेट करूँगा <!DOCTYPE html>

निम्न, जो सबसे अच्छा मेरी Google foo है, को ढूंढने में सक्षम है:

 <xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" /> 

पैदा करता है:

 <!DOCTYPE html PUBLIC "XSLT-compat" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

वेब के समाधान से एकत्रित समाधान "XSLT के साथ एचटीएमएल 5 मतप्रणाली सेट करें"

मुझे लगता है कि यह वर्तमान में केवल पाठ के रूप में कार्यप्रणाली लिखकर समर्थित है:

 <?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" encoding="utf-8" indent="yes" /> <xsl:template match="/"> <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text> <html> </html> </xsl:template> </xsl:stylesheet> 

यह निम्नलिखित आउटपुट का उत्पादन करेगा:

 <!DOCTYPE html> <html> </html> 

सरल एचटीएमएल doctype <!DOCTYPE html> का उपयोग करने के लिए, आपको disable-output-escaping सुविधा का उपयोग करना है: <xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html&gt;</xsl:text> । हालांकि, disable-output-escaping XSLT में एक वैकल्पिक सुविधा है, इसलिए आपका XSLT इंजन या क्रमबद्धकरण पाइपलाइन इसका समर्थन नहीं कर सकता है

इस कारण से, एचटीएमएल 5 HTML5-अनजान XSLT संस्करणों (अर्थात सभी XSLT के मौजूदा संस्करणों) के साथ अनुकूलता के लिए एक वैकल्पिक सिद्धांत प्रदान करता है और अन्य सिस्टम जिनके पास एक ही समस्या है। वैकल्पिक सिद्धांत <!DOCTYPE html SYSTEM "about:legacy-compat"> । इस कार्यप्रणाली को आउटपुट करने के लिए, doctype-system="about:legacy-compat" पर xsl:output एलीमेंट पर एक doctype-public एट्रिब्यूट का उपयोग किए बिना उपयोग करें।

 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" doctype-system="about:legacy-compat"/> ... <html> </html> </xsl:stylesheet> 
 <xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" /> 

यह आउटपुट

 <!DOCTYPE html SYSTEM "about:legacy-compat"> 

इसे http://ukchill.com/technology/generating-html5-using-xslt/ पर मेरे ठीक के रूप में संशोधित किया गया है

सैकॉन 9.4 के साथ आप इसका उपयोग कर सकते हैं:

 <xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" /> 

यह उत्पन्न करता है:

 <!DOCTYPE HTML> 

Doctype-system के बजाय doctype-system का उपयोग करें

यदि आप एचटीएमएल 5 के साथ एक्सएचटीएमएल आउटपुट सुसंगत बनाना चाहते हैं, तो आपको एक्सएचटीएमएल 1.0 सख्त का उपयोग करना चाहिए , एचटीएमएलएक्स के लिम्बेक्समल 2 के एक्सएमएल सीरियललाइजर के पास एक्सएचटीएमएल 1.0 कूटप्रद द्वारा ट्रिगर एक विशेष आउटपुट मोड है जो सुनिश्चित करता है कि आउटपुट एक्सएचटीएमएल संगत है (जैसे <br /> <br/> , <div></div> बजाय <div/> )। doctype-system="about:legacy-compat" इस संगतता मोड को ट्रिगर नहीं करता

यदि आप HTML आउटपुट के साथ खुश हैं, तो <xsl:output method="html"> को सही काम करना चाहिए आप <xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html&gt;</xsl:text> साथ doctype सेट कर सकते हैं, हालांकि यह उचित स्थान पर प्लंबिंग की आवश्यकता होगी क्योंकि XDV इस का समर्थन नहीं करता अभी तक।

वास्तव में ऐसा लगता है कि <xsl:output method="html"/> वास्तव में या तो मदद नहीं करता है – इसका परिणाम <br/> रूप में आउटपुट के रूप में होगा <br></br>

जर्का कुसेक की सलाह के इस बदलाव, Plone.org पर उन्नत XDV थीमिंग के माध्यम से, मेरे लिए सामूहिक.एक्सडीवी में काम करते हैं।

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

यह एक टिप्पणी है, लेकिन मेरे पास पर्याप्त स्थान नहीं है, जो इसे सही जगह पर डालते हैं। आह।

मैं इसकी सराहना करता हूं कि यह संभवतः सही है, मानदंडों को पूरा करने के लिए जिस तरह मैं चाहता हूं (मैंने इसे ऊपर उठाया है)। लेकिन पूर्व समर्थित नहीं है (मेरा प्रोसेसर गिरता है) और बाद के परिणाम अब भी मेरे सिद्धांत में " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " में हैं। जैसा कि ज़िरका कोस्क ने सुझाया, मुझे लगता है कि मेरा एक्सएसएलटी प्रोसेसर टूट सकता है।

नहीं, आपका XSLT प्रोसेसर टूटा हुआ नहीं है, बस यही है कि XDV जोड़ता है:

<xsl:output method="xml" indent="no" omit-xml-declaration="yes" media-type="text/html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>

डिफ़ॉल्ट रूप से, इसलिए जब आप दूसरा <xsl:output doctype-system="about:legacy-compat"/> पिछले doctype-public ओवरराइट नहीं जोड़ते हैं

ध्यान दें कि एक्सएचटीएमएल 1.0 सख्त को अप्रचलित अनुमत डॉकटाइप स्ट्रिंग के रूप में सूचीबद्ध किया गया है, इसलिए यह इस सिद्धांत का उपयोग करने के लिए पूरी तरह से स्वीकार्य है और इसे अभी भी HTML5 कहते हैं

केवल लिंक प्रदान करने के लिए क्षमा करें, लेकिन WHATWG समूह के बीच इस पर चर्चा हुई थी, लेकिन इसके कई महीनों बाद मैंने इसके साथ काम किया है। यहां इयान हिक्सन और कुछ एक्सएमएल विशेषज्ञ इस पर चर्चा करते हैं:
http://lists.w3.org/Archives/Public/public-html/2009Jan/0640.html
http://markmail.org/message/64aykbbsfzlbidzl
और यहां वास्तविक समस्या संख्या है:
http://www.w3.org/html/wg/tracker/issues/54
और यहाँ यह चर्चा है
http://www.contentwithstyle.co.uk/content/xslt-and-html-5-problems

यदि html5.xml रूप में सहेजा गया है तो निम्न कोड एक स्टैंडअलोन टेम्पलेट के रूप में कार्य करेगा:

 <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="html5.xml"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" > <xsl:output method="xml" encoding="utf-8" version="" indent="yes" standalone="no" media-type="text/html" omit-xml-declaration="no" doctype-system="about:legacy-compat" /> <xsl:template match="xsl:stylesheet"> <xsl:apply-templates/> </xsl:template> <xsl:template match="/"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> </head> <body> <xsl:text>hi</xsl:text> </body> </html> </xsl:template> </xsl:stylesheet> 

संदर्भ

  • पॉलीग्लॉट मार्कअप: डॉकटाइप

यही मैं एक संगत html5 doctype उत्पन्न करने के लिए उपयोग किया है (saxons एचटीएमएल बाहर हो रही है, अन्यथा विरासत बात कर रही है)

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/REC-html40"> <xsl:output method="html" version="5.0" doctype-system="about:legacy-compat" encoding="UTF-8" indent="yes" />