Predefinição:Marcxml/PrettyFieldBreaker: mudanças entre as edições
< MARCXML
Ir para navegação
Ir para pesquisar
m (uma edição) |
(replacing RegexFun > RegexFunctions) |
||
Linha 1: | Linha 1: | ||
{{#arraymap:{{{2|}}}|&&&&|@@@@| <datafield tag="{{#rmatch:{{{1|}}}|/\d{3}$/|$0}}" ind1="{{#replace:{{#sub:@@@@|0|1}}|#| }}" ind2="{{#replace:{{#sub:@@@@|1|1}}|#| }}"><br />{{#arraymap:{{#sub:@@@@|2}}|$|§| <subfield code="{{#sub:§|0|1}}">{{#replace:{{#replace:{{#sub:§|1}}|&|&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