User Tools

Site Tools


edicion_de_subcampos_codificados

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
edicion_de_subcampos_codificados [07/11/2008 15:30]
fernando
edicion_de_subcampos_codificados [04/05/2009 21:33]
fernando
Line 1: Line 1:
 ====== Edición de subcampos codificados en Catalis ====== ====== Edición de subcampos codificados en Catalis ======
  
-A raíz de una [[http://​groups.google.com/​group/​catalis/​browse_thread/​thread/​4c31389fd6c6a857|consulta en el grupo Catalis]], acá va una receta para lograr que un subcampo se pueda editar de manera análoga al subcampo $4 de los campos 700 (relator code).+A raíz de una [[http://​groups.google.com/​group/​catalis/​browse_thread/​thread/​4c31389fd6c6a857|consulta en el grupo Catalis]], acá va una receta para lograr que un subcampo ​con valores codificados ​se pueda editar de manera análoga al subcampo $4 de los campos 700 (relator code). ​Es decir, que se abra una ventanita emergente que ofrezca la lista de códigos disponibles. 
 + 
 +A modo de ejemplo consideremos un elemento ficticio denominado "​Foo",​ almacenado en un subcampo $q del campo 999. 
 + 
 +Para clarificar el contexto dentro de cada archivo a modificar, se muestran las líneas correspondientes a los //relator codes//. 
 + 
 +(Esto fue testeado exitosamente por Evangelina y Omar, de la Biblioteca Virtual de la UNR, el 11/​nov/​08.) 
  
 === XML === === XML ===
  
-== frequency.xml ==+== foo.xml == 
 + 
 +Creamos el archivo.
  
 <code xml> <code xml>
 <?xml version="​1.0"​ encoding="​ISO-8859-1"?>​ <?xml version="​1.0"​ encoding="​ISO-8859-1"?>​
  
-<relatorCodes>+<fooCodes>
  
- <relator ​code="act" name="Actor" /> + <foo code="a" name="..." /> 
- <relator ​code="adp" name="Adapter" /> + <foo code="b" name="..." /> 
- <relator ​code="aft" name="Author of afterword, colophon, etc." /> + <foo code="c" name="..." /> 
- <relator ​code="ann" name="Annotator"​ /> + <foo code="d" name="..." />
- <​relator code="​ant"​ name="​Bibliographic antecedent"​ /> +
- <​relator code="​app"​ name="​Applicant"​ /> +
- <​relator code="​aqt"​ name="​Author in quotations or text abstracts"​ /> +
- <​relator code="​arc"​ name="​Architect"​ /> +
- <​relator code="​arr"​ name="​Arranger" />+
         ...         ...
- <relator ​code="wit" name="Witness" />+ <foo code="z" name="..." />
  
-</relatorCodes>+</fooCodes>
 </​code>​ </​code>​
 +
  
 === HTML === === HTML ===
  
 == editCodes.htm == == editCodes.htm ==
 +
 +Agregamos un bloque.
  
 <code javascript>​ <code javascript>​
Line 40: Line 47:
  break;  break;
   
- case "frequency" : + case "foo" : 
- xmlCodes = callingWindowObject.xmlFrequencyCodes+ xmlCodes = callingWindowObject.xmlFooCodes
- Codes = xmlCodes.selectNodes("/"​ + "/frequency"); + Codes = xmlCodes.selectNodes("/"​ + "/foo"); 
- title = "Frequency ​codes";​+ title = "Foo codes";​
  break;  break;
 </​code>​ </​code>​
 +
 +
 +
 +
 +
  
 === JavaScript === === JavaScript ===
Line 51: Line 63:
 == create-field-subfield.js == == create-field-subfield.js ==
  
-<​code ​javascript>+Agregamos un bloque. 
 + 
 +<​code>​
  // Subcampos cuyos valores se toman de tablas  // Subcampos cuyos valores se toman de tablas
  if ( "​4"​ == code ) {   // Relator code  if ( "​4"​ == code ) {   // Relator code
Line 63: Line 77:
  }  }
   
- else if ( tag_code.search(/​86[34]w/) != -1 ) {  // Frequency ​code.  Expresión alternativa:​ /​863w|864w/ ​+ else if ( tag_code.search(/​999q/) != -1 ) {  // Foo code
  newSubfieldBox.readOnly = true;  newSubfieldBox.readOnly = true;
  newSubfieldBox.onclick = function() {  newSubfieldBox.onclick = function() {
- editCodedData("​frequency");+ editCodedData("​foo");
  }  }
  newSubfieldBox.style.fontFamily = "​lucida console";​  newSubfieldBox.style.fontFamily = "​lucida console";​
Line 76: Line 90:
 == aux-windows.js == == aux-windows.js ==
  
-<​code ​javascript>+Agregamos "​foo"​ en un par de líneas. 
 + 
 +<​code>​
     function editCodedData(dataElement)     function editCodedData(dataElement)
     {     {
-    if ( dataElement.search(/​relator|frequency|f041|f044/​) != -1 ) {+    if ( dataElement.search(/​relator|foo|f041|f044/​) != -1 ) {
     var srcObject = event.srcElement;​     var srcObject = event.srcElement;​
     var activeCode = srcObject.value; ​ // TO-DO: evt for mozilla     var activeCode = srcObject.value; ​ // TO-DO: evt for mozilla
Line 90: Line 106:
     ...     ...
         
-    if ( dataElement.search(/​relator|frequency|f041|f044/​) != -1 ) {+    if ( dataElement.search(/​relator|foo|f041|f044/​) != -1 ) {
     srcObject.value = newCode.value;​     srcObject.value = newCode.value;​
     //​displayPermanentTitle(srcObject,​newCode.description.substr(6),​40,​0);​     //​displayPermanentTitle(srcObject,​newCode.description.substr(6),​40,​0);​
Line 100: Line 116:
 == catalis.js == == catalis.js ==
  
-<​code ​javascript>+Agregamos dos líneas nuevas. 
 + 
 +<​code>​
     URL_RELATOR_CODES = HTDOCS + "​xml/​relator.xml";​     URL_RELATOR_CODES = HTDOCS + "​xml/​relator.xml";​
-    ​URL_FREQUENCY_CODES ​= HTDOCS + "xml/frequency.xml";+    ​URL_FOO_CODES ​= HTDOCS + "xml/foo.xml";
     ​     ​
     xmlRelatorCodes = importXML(URL_RELATOR_CODES);​     xmlRelatorCodes = importXML(URL_RELATOR_CODES);​
-    ​xmlFrequencyCodes ​= importXML(URL_FREQUENCY_CODES);+    ​xmlFooCodes ​= importXML(URL_FOO_CODES);
 </​code>​ </​code>​
 +
 +
 +{{tag>​catalis admin}}
edicion_de_subcampos_codificados.txt · Last modified: 05/05/2009 00:00 (external edit)