Predefinição:Marcxml/PrettyFieldBreaker: mudanças entre as edições

De Wikincat
Ir para navegação Ir para pesquisar
mSem resumo de edição
 
(replacing RegexFun > RegexFunctions)
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 1: Linha 1:
{{#vardefine:tag|{{#regex:{{{1|}}}|/(\d{3})$/}}}}{{#arraymap:{{{2|}}}|&&&&|@@@@|  <datafield tag="{{#var:tag}}" ind1="{{#replace:{{#sub:@@@@|0|1}}|#|&#32;}}" ind2="{{#replace:{{#sub:@@@@|1|1}}|#|&#32;}}"><br />{{#arraymap:{{#sub:@@@@|2}}|$|§|    <subfield code="{{#sub:§|0|1}}">{{#replace:{{#replace:{{#sub:§|1}}|&|&amp;amp;}}|<|&amp;lt;}}|</subfield><br />}}</subfield><br />  </datafield>|<br />}}<br /><!-- Esta predefinição faz parte da predefinição Marcxml. Ela recebe os dados da terceira consulta (Field data) e os processa da seguinte maneira: {{{1|}}} traz o título do subobjeto (mainlabel) que contém o campo MARC (\d{3}). Tal campo é armazenado na variável "tag" para posterior uso. {{{2|}}} é/são o/s datafield/s recuperado/s. Eles são delimitados por "&&&&" e passados para a primeira arraymap, de modo a processar os campos repetíveis. A segunda arraymap serve para processar os subcampos do campo, isto é, aquilo delimitado pelo caractere especial "$". Adicionalmente, a XML requer que os caracteres "&", "'", """, "<" e ">" sejam escapados via entidades, isso é feito com simples substituições. Entre tags XML não é necessário escapar "'", """ e ">", ver https://stackoverflow.com/questions/1091945/what-characters-do-i-need-to-escape-in-xml-documents. Esta predefinição é destinada ao consumo humano, para o consumo por máquinas, ver Marcxml/FieldBreaker -->
{{#arraymap:{{{2|}}}|&&&&|@@@@|  <datafield tag="{{#rmatch:{{{1|}}}|/\d{3}$/|$0}}" ind1="{{#replace:{{#sub:@@@@|0|1}}|#|&#32;}}" ind2="{{#replace:{{#sub:@@@@|1|1}}|#|&#32;}}"><br />{{#arraymap:{{#sub:@@@@|2}}|$|§|    <subfield code="{{#sub:§|0|1}}">{{#replace:{{#replace:{{#sub:§|1}}|&|&amp;amp;}}|<|&amp;lt;}}|</subfield><br />}}</subfield><br />  </datafield>|<br />}}<br /><!-- Esta predefinição faz parte da predefinição Marcxml. Ela recebe os dados da terceira consulta (Field data) e os processa da seguinte maneira: {{{1|}}} traz o título do subobjeto (mainlabel) que contém o campo MARC (\d{3}). {{{2|}}} é/são o/s datafield/s recuperado/s. Eles são delimitados por "&&&&" e passados para a primeira arraymap, de modo a processar os campos repetíveis. A segunda arraymap serve para processar os subcampos do campo, isto é, aquilo delimitado pelo caractere especial "$". Adicionalmente, a XML requer que os caracteres "&", "'", """, "<" e ">" sejam escapados via entidades, isso é feito com simples substituições. Entre tags XML não é necessário escapar "'", """ e ">", ver https://stackoverflow.com/questions/1091945/what-characters-do-i-need-to-escape-in-xml-documents. Esta predefinição é destinada ao consumo humano, para o consumo por máquinas, ver Marcxml/FieldBreaker -->

Edição atual tal como às 09h30min de 6 de janeiro de 2023