2012-05-14 14 views

उत्तर

19

एक्सएचटीएमएल कोड में, कोई वेबपृष्ठ में शामिल अन्य एक्सएमएल-आधारित भाषाओं को अलग करने के लिए नेमस्पेस का उपयोग कर सकता है। यहां, नाम "svg" नाम "svg" टैग से पहले उपयोग किया जाता है।

namespace:tagname 

इस मामले में उपयोगी हो सकता है दो टैग (उदाहरण के लिए, XHTML और एसवीजी में) एक ही नाम है और आप बिल्कुल आप किस का उल्लेख निर्दिष्ट करना चाहते हैं। टैग xmlns विशेषता के साथ निर्दिष्ट किया जा सकता है। आप जानते हैं, XHTML दस्तावेजों

<html xmlns="http://www.w3.org/1999/xhtml"> 

के साथ शुरू आप के रूप में

<html xmlns:prefix="http://www.w3.org/1999/xhtml"> 

उपसर्ग निर्दिष्ट कर सकता है और फिर आप इस्तेमाल करेंगे

<prefix:head> 
    <prefix:title></prefix:title> 
</prefix:head> 

इसी तरह आप

<svg xmlns="http://www.w3.org/2000/svg"> 
उपयोग कर सकते हैं

बसके बजायजब आपके svg ग्राफिक सहित। फिर सभी svg टैग svgprefix उपसर्ग के साथ शुरू होंगे। हालांकि अगर आपके पास बच्चे एसवीजी नोड्स हैं, तो उन्हें परिभाषित करने के लिए xmlns विशेषता भी चाहिए। ऐसे मामले में, उपसर्ग को परिभाषित करना शायद आसान होगा।

+1

डाउनवॉटेड; हालांकि यह जानकारी सही और संबंधित है, ओपी का प्रश्न जावास्क्रिप्ट स्ट्रिंग से संबंधित है जिसमें डी 3.जेएस में विशिष्ट अनुप्रयोग है, एक्सएमएल मार्कअप नहीं। – Phrogz

+3

@ प्रागोज मैं सम्मान से असहमत हूं। सवाल उठाया गया है: "svg क्या है: svg?" और मैंने वास्तव में उस सवाल का जवाब दिया, जिसके परिणामस्वरूप इस उत्तर को स्वीकार किया जा रहा था। ओप का कहना है कि उन्होंने इसे डी 3 और एचटीएमएल कोड में देखा, न केवल डी 3 के रूप में। ऐसा लगता है कि सेशन को पता है कि 'संलग्न करें' कार्यों को टैगनाम मिलता है, केवल यह नहीं पता था कि किस प्रकार का टैगनाम 'svg: svg' है, यह एक एसवीजी प्लगइन होने का अनुमान लगा रहा है।आप यह नहीं कह सकते कि यह एक जेएस मुद्दा है, क्योंकि सवाल 'जावास्क्रिप्ट' टैग नहीं किया गया था। – Imp

+0

मैं आपकी सम्मानजनक असहमति का सम्मान करता हूं। :) प्रश्न में कोड '.append ("svg: svg") 'D3.js के उल्लेख के साथ यह स्पष्ट रूप से कोडिंग प्रश्न बनाता है। हालांकि, इसे "HTML में" देखने के बारे में आपका अच्छा बिंदु दिया गया है, मैं अपना डाउनवोट हटा दूंगा। – Phrogz

16
D3.js's append() method के लिए दस्तावेज़ से

: ": पाठ svg" एक तत्व एसवीजी नाम स्थान में "पाठ" बनाने के लिए

तत्व के टैग नाम के रूप में एक नामस्थान उपसर्ग, हो सकता है। डिफ़ॉल्ट रूप से, डी 3 svg, xhtml, xlink, xml और xmlns नेमस्पेस का समर्थन करता है। d3.ns.prefix पर जोड़कर अतिरिक्त नामस्थान पंजीकृत किए जा सकते हैं। विशेष रूप से

ध्यान दें कि D3.js में नामस्थान उपसर्ग अपने दस्तावेज़ पर आधारित नहीं हैं, लेकिन वास्तविक नाम स्थान यूआरएल के लिए आम उपसर्गों का एक पूर्वनिर्धारित नक्शा।

नेमस्पेस तरह से एक XML दस्तावेज (जो एक्सएचटीएमएल नहीं बल्कि एचटीएमएल भी शामिल है) नैतिक में के रूप में गणितीय साइन गणना बनाम "पाप" के रूप में दो विशेषताओं या एक ही नाम (उदाहरण के लिए "पाप" के साथ तत्व हो सकते हैं कर रहे हैं असफल) बिना संघर्ष के। एक एक्सएचटीएमएल दस्तावेज़ में <svg> तत्व डालने का कोई अर्थ नहीं है जब तक कि एसवीजी तत्व SVG namespace में नहीं है।

अधिक जानकारी के लिए, Namespaces in XML पढ़ें।

+5

बस रिकॉर्ड के लिए, 23 नवंबर, 2011 से डी 3 में नेमस्पेसिंग वैकल्पिक है – Biovisualize

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