2009-10-12 18 views
5

मैं अपने servlet.xml में एक प्रविष्टि,इस विशेष XML फ़ाइल में xmlns क्या है?

xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr 

अब, मैं क्या सोचता है, डीडब्ल्यूआर उपसर्ग हम उपयोग करने के लिए जा रहे हैं, की तरह

<dwr:configuration> 
    <dwr:convert type="bean" class="com.abc.bean.MyBean" /> 
</dwr:configuration> 

है अब समस्या यह है, अगर साइट http://www.directwebremoting.org नीचे है तो मेरा आवेदन सेम बनाने में असमर्थ है।

  • क्या यह हर बार बीनफैक्टरी बीन बनाता है इस वेबसाइट को मारने जा रहा है?

  • क्या कोई विकल्प है ताकि मैं अपनी वेबसाइट को मारने के बिना, dwr का उपयोग कर सकूं?


पूरा हैडर:

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
     http://www.springframework.org/schema/aop 
     http://www.springframework.org/schema/aop/spring-aop-2.0.xsd 
     http://www.directwebremoting.org/schema/spring-dwr 
     http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"> 

उत्तर

8

समस्या शायद सीधे नाम स्थान से प्रति से संबंधित नहीं है, लेकिन स्कीमा स्थान इस डीडब्ल्यूआर नाम स्थान का करने के लिए।

जिससे URI नाम स्थान पहचानकर्ता के रूप में प्रयोग किया जाता है "कुछ भी" और हो सकता तक पहुँचा नहीं है फ़ाइल कार्रवाई करने के लिए (हम एक सुविधाजनक तरीका वैश्विक रूप से अद्वितीय नामस्थान के लिए के रूप में इंटरनेट डोमेन आधारित नामस्थान आईडी का उपयोग), स्कीमा स्थान है प्रभावी ढंग से पहुंचाया गया।

करने के लिए समस्या को ठीक, आप XML फ़ाइलें जो इसे संदर्भ में स्कीमा डाउनलोड करने के लिए, विश्वसनीय साइट पर प्रकाशित करें, और बदल स्कीमा स्थान सक्षम हो सकता है।

"स्कीमा" डीटीडी है, या अधिकतर आजकल, जैसा कि यहां एक एक्सएसडी फ़ाइल है। व्यावहारिक शब्दों में, आपको निम्नलिखित डाउनलोड करने की आवश्यकता है।

http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd 

तब आप अपने खुद की एक सर्वर पर वसंत-DWR-2.0.xsd प्रकाशित कर सकते हैं (या आप इसे एक निर्देशिका में उपलब्ध करा सकते हैं, अगर इन ऑनलाइन आवेदन पत्र नहीं हैं), और में इसी लाइन को बदलने ,

http://www.directwebremoting.org/schema/spring-dwr 
    http://www.MyOwnDomain.com/SomeDirectory/spring-dwr-2.0.xsd"> 

कि फैशन में, यहाँ तक कि जब directwebremoting.org साइट उपलब्ध नहीं है आपकी XML प्रोसेसिंग में कोई देरी हो जाएगा: Xml शीर्ष (जहां MyOwnDomain, आदि निश्चित रूप से आपकी वास्तविक साइट को दर्शाता है) को पढ़ने के लिए तर्क।

ध्यान दें, यह संभव है कि प्रश्न में एक्सएसडी अन्य स्कीमाओं का संदर्भ देता है, और यदि ऐसा होता तो आप इन्हें डाउनलोड करना भी चाहते हैं और एक्सएसडी अंक को नए स्थान पर भी सुनिश्चित करना चाहते हैं।

+0

एमजेवी धन्यवाद, मैं पूरा स्निपेट पोस्ट करूंगा ... और स्कीमा का मतलब क्या है, क्या यह डीटीडी है ?? –

+0

वाह, धन्यवाद एमजेवी, अंतिम सवाल। क्या यह मेरे सिस्टम में यह xsd होना जरूरी है, और ** c: /blahblah/dwr.xsd** जैसे पथ दें। यदि संभव हो, तो यह कैसे करें? –

+0

