require 'pescador/def_files/parser.rb' require 'pp' DefFiles::Parser.prepare result=DefFiles::Parser.parse(< "Archivo Juan Pérez"@es "Juan Pérez Archive"@en comment "Un archivo bien bien funky"@es comment "A very, very funk archive"@en abbreviation ajp thisOntology "http://archive.specific.uri/archivo-juan-perez#" externalOntology rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" externalOntology rdfs "http://www.w3.org/2000/01/rdf-schema#" dependsRealm sys dependsRealm swv "Archivos de fotografías Juan Pérez"@es "Juan Pérez Photo Archive"@en comment "Foo foo"@en comment "Foo foó é Á"@es systemThings sharedArchivalThings generalArchivalThings "A funky class"@en "Una clase bien funky"@es comment "foo foo"@en comment "foo foo"@es subClassOf rdf:NothingDoing "Related Event Time"@en "Momento de un evento relacionado"@es comment "This property exists mainly as a superproperty of other more specifically defined ones"@en comment "Esta propiedad funciona principalmente como superpropiedad, cuyas descendientes se definen de manera más precisa"@es subPropertyOf swv:hasTimeSpaceKarma range swv:TimeRange "Calendar Pointer"@en "Indicador sobre el calendario"@es subDataTypeOf swv:TimeData comparisonVector Integer point default "Calendar Pointer2"@en "Indicador sobre el calendario2"@es subDataTypeOf swv:TimeData comparisonVector Integer point "Year in the Common Era"@en "Año en la era común"@es subDataTypeOf swv:CalendarPointer bindToRuleSet year_in_common_era "Time Range Over Unit"@en "Rango de tiempo por unidad"@es comment "A range of time defined by the beginning and end of a calendar time unit"@en comment "Un rango de tiempo definido por el inicio y fin de una unidad determinada del calendario"@es subDataTypeOf swv:TimeRange bindToRuleSet time_range_over_unit property swv:ends minCardinality 1 maxCardinality 1 maxNonInfCardinality 10 multilingual multipleOrdered outClass swv:TimeData outDataType swv:TimeData outFromGroup time_ranges outRequirement fromPropRange outValue swv:Nada useDefinition swv.time_data.test defaultOrderBy |{ if ((ROOT->has_containing_area).hasObj) x = (ROOT->has_containing_area).node if ((x->has_containing_area).hasObj) has_containing_area.assign(ROOT, (x->has_containing_area).node) end end }| content_link.has_linked_content.inv->content_link.has_linked_manifestation content_link.has_linked_content.inv->content_link.has_linked_manifestation->foo minCardinality 1 maxCardinality 1 maxNonInfCardinality 10 outClass swv:TimeData outDataType swv:TimeData outFromGroup time_ranges outRequirement fromPropRange outValue swv:Nada content_link.has_linked_content defaultOrderBy |{ (OUT.classes).includes(sys:ComputerFile) }| |{ (OUT->sys.files.has_system_accessible_uri).hasObj }| |{ (ROOT->starts).point }| defaultTextBPVFunction orderUsing test2 |{ (ROOT->starts).textBPV + " - " + (ROOT->ends).textBPV }| defaultImageBPVFunction |{ (ROOT->has_system_accessible_digital_copy).imageBPV }| "Digital copy"@en "Copia digital"@es label |{ foo.to_s }| imageBPV image_ref textBPV text_ref uniqueImageBPV |{ foo.to_s }| uniqueTextBPV |{ foo.to_s }| copyOfTemplate has_system_accessible_digital_copy "Digital copy"@en "Copia digital"@es label |{ foo.to_s }| imageBPV image_ref textBPV text_ref uniqueImageBPV |{ foo.to_s }| uniqueTextBPV |{ foo.to_s }| df has_unique_id df has_title "Digital copy"@en "Copia digital"@es copyOfTemplate has_system_accessible_digital_copy label |{ foo.to_s }| imageBPV image_ref textBPV text_ref uniqueTextBPV |{ foo.to_s }| uniqueImageBPV |{ (ROOT->has_system_accessible_digital_copy).imageBPV.thumb }| anchor foo_anchor "View in higher resolution..."@en "Versión con mayor resolución..."@es VariableDesc default df has_unique_id <% if then don't %> "Block Title"@en "Título del bloque"@es textBPV bt uniqueTextBPV |{ bt.do() }| df has_unique_id df has_title df has_description "Digital copy"@en "Copia digital"@es textBPV text_ref "Unique DF in Short Desc"@en imageBPV image_ref textBPV text_ref uniqueTextBPV |{ foo.to_s }| uniqueImageBPV |{ (ROOT->has_system_accessible_digital_copy).imageBPV.thumb }| "Text in Short Desc"@en <% if then don't %> ShortDesc default "Full record"@en "Ficha completa"@es df has_unique_id df has_title df has_description df has_initial_photo_location df has_initial_photo_date df has_topic df has_notes df has_image_media_type df has_conservation_status <% if ((ROOT->has_system_accessible_digital_copy).hasObj) %> "Digital copy"@en "Copia digital"@es uniqueImageBPV |{ (ROOT->has_system_accessible_digital_copy).imageBPV.thumb }| "View in higher resolution..."@en "Versión con mayor resolución..."@es <% end %> <% if ((ROOT->has_system_accessible_digital_copy).hasObj) %> "Image"@en "Imagen"@es uniqueImageBPV |{ (ROOT->has_system_accessible_digital_copy).imageBPV.fitViewPort }| df has_unique_id df has_title <% end %> FullDesc default "Juan Pérez photographic positives fond"@en "Fondo de positivos fotográficos Juan Pérez"@es comment "foofoo"@it hasGroupDomain swv:PhotographicPrint bindToRuleSet photographic_print mainLevel secondaryLevel bindSOCToRuleSet photographic_print_soc EOF pp result