HTML5 विनिर्देशन के एक्स्टेंसिबिलिटी सेक्शन से उद्धरण :
मार्कअप स्तर की सुविधाओं के लिए जो XML क्रमांकन तक सीमित हो सकती हैं और HTML क्रमांकन में समर्थित नहीं होने की आवश्यकता होती है, विक्रेताओं को नामस्थान तंत्र का उपयोग कस्टम नामस्थान को परिभाषित करने के लिए करना चाहिए जिसमें गैर-मानक तत्व और विशेषताएँ समर्थित हैं।
यदि आप HTML5 के XML क्रमांकन का उपयोग कर रहे हैं, तो आपके लिए ऐसा कुछ करना कानूनी है:
<greeting xmlns="http://example.com/customNamespace">Hello!</greeting>
हालाँकि, यदि आप HTML सिंटैक्स का उपयोग कर रहे हैं, तो आप जो कर सकते हैं उसमें बहुत अधिक सीमित हैं।
HTML सिंटैक्स के साथ उपयोग के लिए इच्छित मार्कअप-स्तरीय विशेषताओं के लिए, एक्सटेंशन को "एक्स-वेंडर-फीचर" [...] के नए गुणों तक सीमित किया जाना चाहिए। नए तत्व नाम नहीं बनाए जाने चाहिए।
लेकिन उन निर्देशों को मुख्य रूप से ब्राउज़र विक्रेताओं पर निर्देशित किया जाता है, जो निश्चित रूप से जो भी कस्टम तत्व बनाने के लिए चुनते हैं, उनके लिए दृश्य स्टाइल और कार्यक्षमता प्रदान करेंगे।
एक लेखक के लिए, हालाँकि, यह पृष्ठ में एक कस्टम तत्व को एम्बेड करने के लिए कानूनी हो सकता है (कम से कम XML क्रमांकन में), आपको DOM में नोड से अधिक कुछ भी नहीं मिलने वाला है। यदि आप चाहते हैं कि आपका कस्टम तत्व वास्तव में कुछ करे, या कुछ विशेष तरीके से प्रस्तुत किया जाए, तो आपको कस्टम तत्वों के विनिर्देश को देखना चाहिए ।
इस विषय पर अधिक कोमल प्राइमर के लिए, वेब घटक परिचय पढ़ें , जिसमें शैडो डोम और अन्य संबंधित विनिर्देशों के बारे में जानकारी भी शामिल है। ये चश्मा अभी भी ड्राफ्ट काम कर रहे हैं - आप यहां वर्तमान स्थिति देख सकते हैं - लेकिन उन्हें सक्रिय रूप से विकसित किया जा रहा है।
उदाहरण के लिए, एक greeting
तत्व के लिए एक सरल परिभाषा कुछ इस तरह दिख सकती है:
<element name="greeting">
<template>
<style scoped>
span { color:gray; }
</style>
<span>Simon says:</span>
<q><content/></q>
</template>
</element>
यह ब्राउज़र को उद्धरण में तत्व सामग्री को प्रस्तुत करने के लिए कहता है, और "साइमन कहता है:" पाठ द्वारा उपसर्ग किया गया है, जिसे रंग ग्रे के साथ स्टाइल किया गया है। आमतौर पर इस तरह की एक कस्टम एलिमेंट परिभाषा को एक अलग HTML फ़ाइल में संग्रहीत किया जाएगा जिसे आप एक लिंक के साथ आयात करेंगे।
<link rel="import" href="greeting-definition.html" />
यद्यपि आप चाहें तो इसे इनलाइन भी शामिल कर सकते हैं।
मैंने पॉलिमर पॉलीफिल लाइब्रेरी का उपयोग करके उपरोक्त परिभाषा का एक कामकाजी प्रदर्शन बनाया है जिसे आप यहां देख सकते हैं । ध्यान दें कि यह पॉलिमर लाइब्रेरी के पुराने संस्करण का उपयोग कर रहा है - हाल के संस्करण काफी अलग तरीके से काम करते हैं। हालांकि, अभी भी विकास में कल्पना के साथ, यह कुछ ऐसा नहीं है जो मैं वैसे भी उत्पादन कोड में उपयोग करने की सलाह दूंगा।