@ राकेश जे: हां, यह http-आधारित यूआरआई के बजाय स्थानीय पथ का उपयोग करना संभव है, बशर्ते कि जहां भी एप्लिकेशन या एक्सएमएल प्रोसेसर आदि चलाया जा सके, इसमें दृश्यता और इस पथ/फ़ाइल। यह विशेष रूप से अच्छी तरह से काम करेगा यदि आप विशेष रूप से अपनी मशीन से एप्लिकेशन चला रहे हैं, या यदि यह मशीनों से चलाया जाता है, तो यह फ़ाइल उसी स्थान पर अपने स्थानीय ड्राइव पर कॉपी की जाती है (प्रकाशित, गैर-ऑनलाइन, एप्लिकेशन का मामला)। – mjv

12

यह एक XML namespace है। यह सुनिश्चित करने के लिए प्रयोग किया जाता है कि आपके एक्सएमएल पहचानकर्ता (टैग, इत्यादि) अद्वितीय हैं - आप उन्हें केवल नामस्थान (जैसे .NET नामस्थान) में लपेटें।

नामस्थान केवल एक पहचानकर्ता है - यह वेब पर एक वास्तविक स्थान नहीं है!

एक्सएमएल नेमस्पेस अद्वितीय होना चाहिए - यही कारण है कि कई कंपनियां नामस्थान में अपने * .com डोमेन नाम का उपयोग करती हैं क्योंकि कोई भी इसका उपयोग नहीं कर सकता (या चाहिए)।

लेकिन "छद्म यूआरएल" तुम वहाँ है नहीं एक भौतिक URL होते हैं और अपने कोड अभी भी काम करेगा, भले ही "www.directwebremoting.org" डोमेन नीचे या बंद होना चाहिए!

यह सिर्फ एक नाम है - नाम के अलावा कुछ नहीं - कोई भी भौतिक फ़ाइल उस "यूआरएल" के पीछे नहीं रहती है। निश्चित रूप से इन उस साइट पर निर्भरता ऊपर जा रहा है कारण, जब से तुम हो -

<beans xmlns="http://www.springframework.org/schema/beans" 
     ........... 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
     http://www.springframework.org/schema/aop 
     http://www.springframework.org/schema/aop/spring-aop-2.0.xsd 
     http://www.directwebremoting.org/schema/spring-dwr 
    ==> http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"> <== 

ये xsi:schemaLocation प्रविष्टियों अपराधी हैं:

अद्यतन: ठीक है, हम यहाँ कोई भिन्न समस्या है किसी XML स्कीमा फ़ाइल (spring-dwr-2.0.xsd) को उस साइट पर किसी URL के माध्यम से सीधे संदर्भित करना।

आप निश्चित रूप से उन * .xsd फ़ाइलों को अपनी स्थानीय डिस्क पर भी डाउनलोड कर सकते हैं और वहां से इसका उपयोग कर सकते हैं। इस तरह का एक्सएमएल नेमस्पेस नाम के अलावा कुछ भी नहीं है, लेकिन यह स्कीमालोकेशन, http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd, जाहिर है एक असली, भौतिक यूआरएल है और साइट डाउन होने पर काम नहीं करेगी।

+0

* आपका कोड अभी भी काम करेगा, भले ही "www.directwebremoting.org" डोमेन नीचे या बंद होना चाहिए *, निश्चित रूप से मार्क के लिए एक बात, एक घंटे पहले, directwebremoting नीचे था और बीनफैक्टरी बीन बनाने में असमर्थ था [कोशिश की गई कई बार], और फिर साइट वापस आई, और मैंने अपने कोड में कुछ भी नहीं बदला, और यह काम करना शुरू कर दिया .. इस पर आपका क्या लेना है? –

+0

धन्यवाद! यह जानकर बहुत अच्छा लगता है कि xmlns एक वास्तविक यूआरएल नहीं है और मैं इसे बना सकता हूं। चीयर्स! – Chris

0

DTD एक स्कीमा (XDR और कुछ और भी हो सकता है) हो सकता है। स्कीमा आपके इनपुट XML डेटा (तत्व, विशेषता, विशेषता डेटा प्रकार आदि) की संरचना को परिभाषित करता है।

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