2010-08-12 6 views
6

Nehmen wir an, dass ichGibt es eine Möglichkeit, ein Code-Snippet in ein anderes zu integrieren?

  • Schnipsel A
  • Schnipsel B
    woSnippet AenthältSchnipsel B n-malmitn> 1 haben .

Gerade jetzt habe ich den Inhalt des Schnipsel B in Ein Snippet kopiert. Dies hat den Nachteil, dass ich bei jedem Wechsel Code-Snippet B zusätzlich Snippet A ändern muss. Daher ist meine Frage, ob es eine Art von Anweisung gibt, ein Snippet in ein anderes zu integrieren?
z.B.
<externalsnippet src=".\snippetB.snippet" />
oder etwas ähnliches.

+0

Haben Sie das jemals herausgefunden? – Daryl

Antwort

1

Sie eine externe geparste allgemeine Entity verwenden könnten eine Entity-Referenz für Schnipsel B zu erklären und es dann innerhalb von Schnipsel A. verwenden n

Anzahl von Malen

Wenn Schnipsel A analysiert wird, wird die Entity-Referenzen wird erweitert und der Inhalt von Snippet B wird an jeder Stelle eingefügt, an der die Entität verwendet wurde.

zum Beispiel angenommen, dass Sie eine Datei hatte snipppetB.xml genannt:

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

Und eine Datei für Snippet A ein Unternehmen erklärt genannt snippetB snippetB.xml Referenzierung und verwendet es viermal :

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

Wenn snippetA.xml analysiert wird, würde der XML-Inhalt l ook like this:

<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>