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:35]
fernando
edicion_de_subcampos_codificados [30/04/2009 16:39]
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//.
 +
 +ATENCION: esto aún no fue testeado (10 nov. 2008).
 +
  
  
 === 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 48:
  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 52: Line 64:
 == 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 64: Line 78:
  }  }
   
- 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 77: Line 91:
 == 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 91: Line 107:
     ...     ...
         
-    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 101: Line 117:
 == 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}}
edicion_de_subcampos_codificados.txt · Last modified: 05/05/2009 00:00 (external edit)