هل هناك طريقة لتعيين العلامة في العطف على المكونات في الدلائل متعددة؟

StackOverflow https://stackoverflow.com/questions/609092

سؤال

ونظرا تطبيق المرن أو وحدة نمطية، يمكنك تحديد مساحة اسم XML مخصصة على النحو التالي:

<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:custom="custom.namespace.*">

وبعد ذلك يمكننا الرجوع إلى مكونات MXML في دليل مخصص / مساحة / باستخدام العلامة المخصصة. على سبيل المثال، إذا كان لدي مكونات Custom1 وCustom2 في دليل مخصص / مساحة الاسم، ويمكنني أن أشير لهم مثل ذلك:

<custom:Custom1/>
<custom:Custom2/>

هل هناك طريقة لرسم خريطة الدلائل متعددة على نفس العلامة؟ وهذا هو، إذا كان لدي المكونات في دليل فرعي مخصص / مساحة الاسم، مثل مخصص / مساحة / الفرعية مع SubCustom1 عنصر، هل هناك طريقة لتعديل وثيقة المرن حتى العلامة المخصصة يمكن أن يشير إلى SubCustom1؟

لاحظ أن واحد وجدت الحل هو إضافة علامة جديدة لكل دليل (على سبيل المثال XMLNS: "custom.namespace.sub *" custom.sub =، ثم:

<custom.sub:SubCustom1>

وهذا الحل يبدو وكأنه حل مشكلة، وإن كان.

هل كانت مفيدة؟

المحلول

لإنشاء مساحة مخصصة في العطف تحتاج إلى

1) إنشاء ملف البيان مخصصة: منها مثلا

<?xml version="1.0" encoding="utf-8" ?>
<componentPackage>

    <component id="Accordion" class="mx.containers.Accordion"/>
    ....

2) إضافة شيء مشابه لما يلي إلى ملف المرن compiler.xml الخاص بك:

<compiler>
    ...
      <namespaces>
         <!-- Specify a URI to associate with a manifest of components for use as MXML -->
         <!-- elements.                                                                -->
         <namespace>
            <uri>http://mycustomnamespace.com</uri>
            <manifest>custom-manifest.xml</manifest>
         </namespace>
      </namespaces>
</compiler>

ويمكنك الاطلاع على شرح أكثر تفصيلا <لأ href = "http://blog.flashgen.com/2007/07/04/manifests-namespaces-and-flex-builder-2/" يختلط = "نوفولو noreferrer" > هنا .

وكان الرد على هذا السؤال أيضا هنا .

نصائح أخرى

ووتسمية تتبع مباشرة من مواصفات XML لمساحات. إذا كنت ترغب في تغيير custom للإشارة إلى الدليل الفرعي تغيير تعريف مساحة الاسم:

xmlns:custom="custom.namespace.*"

إلى

xmlns:custom="custom.namespace.sub.*"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top