Udvidelse af Quanta Plus |
forrige | næste |
Indholdsfortegnelse
Dette kapitel beskriver hvordan Quanta Plus kan tilpasses netop dine behov, og hvordan du kan hjælpe til med at gøre Quanta Plus bedre.
Dokumenttype-redigeringspakken (DTEP) bruges i Quanta Plus til at tilføje understøttelse for mærker, scriptsprog og stilskabeloner. De tillader Quanta Plus at levere funktioner såsom automatisk komplettering og knudetræ. Deres enkelhed og fleksibilitet er det der gør Quanta Plus til et hurtig, udviklervenlig integreret udviklingsmiljø for internet-udviklere. De gør Quanta Plus til et letanvendeligt, produktivt miljø.
Der findes to varianter af DTEP, familie 1, som er opmarkeringer, og familie 2 som er scriptsprog og stilskabeloner. En DTEP består af to dele, mærkemappen og værktøjslinjerne. Mærkemapper består af to filtyper, filerne description.rc og XML-mærker, som har endelsen .tag. Værktøjslinjer er bekvemme, ikonorienterede linjer med knapper (ovenfor redigeringsvinduet), som tilføjer til tekst til et dokument hurtigere end brugeren kan skrive.
En DTEP kan laves manuelt (se nedenfor), downloades eller laves automatisk ud fra en eksisterende DTD. Se “Konvertér en DTD til en DTEP” for information om konvertering.
Dette dokument beskriver hvordan XML-mærkefiler, filen description.rc og værktøjslinjer laves. I korthed, en DTEP.
XML-mærkefiler (.tag) definerer både egenskaber specifikke for et mærke, samt layout og indhold i egenskabsdialogen som Quanta Plus viser for mærket. Filen description.rc sørger for regler og information om en hel DTEP. Værktøjslinjer sørger for en hurtig måde at tilføje mærker til et dokument, uden at behøve bekymre sig om fejlstavninger eller lignende.
Mærkemapper er netop det, mapper. De består kun af filerne description.rc og XML-mærkefiler. Mærkemapperne bærer mærkesprogets navn og version, hvis der findes en (for eksempel html-4.01-strict).
Tabellen nedenfor har en liste af elementer som defineres i XML-mærkefiler, og angiver om de kræves eller ej. Selv om ikke alle kræves, anbefales du at anvende så mange som du kan, så andre brugere får en bedre oplevelse og mere information at arbejde med.
Element | Normal brug | Speciel brug |
---|---|---|
TAGS | kræves | altid |
tag | kræves | altid |
label | valgfri | kræves for at oprette en egenskabsdialog |
attr | valgfri | kræves for at definere en egenskab |
tooltip | valgfri | kræves for at lade egenskabsdialogen vis et værktøjstips |
whatsthis | valgfri | kræves for at få egenskabsdialogen til at vise “Hvad er dette” |
list | valgfri | kræves når en egenskab har typen “list” |
item | valgfri | kræves når <list> bruges |
textlocation | valgfri | altid |
location | valgfri | kræves når label bruges |
text | valgfri | kræves når label bruges |
children | valgfri | liste over mærker som kan findes indeni mærket som defineres |
child | kræves | en af indgangene i children |
stoppingtags | valgfri | liste over mærker som fortæller et andet mærke at det har nået slutningen |
stoppingtag | kræves | en af indgangene i stoppingtags |
Følgende afsnit beskriver hvert element i detalje. Alt fra hvor de kan findes, til hvad som findes i dem præsenteres på en måde som er enkel at følge.
Dette er XML-mærkedokumentets rodelement. Det må kun findes en gang i et dokument. Det kan indeholde definitionen af flere mærker. Dette er et typeelement med kun element.
Overliggende | Underliggende |
---|---|
INGEN | tag |
Omgivelse for mærket som defineres. Dette er et typeelement kun med element.
Overliggende | Underliggende |
---|---|
TAGS | label, attr, stoppingtags |
Egenskab | Type | Værdier | Standard | Brug | Beskrivelse |
---|---|---|---|---|---|
navn | streng | kræves | Angiver navnet på mærken som bliver defineret. | ||
single | boolean | valgfri | Angiver om mærket kræver et afsluttende mærke </(mærkenavn)>. | ||
type | streng | xmltag | valgfri | Angiver typen af mærket som defineres. | |
xmltag | Typen for mærket er XML-baseret (kun familie 1). | ||||
entitet | Mærket beskriver en entitet (kun familie 1). | ||||
egenskab | Typen for mærket er CSS™ (kun familie 2). | ||||
funktion | Typen for mærket er en scriptfunktion. Når dette bruges bliver <attr> funktionens argument (kun familie 2). | ||||
klasse | Typen for mærket er en scriptklasse (kun familie 2). | ||||
method | Typen for mærket er en klassemetode (kun familie 2). | ||||
returnType | streng | void | valgfri | Angiver returtypen for mærket som defineres (kun familie 2). | |
void | Mærketypen returnerer ingenting. | ||||
int | Mærketypen returnerar et heltal. | ||||
float | Mærketypen returnerer et decimaltal. | ||||
long | Mærketypen returnerer et langt heltal. | ||||
streng | Mærketypen returnerer en streng. | ||||
version | streng | valgfri | Angiver sprogets version som mærket er gyldig for | ||
extends | streng | valgfri | Kun gyldig hvis typen for mærket er "klasse". Navnet på basisklassen for denne klasse (kun familie 2). | ||
klasse | streng | valgfri | Kun gyldig hvis typen er "method". Angiver navnet på klassen som denne metoden tilhører (kun familie 2). | ||
common | boolean | valgfri | Hvis "yes", angiver mærket en fælles egenskabsgruppe, og egenskaberne inde i mærket kan kobles til et hvilket som helst andet mærke (kun familie 1). | ||
comment | streng | valgfri | kommentarstrengen vises ved siden af mærke taggnavnet i kompletteringsfeltet |
Placér en rubrik i dialogen. Teksten angives af mærket <text>. Dette er et typeelement kun med element.
Overliggende | Underliggende |
---|---|
tag | text, location |
Definerer en egenskab for mærket. Elementet forekommer en gang for hver egenskab. Det definerer egenskabens navn og type. Det indeholder også yderligere mærker som angiver hvordan egenskaben skal vises, osv. Dette er et typeelement med kun element.
Overliggende | Underliggende |
---|---|
tag | location, list, tooltip, whatsthis, textlocation |
Egenskab | Type | Værdier | Standard | Brug | Beskrivelse |
---|---|---|---|---|---|
navn | streng | kræves | Angiver navnet på egenskaben som er ved at blive defineres. | ||
type | streng | input | kræves | Angiver typen for egenskaben som er ved at blive defineres. | |
input | Feltet understøtter frie tekstindgange (tekstfelt). | ||||
check | Feltets værdi er boolesk (afkrydsningsfelt). | ||||
farve | Feltets værdi er en farve. | ||||
url | Feltets værdi er en URL (Lokal fil at henvise til). | ||||
list | Feltets værdi kommer fra en given liste. | ||||
status | streng | valgfri | kræves | Angiver om argumentet kræves eller ej (Kun familie 2). | |
valgfri | Argumentet kræves ikke. | ||||
kræves | Argumentet kræves. | ||||
underforstået | Argumentet er underforstået. | ||||
source | streng | valgfri | Angiver kilden som bruges til at udfylde egenskabens indgang i mærkeeditorens dialog og i egenskabstræet | ||
selection | Den markerede tekst bruges som kilde | ||||
dcop | Resultatet af DCOP-metoden bruges som kilde | ||||
interface | streng | valgfri | Kræver source="dcop". DCOP-grænsefladen inde i Quanta Plus bruges til at hente kildedata. | ||
method | streng | valgfri | Kræver source="dcop" og et grænsefladenavn. DCOP-metodenavnet inde i Quanta Plus bruges til at hente kildedata. | ||
arguments | streng | valgfri | Kræver source="dcop", et grænsefladenavn og et metodenavn. Argumenterne sendes til metoden. Den kan være tom eller "%tagname%", hvilket betyder det nuværende mærkes navn. |
Definerer værktøjsvinket for et felt i dialogen. Dette element er kun tekst.
For nuværende understøttes kun almindelig tekst (du kan ikke bruge opmarkering).
Overliggende | Underliggende |
---|---|
attr | INGEN |
Definerer 'Hvad er dette'-hjælp for et felt i dialogen. Elementet er kun tekst.
For nuværende understøttes kun almindelig tekst (du kan ikke bruge opmarkering).
Overliggende | Underliggende |
---|---|
attr | INGEN |
Et omgivelsesmærke som grupperer punkterne i en liste sammen. Det kan kun findes én gang for hver beskrivelse af en egenskab. Dette er et typeelement kun med element.
Overliggende | Underliggende |
---|---|
attr | item |
Angiver positionen for et mærkes egenskabstekst inde i en dialog. Dette mærke kan kun findes én gang for hver egenskab i dialogen (dvs. en gang for hver <attr>-mærke). Dette element er tomt.
Overliggende | Underliggende |
---|---|
attr | INGEN |
Egenskab | Type | Brug | Beskrivelse |
---|---|---|---|
row | positivt heltal | kræves | Angiver linjen i dialogens layout for et felt eller en etiket. |
col | positivt heltal | kræves | Angiver søjlen i dialogens layout for et felt eller en etiket. |
rowspan | positivt heltal | valgfri | Angiver antal linjer som et felt skal optage. |
colspan | positivt heltal | valgfri | Angiver antal søjler som et felt skal optage. |
Angiver position og størrelse på et felt i dialogen. Dette mærke skal findes én gang for hvert felt i dialogen (dvs. én gang for hvert <attr>- og <label>-mærke). Dette element er tomt.
Overliggende | Underliggende |
---|---|
label, attr | INGEN |
Egenskab | Type | Brug | Beskrivelse |
---|---|---|---|
row | positivt heltal | kræves | Angiver linjen i dialogens layout for et felt eller en etiket. |
col | positivt heltal | kræves | Angiver søjlen i dialogens layout for et felt eller en etiket. |
rowspan | positivt heltal | valgfri | Angiver antal linjer som et felt skal optage. |
colspan | positivt heltal | valgfri | Angiver antal søjler som et felt skal optage. |
Definerer teksten for en etiket eller et afkrydsningsfelt. Dette element er kun tekst.
Overliggende | Underliggende |
---|---|
label, attr | INGEN |
Definerer en liste med elementer som kan findes i mærket som angives. Dette er et typeelement kun med element.
Overliggende | Underliggende |
---|---|
tag | child |
Definerer et underliggende mærke. Dette element er tomt.
Overliggende | Underliggende |
---|---|
children | INGEN |
Egenskab | Type | Værdier | Brug | Beskrivelse |
---|---|---|---|---|
navn | streng | kræves | Angiver et mærke som kan findes indeni et vist mærke. | |
usage | streng | valgfri | Angiver forholdet til det overliggende objekt. | |
kræves | Det overliggende objekt skal have mindst et underliggende objekt med dette navn. |
Definerer en liste med elementer som tvinger et mærke til at slutte. Dette er et typeelement kun med element.
Overliggende | Underliggende |
---|---|
tag | stoppingtag |
Alle XML-mærkefiler skal begynde med XML™-deklarationen: <?xml version="1.0" encoding="UTF-8"?> og skal være hierarkisk indlejrede og afsluttede.
Mellemrum påvirker ingenting negativt, men pas på med tegnene & og <. Disse skal formodentlig erstattes med henholdsvis & og < i elementer såsom <tooltip>, <whatsthis>, og <text>. Hvis dette ikke gøres forårsager det ikke noget sammenbrud, men du vil få dele af dit arbejde til at forsvinde hvis du ikke gør det.
For at validere XML-mærkefiler, klik helt enkelt på dialogen “Værktøj” længst oppe i Quanta Plus og vælg “Validér XML-mærker”. En dialog vises, og du behøver kun at følge de enkle anvisninger.
Denne funktion findes ikke for øjeblikket. For øjeblikket sker valideringen når XML-mærkefilerne indlæses i Quanta Plus.
Følgende viser dig en korrekt familie 1 XML-mærkefil. Filen beskriver tilfældigvis W3C® XML™ farvesammensætningselement <schema>. Filnavnet på denne XML-mærkefil ville være schema.tag. Enkelt, ikke sandt?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE TAGS> <TAGS> <tag name="schema"> <label> <text>id</text> <location col="0" row="0"/> </label> <attr name="id" type="input"> <tooltip>En entydig identifikation for elementet </tooltip> <whatsthis>En entydig identifikation for elementet </whatsthis> <location col="1" row="0"/> </attr> <label> <text>version</text> <location col="0" row="1"/> </label> <attr name="version" type="input"> <tooltip>Version for schema.</tooltip> <whatsthis>Version for schema.</whatsthis> <location col="1" row="1"/> </attr> <label> <text>targetNamespace</text> <location col="0" row="2"/> </label> <attr name="targetNamespace" type="input"> <tooltip>Internet-adressereference for navnerummet for dette schema.</tooltip> <whatsthis>Interneta-dressreference for navnerummet for dette schema.</whatsthis> <location col="1" row="2"/> </attr> <label> <text>xmlns</text> <location col="0" row="3"/> </label> <attr name="xmlns" type="input"> <tooltip>Internet-adressereference for et eller flere navnerum for anvendelse i dette schema. Hvis intet præfiks bruges, kan komponenterne i navnerummet anvendes uden kvalifikation </tooltip> <whatsthis>Internet-adressereference for et eller flere navnerum for anvendelse i dette schema. Hvis intet præfiks bruges, kan komponenterne i navnerummet anvendes uden kvalifikation </whatsthis> <location col="1" row="3"/> </attr> <label> <text>attributeFormDefault</text> <location col="0" row="4"/> </label> <attr name="attributeFormDefault" type="list"> <items> <item>qualified</item> <item>unqualified</item> </items> <tooltip>Standardformular for alle egenskaber i schema.</tooltip> <whatsthis>Standardformular for alle egenskaber i schema.</whatsthis> <location col="1" row="4"/> </attr> <label> <text>elementFormDefault</text> <location col="0" row="5"/> </label> <attr name="elementFormDefault" type="list"> <items> <item>qualified</item> <item>unqualified</item> </items> <tooltip>Standardformular for alle elementer i schema.</tooltip> <whatsthis>Standardformular for alle elementer i schema.</whatsthis> <location col="1" row="5"/> </attr> <label> <text>blockDefault</text> <location col="0" row="6"/> </label> <attr name="blockDefault" type="input"> <location col="1" row="6"/> </attr> <label> <text>finalDefault</text> <location col="0" row="7"/> </label> <attr name="finalDefault" type="input"> <location col="1" row="7"/> </attr> </tag> </TAGS>
Følgende viser dig en korrekt familie 2 XML-mærkefil. Filen beskriver tilfældigvis PHPs overbelastningsfunktion. Filnavnet på denne XML-mærkefil ville være overload.tag.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tags> <tags> <tag name="overload" type="function" returnType="void"> <attr name="class_name" type="string" status="optional"/> </tag> </tags>
Filen description.rc er også meget enkel, og en editor for den er tilgængelig med ->. Det redigerer description.rc for en DTEP som du kan vælge i en liste. For at redigere description.rc for en nyoprettet DTEP, skal du oprette en enkel description.rc med følgende indgange:
[General] Version = Anvend 1 for Quanta Plus version <=3.1.2 og 2 for alle senere versioner. Name = DTD-definitionsstreng. (-//W3C®//DTD HTML 4.01 Transitional//EN) NickName = Det forskønade navnet på en DTD. (HTML 4.01 Transitional). Hvis ikke defineret bruges Name som NickName.
Når du har oprettet den og lagt den ved siden af mærkefilerne, indlæses din nyoprettete DTEP med ->. Efter det er indlæst kan du fortsætte med at redigere indstillingerne i din DTEP. Tjek indgangenes værktøjsvink og Hvad er dette-tekster i redigeringsdialogen for at forstå betydningen af hver post. Som et alternativ kan du læse quanta/data/dtep/dtd-description.txt
i det komprimerede kildekodearkiv, som indeholder en beskrivelse af formatet.
forrige | hjem | næste |
Fejlsøgning i Quanta Plus | op | Brugerdefinerede handlinger |