refdbxp - Online în cloud

Aceasta este comanda refdbxp care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


refdbxp - convertește formatele de citare scurte și complete în documente SGML și XML care conțin
Citate RefDB.

REZUMAT


refdbxp [-h] [-s] [-t formatul de intrare] refdbxp

DESCRIERE


refdbxp permite interconversia notării scurte și complete a citărilor în
documente SGML și XML acceptate ale RefDB(7). Consultați manualul RefDB (vezi mai jos) pentru
informații despre cele două notații. Conversia este sigură dus-întors și este compatibilă
amestecarea notării scurte și complete în același document sursă. Citările cu notație completă vor
utilizați codificarea corectă pentru prima citare și pentru următoarele citate ale aceleiași referințe.

notițe
Ar trebui să știți că refdbxp nu este un instrument SGML sau XML. Este un text simplu
instrument de înlocuire cu unele restricții:

· Dacă comentați elemente de citare, ele sunt încă considerate ca și cum ar fi prezente
atunci când prima/problema ulterioară de citare este rezolvată (refdbxp pur și simplu nu știe
despre conceptul de comentariu). În exemplul următor, citarea în
ultima linie va fi singura transformată, dar va fi formatată ca a
citarea ulterioară a referinței 9, nu ca primă citare:

9; first occurrence -->

9;

· Dacă utilizați etichete SGML/XML într-un comentariu și plasați acest comentariu în mod ingenios
între eticheta de început și eticheta de final a unui element relevant pentru refdbxp, tu
împușcă-te în picior. Nu doriți să utilizați cod ca acesta (de ce ați,
oricum?):

--> 2;5;9;

· refdbxp nu include entități externe. Se presupune că întregul document refdbxp
pentru a converti trebuie să fie într-o singură bucată.

· refdbxp nu acceptă în prezent mai multe baze de date per document.

O modalitate de a rezolva problema cu comentariile este să creați o copie a masterului dvs
sursă și utilizați un mic script pentru a elimina comentariile chiar înainte de a procesa și transforma
textul tau. Pentru a evita faptul că refdbxp nu tratează entitățile externe
corect, utilizați un instrument ca sgmlnorm (livrat cu pachetele Jade/OpenJade) către
preprocesează documentul. Pentru a evita suportul lipsă al mai multor baze de date,
bine... doar așteaptă.

OPŢIUNI


-h
Tipărește un rezumat al comenzii pe ecran și iese.

-s
Creați citate folosind notația scurtă. Implicit este utilizarea notației complete.

-t formatul de intrare
Selectați tipul de intrare. Valorile acceptate în prezent sunt db31 (Versiunea DocBook SGML
3.1 sau mai recent), db31x (DocBook XML, toate versiunile) și teix (TEI XML).

EXEMPLU


Să încercăm mai întâi cea mai comună utilizare a refdbxp. Următoarea comandă extinde toate
citările, indiferent dacă sunt scrise în notație scurtă sau integrală, în întregime
notație și scrie rezultatul într-un fișier nou foo.full.sgml. Intrarea de la foo.sgml este
presupus a fi DocBook SGML:

~$
refdbxp -t db31 < foo.sgml > foo.full.sgml

Următoarea comandă merge în sens invers. De data aceasta convertim toate citările unui XML TEI
document, indiferent dacă sunt scrise în notație scurtă sau completă, la scurt
notație și scrieți rezultatul într-un fișier nou:

~$
refdbxp -t teix -s < bar.xml > bar.short.xml

Ultimul exemplu arată cum să tratați documentele care constau din mai multe fișiere. DocBook-ul
Fișierul master SGML foo_master.sgml include câteva alte subdocumente ca entități externe.
Tratarea acelor fișiere individual cu refdbxp ar strica lucrurile ca
prima/problema de citare ulterioară nu ar fi tratată corect și coliziunile de
ar rezulta ID-uri de elemente create automat. Următoarea comandă vine în ajutor
și extinde corect toate citările din document:

~$
osgmlnorm -dn /usr/local/share/sgml/docbook/4.1/docbook.dcl foo_master.sgml | refdbxp -t db31 > foo.full.sgml

notițe
Poate ți-ai dat seama că există două mici probleme cu această procedură. Primul,
utilizarea (o)sgmlnorm va include și entitatea externă care conține (sau va conține
odată ce este creat) elementul de bibliografie creat de refdb. O modalitate de a evita acest lucru este
pentru a utiliza un fișier simulat care conține doar referința entității într-un comentariu. Sa presupunem
documentul dumneavoastră foo.sgml dorește să includă bibliografia folosind entitatea
declarație %bibliografie; la locul potrivit. Entitatea este declarată în
subsetul declarație în partea de sus a fișierului sursă ca fișier extern foo.bib.sgml.
Apoi ar trebui să creați un fișier foo.bib.sgml cu următorul conținut:



Trebuie să comentăm referința la entitate, deoarece acestea pot fi imbricate, adică analizatorul
ar încerca să înlocuiască din nou această entitate și eșuează deoarece entitatea este deja deschisă.
După conversie, trebuie doar să decomentați entitatea parametru. Daca iti place mult
comenzi, puteți face acest lucru din mers astfel:

~$
osgmlnorm -dn /usr/local/share/sgml/docbook/4.1/docbook.dcl foo_master.sgml | refdbxp -t db31 | sete 's% %\&bibliografie;%' > foo.full.sgml

În al doilea rând, (o)nsgmlnorm nu va scoate subsetul de declarații interne de care avem nevoie
cel puțin pentru a declara entitatea parametru pentru bibliografie. Ai putea rezolva asta cu un
comanda sed de-a lungul liniilor comenzii prezentate mai sus sau adăugați-o înapoi manual.

Utilizați refdbxp online folosind serviciile onworks.net



Cele mai recente programe online Linux și Windows