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 16:08]
fernando
edicion_de_subcampos_codificados [04/05/2009 21:33]
fernando
Line 2: Line 2:
  
 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 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 41: 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>​
 +
 +
 +
 +
  
  
Line 53: 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 65: 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 78: 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 92: 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 102: 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)