2010-08-12 15 views
6

Supongamos que tengo¿Hay alguna forma de insertar un fragmento de código en otro?

  • fragmento Un
  • fragmento B
    dondede fragmento de código Uncontienefragmento de B n vecesconn> 1 .

En este momento me han copiado el contenido del fragmento B en snippet Un. Esto tiene la desventaja de que cada vez que cambio el fragmento B, también tengo que cambiar el fragmento A. Por lo tanto, mi pregunta es si existe algún tipo de declaración para insertar un fragmento en otro.
p.
<externalsnippet src=".\snippetB.snippet" />
o algo similar.

+0

¿Alguna vez resolvió esto? – Daryl

Respuesta

1

Se podría utilizar un entidad general externa analizada para declarar una referencia de entidad para fragmento B y luego usarlo n número de veces dentro de fragmento A.

Cuando fragmento A se analiza, las referencias de entidad se ampliará y el contenido del fragmento B se incluirá en cada lugar donde se usó la entidad.

Por ejemplo, supongamos que usted tenía un archivo llamado snipppetB.xml:

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

Y un archivo para de fragmento de código Un declaró una entidad llamada snippetB referencia snippetB.xml y lo utilizó cuatro veces :

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

Cuando se analiza snippetA.xml, el contenido XML haría l ook como este:

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