में विलय कर दिया जाए। मुझे पता है कि यह एक सीमा रेखा का मामला है चाहे वह वास्तव में स्टैक ओवरफ्लो या सुपरसियर से संबंधित हो, लेकिन ऐसा लगता है कि वहां कुछ 'संपादन कोड' प्रश्न हैं यहां, मैं इसे SO पर पोस्ट कर रहा हूं।एक फ्लैट एक्सएमएल कैसे प्राप्त करें ताकि बाहरी इकाइयों को शीर्ष स्तर
मेरे पास एक्सएमएल फाइलों का ढेर है कि किसी ने अपने अनंत ज्ञान में टैग का उपयोग करके कई फाइलों में विस्फोट करने का निर्णय लिया है, जिसके परिणामस्वरूप उन्हें डीबगिंग/संपादन एक विशाल पी-आई-टी-ए बनाता है। इसलिए मैं देख रहा हूं:
- वीआईएम में उन्हें एक ही बफर में खोलने का एक तरीका (अधिमानतः ताकि परिवर्तन बाहरी बाहरी फाइल फ़ाइलों में सहेजे गए हों), या;
- वीआईएम में फ़ाइलों का विस्तार करने का एक तरीका ताकि बाहरी इकाइयों को पढ़ा जा सके और बफर में बदल दिया जाए, या;
- एक आसान बैश/एक कमांड लाइन (या .vimrc में) पर ऐसा करने का/अजगर रास्ते sed
फ़ाइलें शीर्ष स्तर पर शामिल नई फ़ाइलें और इतने पर कौन जानता है पर पर कितने स्तरों शामिल हो सकता है तो यह पुनरावर्ती होने की जरूरत है ...
यहाँ शीर्ष स्तर फ़ाइल की तरह दिखता है पर एक mockup नमूना है:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foobar PUBLIC "foobar:dtd" "foobar.dtd" [
<!ENTITY foo SYSTEM "foo.xml">
<!ENTITY bar SYSTEM "bar.xml">
]>
<foo>
<params>
&foo;
</params>
<bar>
&bar;
</bar>
</foo>
संपादित: सूची वरीयता के क्रम में है केवल आंशिक रूप से तरह @Gaby के लग रहा है इस सवाल का जवाब काम करता है, लेकिन दुर्भाग्य से, जब तक कि मैं कर रहा हूँ: - अगर कोई 1. या 2. समाधान उपलब्ध हैं, इनाम सबसे अच्छा # 3 के लिए चला जाता है ...
संपादित 2 कुछ गलत करना - मैं अपने उत्तर का उपयोग करके किसी प्रकार का टूल लिखूंगा और इसे सुधार के लिए यहां पोस्ट करूंगा। बेशक, एक # 1 या # 2 समाधान की सराहना की जाएगी ... :)
संपादित 3: ठीक है, सबसे अच्छा गैर Emacs -answer इनाम मिल जाएगा;)
निष्कर्ष : @hcayless को धन्यवाद अब मैं एक काम कर # 2 समाधान है, मैं कहा:
autocmd BufReadPost,FileReadPost *.xml silent %!xmllint --noent - 2> /dev/null
मेरी .vimrc
करने के लिए और सब कुछ hunky डोरि है।
क्या यह xslt के साथ किया जा सकता है? – michael
मैंने इसे पहले नहीं देखा था, लेकिन स्पष्ट रूप से यह एक्सएमएल के भलाई भाग के लिए ईमानदार है। http://www.xml.com/pub/a/98/08/xmlqna2.html एक स्पष्टीकरण है जिसे मैंने इसके लिए पाया है। – MikeSep
हाँ, यह मान्य है और इसलिए कष्टप्रद के रूप में दोगुना :) – Kimvais