Attribútum (számítás)
Ha a kérdéses elem egy másik entitás (mondjuk CUSTOMER
) tulajdonságának (CUSTOMER_NAME
) tekinthető, akkor az elemnek nulla vagy több saját attribútuma (tulajdonsága) lehet (CUSTOMER_NAME
a TYPE = "KINDOFTEXT"
-nek).
C#Edit
A C# programozási nyelvben az attribútumok olyan metaadatok, amelyeket egy mezőhöz vagy egy kódblokkhoz csatolnak, mint például az összeállítások, tagok és típusok, és a Java-ban az annotációknak felelnek meg. Az attribútumok mind a fordító, mind pedig a reflexió révén programozottan elérhetők.
A nyelv használói számos példát látnak arra, hogy az attribútumokat keresztmetszeti problémák megoldására és egyéb mechanikai vagy platformhasználatra használják. Ez azt a téves benyomást kelti, hogy ez az egyetlen rendeltetésük.
A metaadatként való konkrét felhasználásuk a fejlesztőre van bízva, és egy adott alkalmazásról, osztályokról és tagokról szóló, nem példányspecifikus információk széles körére terjedhet ki. Az a döntés, hogy egy adott attribútumot tulajdonságként exponálnak-e, szintén a fejlesztőre van bízva, ahogy az is, hogy egy nagyobb alkalmazási keretrendszer részeként használják-e őket.
Az attribútumok a System.Attribute
-ból származtatott osztályokként vannak implementálva. Gyakran használják őket a CLR szolgáltatásai, mint például a COM interoperabilitás, remoting, szerializáció, és futásidőben lekérdezhetők.
A példa azt mutatja, hogyan definiálhatók az attribútumok C#-ban:
// causes compiler message sayingpublic class C {...} // that C is obsoletepublic class ObsoleteAttribute: Attribute { // class name ends with "Attribute" public string Message{ get; } // but can be used as "Obsolete" public bool IsError{ get; set; } public ObsoleteAttribute() {...} public ObsoleteAttribute(string msg) {...} public ObsoleteAttribute(string msg, bool error) {...}}
A fenti első string típusú paraméterhez hasonló pozicionális paraméterek az attribútum konstruktorának paraméterei. A névparaméterek, mint a példában szereplő Boolean paraméter az attribútum tulajdonsága, és állandó értéknek kell lennie.
Az attribútumokat szembe kell állítani az XML dokumentációval, amely szintén metaadatokat definiál, de nem szerepel a lefordított assemblyben, és ezért nem érhető el programozottan.
HTML & JavaScriptEdit
Egy jelölőnégyzet ellenőrzött attribútumának és tulajdonságának megjelenítése annak változásakor.
<!doctype html><html lang="en"><head><body><input name="food" type="meal"> <meta charset="utf-8"> <title>attr demo</title> <style> p { border;1px solid black;font-family; arial, sans-serif;text-align center; } b { color: blue; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script></head><body> <input type="checkbox" checked="checked"><label for="check1">Check me</label><p></p> <script>$( "input" ) .change(function() { var $input = $( this ); $( "p" ).html( ".attr( 'checked' ): <b>" + $input.attr( "checked" ) + "</b><br>" + ".prop( 'checked' ): <b>" + $input.prop( "checked" ) + "</b><br>" + ".is( ':checked' ): <b>" + $input.is( ":checked" ) + "</b>" ); }) .change();</script></body></html>
kattintás előttEdit
.attr( 'checked' ): checked.prop( 'checked' ): false.is( ':checked' ): false
kattintás utánEdit
.attr( 'checked' ): checked.prop( 'checked' ): true.is( ':checked' ): true
Többértékű adatbázisokEdit
Számos posztrelációs vagy többértékű adatbázis-rendszerben az SQL-hez képest a táblák fájlok, a sorok elemek, az oszlopok pedig attribútumok. Mind az adatbázisban, mind a kódban az attribútum a tulajdonság és a változó szinonimája, bár az attribútumok tovább definiálhatók, hogy értékeket és alértékeket tartalmazzanak.
Az első ilyen adatbázis a Pick operációs rendszer volt. Két jelenlegi platform a Rocket U2 Universe és az InterSystems Caché.
XMLEdit
Az XML-ben az attribútum egy név/érték párból álló jelölési konstrukció, amely egy start-tag vagy üres elem tagben létezik. A jelölőnyelvek, mint például a HTML és az XML, attribútumokat használnak az adatok és az adatok formázásának leírására.
Jó példa erre az XML-ben a tulajdonságokhoz (elemekhez) értékek hozzárendelésének folyamata. Vegyük észre, hogy az elem értéke a (különálló) end tag előtt található, nem magában az elemben. Magának az elemnek több attribútumot is megadhatunk (NAME = "IAMAPROPERTY"
).
Ha a kérdéses elem egy másik entitás (mondjuk CUSTOMER
) tulajdonságának (CUSTOMER_NAME
) tekinthető, akkor az elemnek nulla vagy több saját attribútuma (tulajdonsága) is lehet (CUSTOMER_NAME
a TYPE = "KINDOFTEXT"
-nek van).