मैं एक XML फ़ाइल बनाना चाहता हूं जिसका उपयोग जावा प्रोग्राम की संरचना को संग्रहीत करने के लिए किया जाएगा। मैं जावा प्रोग्राम को सफलतापूर्वक पार्स करने और आवश्यकतानुसार टैग बनाने में सक्षम हूं। समस्या तब उत्पन्न होती है जब मैं अपने टैग के अंदर स्रोत कोड शामिल करने का प्रयास करता हूं, क्योंकि जावा स्रोत कोड बड़ी संख्या में इकाई संदर्भ और &
, <
, >
, &
जैसे आरक्षित वर्णों का उपयोग कर सकता है। मैं एक वैध एक्सएमएल बनाने में सक्षम नहीं हूँ।मैं XML विशेषता मानों में <, > आदि कैसे शामिल करूं
मेरे एक्सएमएल इस तरह जाना चाहिए:
<?xml version="1.0"?>
<prg name="prg_name">
<class name= "class_name>
<parent>parent class</parent>
<interface>Interface name</interface>
.
.
.
<method name= "method_name">
<statement>the ordinary java statement</statement>
<if condition="Conditional Expression">
<statement> true statements </statement>
</if>
<else>
<statement> false statements </statement>
</else>
<statement> usual control statements </statement>
.
.
.
</method>
</class>
.
.
.
</prg>
इस तरह, लेकिन समस्या यह है की if
या अन्य बयान जो मान्य होने से एक्सएमएल से बचाता है उन में &
या अन्य सुरक्षित प्रतीकों में से एक बहुत कुछ है सशर्त भाव है। चूंकि उपयोगकर्ता द्वारा यह सभी डेटा (स्रोत कोड) दिया गया है, इसलिए मेरे पास इसका बहुत कम नियंत्रण है। समय के संदर्भ में पात्रों से बचना बहुत महंगा होगा।
मैं तत्व पाठ से बचने के लिए सीडीएटीए का उपयोग कर सकता हूं लेकिन इसका उपयोग सशर्त अभिव्यक्ति वाले गुण मानों के लिए नहीं किया जा सकता है। मैं जावा प्रोग्राम को पार्स करने और टैग के लिए विशेषताओं और सामग्री प्राप्त करने के लिए Antlr जावा व्याकरण का उपयोग कर रहा हूं। तो क्या इसके लिए कोई और कामकाज है?
कैसे एक + (प्लस) –
@LarsVandeDonk "+" के रूप में जाना ठीक है, इसे एक्सएमएल में भागने की आवश्यकता नहीं है। शायद आप यूआरएल से बचने के बारे में बात कर रहे थे? – izogfif