2010-08-12 25 views
6

Giả sử rằng tôi cóCó cách nào để nhúng một đoạn mã vào đoạn mã khác không?

  • đoạn Một
  • đoạn B
    nơiđoạn mã Mộtchứa đoạn B n lầnvớin> 1 .

Ngay bây giờ tôi đã sao chép nội dung của đoạn B vào đoạn mã Một. Điều này có bất lợi, bất cứ khi nào tôi thay đổi đoạn mã B, tôi phải thay đổi thêm đoạn mã A. Vì vậy, câu hỏi của tôi là liệu có một số loại tuyên bố để nhúng một đoạn mã vào một đoạn mã khác?
ví dụ:
<externalsnippet src=".\snippetB.snippet" />
hoặc tương tự.

+0

Bạn đã bao giờ tìm ra điều này chưa? – Daryl

Trả lời

1

Bạn có thể sử dụng một thực thể chung phân tích cú pháp bên ngoài để khai báo một tham chiếu thực thể cho đoạn B và sau đó sử dụng nó n số lần bên trong của đoạn A.

Khi đoạn A được phân tích cú pháp, các tham chiếu thực thể sẽ được mở rộng và nội dung từ đoạn B sẽ được bao gồm tại mỗi vị trí nơi thực thể được sử dụng.

Ví dụ, giả sử rằng bạn đã có một tập tin gọi là snipppetB.xml:

<snippetB> 
    <foo>Content goes here</foo> 
</snippetB> 

Và một tập tin cho đoạn mã Một tuyên bố một thực thể gọi là snippetB tham khảo snippetB.xml và sử dụng nó gấp bốn lần :

<!DOCTYPE snippetA [ 
    <!ENTITY snippetB SYSTEM "./snippetB.xml"> 
]> 
<snippetA> 
<a>&snippetB;</a> 
<b>&snippetB;</b> 
<c>&snippetB;</c> 
<d>&snippetB;</d> 
</snippetA> 

Khi snippetA.xml được phân tách, nội dung XML sẽ l ook như sau:

<snippetA> 
<a> 
<snippetB> 
    <foo>Content goes here</foo> 
    </snippetB> 
    </a> 
<b> 
<snippetB> 
    <foo>Content goes here</foo> 
    </snippetB> 
    </b> 
<c> 
<snippetB> 
    <foo>Content goes here</foo> 
    </snippetB> 
    </c> 
<d> 
<snippetB> 
    <foo>Content goes here</foo> 
    </snippetB> 
    </d> 
    </snippetA> 
Các vấn đề liên quan