Tôi có thư viện thành phần. Nó có một file manifest trông như thế này:Tôi làm cách nào để FlashBuilder sử dụng tiền tố không gian tên tùy chỉnh
<?xml version="1.0"?>
<componentPackage>
<component id="AutoComplete" class="be.edge.components.AutoComplete" />
<!-- more components left out for brevity -->
</componentPackage>
tôi biên dịch thư viện thông qua FlashBuilder với các thiết lập trình biên dịch:
Khi tôi sử dụng thư viện biên soạn trong FlashBuilder các dự án khác mọi thứ hoạt động như kỳ vọng. Tôi có được hoàn thành mã và khi tôi chọn một gợi ý từ hoàn thành mã một thuộc tính namespace được tự động thêm vào các thành phần, như thế này:
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:ns="library://ns.edge.be" >
<ns:AutoComplete />
</s:Skin>
Nhưng: FlashBuilder tự động tạo tiền tố 'ns'. Tôi muốn tùy chỉnh này để 'e' ví dụ. Làm thế nào tôi có thể làm cho FlashBuilder sử dụng tiền tố tùy chỉnh này theo mặc định?
Tôi có hai lý do cho việc này:
- 'ns' không nói bất cứ điều gì: nó chỉ nói Một namespace đã được sử dụng, không phải những gì namespace.
- khi tôi sử dụng các thư viện khác cũng bắt đầu bằng url như 'library: // ns.' FlashBuilder có thể sẽ bắt đầu đánh số các tiền tố để giải quyết xung đột (ns, ns1, ns2, v.v.), điều này thậm chí còn khó hiểu hơn.
EDIT:
tôi cũng vượt qua một config.xml để trình biên dịch mà có tờ khai sau liên quan đến không gian tên:
<compiler>
<namespaces>
<namespace>
<uri>library://ns.edge.be</uri>
<manifest>manifest.xml</manifest>
</namespace>
</namespaces>
</compiler>
<include-namespaces>
<uri>library://ns.edge.be</uri>
</include-namespaces>
Tôi đã thử, hy vọng rằng nó sẽ làm việc kỳ diệu trên hệ thống của tôi. Nhưng nó không. Bạn có nên tham khảo design.xml đó ở đâu đó không? Nếu không thì trình biên dịch không thể biết về nó. (Tôi sẽ thêm một số thông tin trình biên dịch vào câu hỏi của mình.) – RIAstar
Tôi cũng đã thử thêm 'prefix =" e "' vào thẻ 'namespace' trong tệp config.xml của mình, không có kết quả (tôi không nhận được lỗi mặc dù). – RIAstar
Aha! Chỉ tìm thấy phần còn thiếu: bạn phải bao gồm tệp design.xml trong swc bằng cách đánh dấu hộp kiểm của nó trong tab 'Nội dung' trong 'Đường dẫn xây dựng thư viện Flex'. Bạn đã cho tôi ở đó, vì vậy tôi sẽ chấp nhận câu trả lời của bạn. – RIAstar