2012-09-17 21 views
5

में एक्सएमएल तत्व के लिए उपनाम परिभाषित करना क्या एक्सएमएल तत्व के लिए उपनाम परिभाषित करने के लिए एक्सएसडी भाषा समर्थन या चाल (उदा। प्रीप्रोसेसर के माध्यम से) है? मैं अपने XML दस्तावेज़ों के अधिक गुप्त लेकिन नेटवर्क बैंडविड्थ-कुशल संस्करण के लिए एक विकल्प बनाने के लिए अपने स्कीमा के सभी तत्वों को उपनाम करना चाहता हूं।एक्सएसडी स्कीमा

उदाहरण के लिए, मैं तत्व InterruptRequest आदि

<xs:element name="InterruptRequest" minOccurs="0"> 
    <xs:complexType> 
     <xs:attribute name="level" type="xs:unsignedShort" use="required"/> 
    </xs:complexType> 
</xs:element> 

ताकि निम्न दो घोषणाओं एक दूसरे को

<!-- Human readable but bandwidth inefficient --> 
<InterruptRequest level="22" /> 

<!-- Cryptic, but comparatively bandwidth efficient --> 
<IRQ level="22" /> 
के बराबर हैं के लिए एक उपनाम होना करने के लिए इस तरह के IRQ के रूप में नाम निर्धारित करना चाहते हैं

उत्तर

7

आप दो तत्व नामों को समानार्थी होने के लिए परिभाषित नहीं कर सकते हैं, लेकिन आप एक प्रतिस्थापन समूह के माध्यम से दूसरे के लिए प्रतिस्थापन के रूप में परिभाषित कर सकते हैं। वे अभी भी आपके आवेदन के लिए अलग-अलग दिखाई देंगे, लेकिन सत्यापन प्रक्रिया उनमें से एक को हर जगह इस्तेमाल करने की अनुमति देगी कि सामग्री मॉडल दूसरे को अनुमति देता है।

<element name="a">... 

<element name="b" substitutionGroup="a">... 
+0

प्रतिस्थापन समूह महान हैं। हालांकि, मेरे मामले में तत्व एक विकल्प तत्व में दिखाई देते हैं। तो मुझे लगता है कि मैं सिर्फ 'सूची' में दोनों नाम दोहरा सकता हूं। – Olumide

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