imp>Jaider |
imported>Jaideraf |
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) |
{{#vardefine:tag|{{#regex:{{{1|}}}|/(\d{3})$/}}}}{{#arraymap:{{{2|}}}|&&&&|@@@@| <datafield tag="{{#varrmatch:tag{{{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}). 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 -->
|