Saturday 15 September 2012

php - Manage namespaces of multi HTML fragments -


मेरी अंग्रेजी पहली माफ़ करें ...:)

मैं XMLNS का उपयोग करता हूं HTML टैग के लिए और JS में getElementsByTagNameNS में उन्हें लक्षित करें और CSS selector xmlns \: tagName का उपयोग करें सीएसएस दस्तावेज़ों के लिए सर्वर साइड में DOM का उपयोग PHP वस्तु DOMDocument :: getElementsByTagNameNS ...

मैं जानना चाहता हूं कि क्या मैं अच्छी तरह से किया है या यदि कोई कुशल तरीका है? यह तर्क मुझे भविष्य में एक समस्या पैदा कर सकता है? मैं नहीं जानता कि कैसे पूर्व: DRUPAL या JOOMLA बात का प्रबंधन?

या आप सोच सकते हैं कि मुझे PHP में regexp का उपयोग Preg_match_replace को किसी भी HTML विशेषताओं में उपसर्ग जोड़ने के लिए, और जेएस फाइलों और सीएसएस फ़ाइलों में भी ऐसा ही करते हैं?

संरचना

  अभिनेता | | वी + -------------- + + -------------------------------- + | NPresenter | | NNamespace | + ------- + | -------------- | + ------- & gt; | -------------- ------------------ | | | -------------- | | -------------------------------- | | | -प्रदर्शन (); | | + Full_qualified_js_name (); | | + -------------- + | + Full_qualified_less_name (); | | | + Full_qualified_layout_name (); | | + -------------------------------- + वी + -------------- ---- + (संपत्ति) | एनएमडेल | + ------------ + | ------------------ | | जेएस | | ------------------ | ------------------------- & gt; | कम | | + File_content (); | | लेआउट | + ----------------- + ------------ +   

पूरी तरह से योग्य _ * _ नाम () वापसी Regexp और preg_match_all के साथ लक्ष्य फ़ाइल का एक आउटपुट, मैं लेआउट फ़ाइल में नीचे की तरह XMLNS जोड़ता हूं:

  & lt;? Xml संस्करण = "1.0" एन्कोडिंग = "UTF-8"? & Gt; & Lt; html xmlns: aa = 'zz' xmlns: ईई = 'आरआर' & gt; & Lt; शीर्ष & gt; & Lt; title & gt; & lt; / title & gt; & Lt; script src = "/ assets / js / appended_js.js" & gt; & lt; / स्क्रिप्ट & gt; & Lt; LINK rel = "stylesheet" प्रकार = "text / css" href = "/ assets / js / appended_css.css" "& gt; & lt; / head & gt; & lt; बॉडी & gt; & lt; एए: span id =" span1 "& gt ; & Lt; aa: p & gt; aaa & lt; / aa: p & gt; & lt; / aa: span & gt; & lt; ई: span id = "span1" & gt; & lt; ईई: पी & gt; एएए & lt; / ई: पी & gt; & lt; / ई : कम फ़ाइल में मैं नीचे की तरह:  
  / * less * / aa: span & gt; & lt; / body & gt; & lt; / html & gt;   

Span {background: # 00ff00;}

js फ़ाइल में मैं नीचे की तरह करता हूं:

  / * js * / var नामस्थान = {methode1: function ( ) {Var target = document.getElementsByTagNameNS ("aa", "zz"); return target.length;}};    

Javacript पक्ष पर आप इसका उपयोग कर सकते हैं। इससे आपको नामस्थान अभिभावक सीएसएस चयनकर्ताओं का उपयोग करने की अनुमति मिलती है।

  var feedTitle = $ ()। Xmlns ({atom: 'Http://www.w3.org/2005/Atom'}, फ़ंक्शन () {return.find ("atom | channel & gt; atom | title");}) .text (); $ ('# feedTitle ') .text (feedTitle);   

PHP में आप अपना DOM क्वेरी के लिए Xpath का उपयोग कर सकते हैं।

$ dom = नया DOMDocument (); $ Dom- & gt; loadXml ($ फ़ाइल); $ Xpath = नया DOMXpath ($ dom); $ Xpath- & gt; रजिस्टर नामस्थान ('परमाणु', 'http://www.w3.org/2005/Atom'); $ FeedTitle = $ xpath- & gt; मूल्यांकन करें ('स्ट्रिंग (// परमाणु: चैनल / परमाणु: शीर्षक)', NULL, FALSE));

एक नामस्थान के अंदर तत्वों को बनाने के लिए DOMDocument :: createElementNS () का उपयोग करें।

तीन महत्वपूर्ण बिंदु:

  1. यदि आप खुद के नामस्थान, परिणाम एचटीएमएल और अधिक नहीं है ब्राउज़र तत्वों को पहचाना / रेंडर नहीं करेगा।
  2. नेमस्पेस उपसर्ग को वास्तविक नेमस्पेस के साथ भ्रमित न करें। नेमस्पेस xmlns में स्ट्रिंग है: * विशेषता यह विश्वव्यापी अद्वितीय स्ट्रिंग होना चाहिए। (यही कारण है कि यूआरएल अक्सर यहां इस्तेमाल किया जाता है।) नामस्थान उपसर्ग नामस्थान स्ट्रिंग के लिए एक छोटा उपनाम है, लेकिन केवल वर्तमान दस्तावेज़ की वर्तमान शाखा की वैध शाखा जब तक कि नए सिरे से परिभाषित नहीं हो।
  3. आप हमेशा मैपिंग नाम स्थान पर अपना उपसर्ग परिभाषित करते हैं क्वेरी के लिए (सीएसएस चयनकर्ता या एक्सपेथ) इस तरह आपके प्रश्न निरर्थक हैं।

No comments:

Post a Comment