text:
Laser hair removal
From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (November 2015) (Learn how and when to remove this template message)
Laser hair removal is the process of hair removal by means of exposure to pulses of laser light that destroy the hair follicle. It had been performed experimentally for about twenty years before becoming commercially available in the mid-1990s.[1] One of the first published articles describing laser hair removal was authored by the group at Massachusetts General Hospital in 1998.[2][3] Laser hair removal is widely practiced in clinics, and even in homes using devices designed and priced for consumer self-treatment. Many reviews of laser hair removal methods, safety, and efficacy have been published in the dermatology literature.[4]
Laser hair removal
R. Rox Anderson was an MIT graduate who received his MD degree magna cum laude.[5] He discovered that it was possible to selectively target a specific chromophore with a laser to partially damage basal stem cells inside the hair follicles. This method proved to be successful, and was first applied in 1996. In 1997 the United States Food and Drug Administration approved this tactic of hair removal. As this technology continued to be researched, laser hair removal became more effective and efficient; thus, it is now a common method in removing hair for long periods of time.
Contents
[hide]
1 How it works
2 Comparisons with other removal techniques
2.1 Comparison with intense pulsed light
2.2 Comparison with electrolysis
2.3 Comparison with shaving
2.4 Comparison with waxing
3 Regulation
4 Types
5 Number of sessions
6 Side effects and risks
7 See also
8 References
9 External links
How it works
The primary principle behind laser hair removal is selective photothermolysis (SPTL), the matching of a specific wavelength of light and pulse duration to obtain optimal effect on a targeted tissue with minimal effect on surrounding tissue. Lasers can cause localized damage by selectively heating dark target matter, melanin, thereby heating up the basal stem cells in the follicle which causes hair growth, the follicle, while not heating the rest of the skin. Light is absorbed by dark objects but reflected by light objects and water, so laser energy can be absorbed by dark material in the hair or skin, with much more speed and intensity than just the skin without any dark adult hair or melanin.
Melanin is considered the primary chromophore for all hair removal lasers currently on the market. Melanin occurs naturally in the skin and gives skin and hair their color. There are two types of melanin in hair. Eumelanin gives hair brown or black color, while pheomelanin gives hair blonde or red color. Because of the selective absorption of photons of laser light, only hair with color such as black, brown, or reddish-brown hair or dirty blonde can be removed. White hair, light blonde and strawberry blonde hair does not respond well. Laser works best with dark coarse hair. Light skin and dark hair are an ideal combination, being most effective and producing the best results, but lasers such as the Nd:YAG laser are able to target black hair in patients with dark skin with some success.[6][7]
Hair removal lasers have been in use since 1997 and have been approved for "permanent hair reduction" in the United States by the Food and Drug Administration (FDA).[7][8] Under the FDA's definition, "permanent" hair reduction is the long-term, stable reduction in the number of hairs regrowing after a treatment regime. Indeed, many patients experience complete regrowth of hair on their treated areas in the years following their last treatment. This means that although laser treatments with these devices will permanently reduce the total number of body hairs, they will not result in a permanent removal of all hair.[9]
Laser hair removal has become popular because of its speed and efficacy, although some of the efficacy is dependent upon the skill and experience of the laser operator, and the choice and availability of different laser technologies used for the procedure. Some will need touch-up treatments, especially on large areas, after the initial set of 3-8 treatments.
Comparisons with other removal techniques
Comparison with intense pulsed light
A 2006 review article in the journal "Lasers in Medical Science" compared intense pulsed light (IPL) epilators and both alexandrite and diode lasers. The review found no statistical difference in short term effectiveness, but a higher incidence of side effects with diode laser based treatment. Hair reduction after 6 months was reported as 68.75% for alexandrite lasers, 71.71% for diode lasers, and 66.96% for IPL. Side effects were reported as 9.5% for alexandrite lasers, 28.9% for diode lasers, and 15.3% for IPL. All side effects were found to be temporary and even pigmentation changes returned to normal within 6 months.[10]
IPL, though technically not containing a laser, are sometimes incorrectly referred to as "laser hair removal". IPL-based methods, sometimes called "phototricholysis", or "photoepilation", use xenon flash lamps that emit full spectrum light. IPL systems typically output wavelengths between 400 nm and 1200 nm. Filters are applied to block shorter wavelengths, thereby only utilizing the longer, "redder" wavelengths for clinical applications. IPLs offer certain advantages over laser, principally in the pulse duration. While lasers may output trains of short pulses to simulate a longer pulse, IPL systems can generate pulse widths up to 250ms which is useful for larger diameter targets. Some current IPL systems have proven to be more successful in the removal of hair and blood vessels than many lasers.[11][12][13]
Comparison with electrolysis
Electrolysis is another hair removal method that has been used for over 135 years.[14] Like newer laser technology used properly and with several treatments, electrolysis can be used to remove 100% of the hair from an area and is effective on hair of all colors, if used at an adequate power level with proper technique. But the treatment is very slow and tedious compared with typical newer laser hair removal. More hair may grow in certain areas that are prone to hormone-induced growth (e.g. a woman's chin and neck) based on individual hormone levels or changes therein, and one's genetic predisposition to grow new hair.
A study conducted in 2000 at the ASVAK Laser Center in Ankara, Turkey comparing alexandrite laser and electrolysis for hair removal on 12 patients concluded that laser hair removal was 60 times faster, less painful and more reliable than electrolysis. It is important to note that the type of electrolysis performed in the study was galvanic electrolysis, rather than thermolysis or a blend of the two. Galvanic current requires 30 seconds to more than a minute to release each hair whereas thermolysis or a blend can require much less. This study thus did not test the capability of all forms of modern electrolysis.[15]
Comparison with shaving
Shaving is a technique in which one removes hair from the skin with a razor. A razor is needed to shave and is a way of removing hair for a short period of time.
Shaving has been popular as a temporary hair removal technique since at least the 1700s.[16] In 1895 King Gillette invented a razor that was sharp, thin, disposable, and cheap enough to make.[17] This razor was a big hit and has now been modified to look like how they are today.
Shaving, however, is not as permanent as laser hair removal and can lead to irritation of the shaved area.
Comparison with waxing
Waxing is another option for hair removal. This method is an efficient way of removing hair for a semi-permanent period of time. The ancient Egyptians developed a similar mechanism, sugaring, in which one would mix oil and honey then apply it to the skin.[18][19]
As waxing has evolved, there are two types of waxing. In one, the strips are already ready to use, and one can apply it to the skin and peel it off in the direction opposite to the hair growth. Another one involves heating up the wax, applying it to the skin, and then placing a cloth on it and pulling away from the hair growth.[20]
Regulation
In some countries, including the U.S., hair removal is an unregulated procedure that anyone can do. In some places, only doctors and doctor-supervised personnel can do it, while in other cases permission extends to licensed professionals, such as regular nurses, physician assistants, estheticians, and/or cosmetologists.[21]
In Florida, the use of lasers, laser-like devices and intense pulsed light devices is considered medicine, and requires they be used only by a physician (D.O. or M.D.), a physician assistant under the supervision of a physician, or an advanced registered nurse practitioner under a protocol signed by a physician. An electrologist working under the direct supervision and responsibility of a physician is also allowed to perform laser hair removal in the state of Florida.[22]
Types
Several wavelengths of laser energy have been used for hair removal, from visible light to near-infrared radiation. These lasers are characterized by their wavelength, measured in nanometers (nm):[23]
Laser Used Wavelength (nm) Light Source Type of Skin used on
Argon 488 nm or 514.5 nm Turquoise/Cyan or Green No longer used
Ruby 694.3 nm Deep red Pale
Alexandrite 755 nm Near-infrared All skin types
Pulsed diode array 810 nm Near-infrared Pale to medium
Nd:YAG 1064 nm Infrared Darker complexion
Intense pulsed light (IPL is not a laser) 650 nm Not a laser Pale to medium
Hair-removal laser working at 755 and 1064 nm. The device to the right provides air cooling.
Pulse width (or duration) is one of the most important considerations. The length of the heating pulse relates directly to the damage achieved in the follicle. When attempting to destroy hair follicles the main target is the germ cells which live on the surface of the hair shaft. Light energy is absorbed by the melanin within the hair and heat is generated. The heat then conducts out towards the germ cells. As long as a sufficient temperature is maintained for the required time then these cells will be successfully destroyed. This is absolutely critical – attaining the required temperature is not sufficient unless it is kept at that temperature for the corresponding time. This is determined by the Arrhenius Rate Equation.[24] To achieve these conditions the laser/IPL system must be able to generate the required power output. The main reason why hair removal fails is simply because the equipment cannot generate the desired temperature for the correct time.
Spot size, or the width of the laser beam, directly affects the depth of penetration of the light energy due to scattering effects in the dermal layer. Larger beam diameters or those devices that has a linear scanning[25][26] results in deeper deposition of energy and hence can induce higher temperatures in deeper follicles. Hair removal lasers have a spot size about the size of a fingertip (3–18mm).
Fluence or energy density is another important consideration. Fluence is measured in joules per square centimeter (J/cm²). It's important to get treated at high enough settings to heat up the follicles enough to disable them from producing hair.
Epidermal cooling has been determined to allow higher fluences and reduce pain and side effects, especially in darker skin. Three types of cooling have been developed:
Contact cooling: through a window cooled by circulating water or other internal coolant. This type of cooling is by far the most efficient method of keeping the epidermis protected since it provides a constant heat sink at the skin surface. Sapphire windows are much more conductive than quartz.
Cryogen spray: sprayed directly onto the skin immediately before and/or after the laser pulse
Air cooling: forced cold air at -34 °C
In essence, the important output parameter when treating hair (and other skin conditions) is power density – this is a combination of energy, spot diameter and pulse duration. These three parameters determine what actually happens when the light energy is absorbed by the tissue chromophore be it melanin, hemoglobin or water, with the amount of tissue damaged being determined by the temperature/time combination.
Number of sessions
Hair grows in several phases (anagen, telogen, catagen) and a laser can only affect the currently active growing hair follicles (early anagen). Hence, several sessions are needed to damage the hair in all phases of growth and force it to revert back to a vellus non-colored small hair.[27]
Multiple treatments depending on the type of hair and skin color have been shown to provide long-term reduction of hair. Most patients need a minimum of seven treatments. Current parameters differ from device to device but manufacturers and clinicians generally recommend waiting from three to eight weeks between sessions, depending on the area being treated. The number of sessions depends on various parameters, including the area of the body being treated, skin color, coarseness of hair, reason for hirsutism, and sex. Coarse dark hair on light skin is easiest to treat. Certain areas (notably men's faces) may require considerably more treatments to achieve desired results.
Laser does not work well on light-colored hair, red hair, grey hair, white hair, as well as fine hair of any color, such as vellus. For darker skinned patients with black hair, the long-pulsed Nd:YAG laser with a cooling tip can be safe and effective when used by an experienced practitioner.
Typically the shedding of the treated hairs takes about two to three weeks. These hairs should be allowed to fall out on their own and should not be manipulated by the patient for certain reasons, chiefly to avoid infections. Pulling hairs after a session can be more painful as well as counteract the effects of the treatment.
Side effects and risks
This section needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (July 2017) (Learn how and when to remove this template message)
Some normal side effects may occur after laser hair removal treatments, including itching, pink skin, redness, and swelling around the treatment area or swelling of the follicles (follicular edema). These side effects rarely last more than two or three days. The two most common serious side effects are acne and skin discoloration.
Some level of pain should also be expected during treatments. Numbing creams are available at most clinics, sometimes for an additional cost. Some numbing creams are available over the counter. Use of strong numbing creams over large skin areas being treated at one time must be avoided, as this has seriously harmed, and even killed, patients.[28][dead link] Typically, the cream should be applied about 30 minutes before the procedure. Icing the area after the treatment helps relieve the side effects faster. Ibrahimi and Kilmer reported a study of a novel device of diode handpiece with a large spot size which used vacuum-assisted suction to reduce the level of pain associated with laser treatment.[29]
Unwanted side effects such as hypo- or hyper-pigmentation or, in extreme cases, burning of the skin call for an adjustment in laser selection or settings. Risks include the chance of burning the skin or discoloration of the skin, hypopigmentation (white spots), flare of acne, swelling around the hair follicle (considered a normal reaction), scab formation, purpura, and infection. These risks can be reduced by treatment with an appropriate laser type used at appropriate settings for the individual's skin type and treatment area.
Some patients may show side effects from an allergy to either the hair removal gel used with certain laser types or to a numbing cream, or to simply shaving the area too soon in relation to the treatment.
See also
Depilatory
Electrology
Hair removal
Shaving
References
Jump up ^ "Hair Removal Methods: Laser History and Current Issues". Quackwatch.
Jump up ^ Dierickx, Christine C; Grossman, Melanie C; Farinelli, William A; Anderson, R. Rox (1998). "Permanent Hair Removal by Normal-Mode Ruby Laser". Archives of Dermatology. 134 (7). doi:10.1001/archderm.134.7.837.
Jump up ^ Gold, Michael H (2007). "Lasers and light sources for the removal of unwanted hair". Clinics in Dermatology. 25 (5): 443–53. doi:10.1016/j.clindermatol.2007.05.017. PMID 17870522.
Jump up ^ Eremia, Sorin; Li, Cindy Y; Umar, Sanusi H; Newman, Nathan (2001). "Laser Hair Removal: Long-Term Results with a 755 nm Alexandrite Laser". Dermatologic Surgery. 27 (11): 920–4. doi:10.1046/j.1524-4725.2001.01074.x. PMID 11737124.
Jump up ^ "The Wellman Center for Photomedicine: Faculty: Rox Anderson, MD". wellman.massgeneral.org. Retrieved 2017-05-08.
Jump up ^ Bhargava, Amber (November 26, 2012). "Beauty and the Geek: The Engineering Behind Laser Hair Removal". Illumin. [self-published source?]
^ Jump up to: a b "Laser Facts". FDA.gov.
Jump up ^ Draelos, Zoe Diana (2015-10-08). Cosmetic Dermatology: Products and Procedures. John Wiley & Sons. ISBN 9781118655481.
Jump up ^ "Radiation-Emitting Products: Laser Facts". FDA.
Jump up ^ Toosi, Parviz; Sadighha, Afshin; Sharifian, Ali; Razavi, Gita Meshkat (2006). "A comparison study of the efficacy and side effects of different light sources in hair removal". Lasers in Medical Science. 21 (1): 1–4. doi:10.1007/s10103-006-0373-2. PMID 16583183.
Jump up ^ Drosner, Michael; Ellwanger, Jürgen; Schöttle, Kristina; Stockmeier, Markus; Gatty, Florian; Hellbrügge, Georg; Christiansen, Kåre (2008). "Comparison of intense pulsed light (IPL) and pulsed dye laser (PDL) in port-wine stain treatment". Medical Laser Application. 23 (3): 133–40. doi:10.1016/j.mla.2008.05.004.
Jump up ^ Babilas, Philipp; Schreml, Stephan; Eames, Tatiana; Hohenleutner, Ulrich; Szeimies, Rolf-Markus; Landthaler, Michael (2010). "Split-face comparison of intense pulsed light with short- and long-pulsed dye lasers for the treatment of port-wine stains". Lasers in Surgery and Medicine. 42 (8): 720–7. doi:10.1002/lsm.20964. PMID 20886506.
Jump up ^ Barikbin, Behrooz; Ayatollahi, Azin; Hejazi, Somayeh; Saffarian, Zahra (2011). "The Use of Intense Pulsed Light (IPL) for the Treatment of Vascular Lesions". Journal of Lasers in Medical Sciences. 2 (2): 73–81. doi:10.22037/2010.v2i2.2287.
Jump up ^ Michel, CE (Oct 1875). "Trichiasis and distichiasis; with an improved method for radical treatment". St. Louis Clinical Record. 2: 145–8.
Jump up ^ Görgü, Metin; Aslan, Gürcan; Aköz, Tayfun; Erdoğan, Bülent (2000). "Comparison of Alexandrite Laser and Electrolysis for Hair Removal". Dermatologic Surgery. 26 (1): 37–41. doi:10.1046/j.1524-4725.2000.99104.x. PMID 10632684.
Jump up ^ "From Perret to Kampfe: Origins of the Safety Razor". www.shaveworld.org. Retrieved 2017-05-09.
Jump up ^ Tarantola, Andrew. "A Nick in Time: How Shaving Evolved Over 100,000 Years of History". Gizmodo. Retrieved 2017-05-09.
Jump up ^ "Back in time - History of Hygiene - Hair Removal". www.hygieneforhealth.org.au. Retrieved 2017-05-09.
Jump up ^ "Marzena - The Home of Hair Removal". depilatories.com. Retrieved 2017-05-09.
Jump up ^ "The advantages of waxing, potential side effects and how hot wax works". www.hairfinder.com. Retrieved 2017-05-09.
Jump up ^ "The Lowdown on Hair Removal | National Laser Institute". National Laser Institute. 2012-05-09. Retrieved 2017-05-08.
Jump up ^ "Laser regulations by state | HairFacts | Hair Removal Information". www.hairfacts.com. Retrieved 2017-05-08.
Jump up ^ "Laser Hair Removal: Background, History of the Procedure, Problem". 2016-06-28.
Jump up ^ Murphy, M. J; Torstensson, P. A (2013). "Thermal relaxation times: An outdated concept in photothermal treatments". Lasers in Medical Science. 29 (3): 973–8. doi:10.1007/s10103-013-1445-8. PMID 24085595.
Jump up ^ Grunewald, Sonja; Bodendorf, Marc Oliver; Zygouris, Alexander; Simon, Jan Christoph; Paasch, Uwe (2014). "Long-term efficacy of linear-scanning 808 nm diode laser for hair removal compared to a scanned alexandrite laser". Lasers in Surgery and Medicine. 46 (1): 13–9. doi:10.1002/lsm.22185. PMID 24127195.
Jump up ^ https://aestheticsjournal.com/feature/the-latest-advancements-in-laser[full citation needed]
Jump up ^ "Laser Hair Removal History - Serenity Rejuvenation Center". Serenity Rejuvenation Center. Retrieved 2017-05-08.
Jump up ^ Public Health Advisory: Life-Threatening Side Effects with the Use of Skin Products Containing Numbing Ingredients for Cosmetic Procedures, FDA
Jump up ^ Ibrahimi, Omar A; Kilmer, Suzanne L (2012). "Long-Term Clinical Evaluation of a 800-nm Long-Pulsed Diode Laser with a Large Spot Size and Vacuum-Assisted Suction for Hair Removal". Dermatologic Surgery. 38 (6): 912–7. doi:10.1111/j.1524-4725.2012.02380.x. PMID 22455549.
External links
Wikimedia Commons has media related to Laser hair removal.
Laser Facts (US Food and Drug Administration)
Additional Information on Removing Hair Safely
American Academy of Dermatology, Public Resource Center, Laser Hair Removal
American Society for Dermatologic Surgery: "Laser Hair Removal Fact Sheet"
National Laser Institute: "Laser Hair Removal Fact Sheet"
[show]
v
t
e
Cosmetics
Face
Anti-aging cream
BB cream
Botulinum toxin (Botox)
Concealer
Cotton pad
Cleanser
Facial
Facial toning
Foundation
Moisturizer
Permanent makeup
Primer
Powder
Rouge
Skin whitening
Toner
Veil
Venetian ceruse
Lips
Lipstick
Balm
Gloss
Liner
Plumper
Stain
Eyes
Blepharoplasty
Circle contact lens
Eyelash extensions
Eyelid glue
Eye liner
Eye shadow
Kohl
Mascara
Hair
Conditioner
Hair coloring and bleaching
Removal
chemical
electric
laser
IPL
plucking
shaving
threading
waxing
Shampoo
Styling products
gel
mousse
pomade
spray
wax
Nails
Artificial nails
Buffing
Manicure
Nail polish
Pedicure
Body
Body powder
Cold cream
Lotion
Cosmetic surgery
Peeling
Skin whitening
Related topics
Cosmetic electrotherapy
Cosmetic ingredients
Cosmetics advertising
Cosmetology
History of cosmetics
Cosmetic industry
[show]
Major cosmetic brands
Ahava
Almay
AmorePacific
Anna Sui
Artistry
Aveda
Avon
Bath & Body Works
Benefit
Biotherm
Bobbi Brown
Bonne Bell
Brihans Natural Products
Bumble and bumble
Burt's Bees
Carol's Daughter
Clarins
Clinique
Coty
CoverGirl
Creme 21
Cutex
Daigaku Honyaku Center
Elizabeth Arden, Inc.
Estée Lauder
Eyes Lips Face
Etude House
Faberge
Farmec
Garnier
Guerlain
Hard Candy
Helena Rubinstein
Kao Corporation
Kevyn Aucoin
Kiehl's
Lancôme
Laneige
Laura Mercier
Laura Mercier Cosmetics
Lise Watier
L'Oréal
L'occitane
Love Cosmetics
Lush
MAC Cosmetics
Mary Kay
Max Factor
Maybelline
Missha
Molton Brown
NARS
Natura
Natural Wonder
Nature Republic
Neal's Yard Remedies
Neutrogena
Nexxus
Nivea
O Boticário
OPI
Oriflame
Origins
Paula Begoun
Pond's
Red Earth
Revlon
Richard Hudnut
Rimmel
Sephora
Shiseido
Shu Uemura
SimplySiti
SK-II
SkinCeuticals
Skin Food
Stila
The Body Shop
The Face Shop
ULTA Beauty
Ultima II
Urban Decay
Vaseline
Vichy
Victoria's Secret
Wella
Yves Rocher
Categories
Companies
People
History
[show]
v
t
e
Human hair
List of hairstyles / facial hairstyles
Classification
by type
Lanugo
Androgenic
Terminal
Vellus
by location
Nose
Ear
Eyebrow
Eyelash
Underarm
Chest
Abdominal
Pubic
Leg
[show]
v
t
e
Human hair color
Hair color
Black
Blond
Brown (varieties: Chestnut • Auburn)
Red (varieties: Auburn • Titian)
White/Grey
Hair coloring
Blue rinse
Grecian Formula
Hair dye stripping
Hair highlighting
Henna
Hydrogen peroxide
Blue hair
Other
Disappearing blonde gene
Fischer–Saller scale
Fischer scale
Melanocortin 1 receptor
Hairstyles
Afro
Asymmetric cut
Bald
Bangs
Beehive
Big hair
Blowout
Bob cut
Bouffant
Bowl cut
Braid or Plait
Brush cut
Bun (odango)
Bunches
Burr
Businessman cut
Butch cut
Buzz cut
Caesar cut
Chignon
Chonmage
Chupryna
Comb over
Conk
Cornrows
Crew cut
Crochet braids
Croydon facelift
Curly hair
Curtained hair
Devilock
Dido flip
Digital perm
Dreadlocks
Duck's ass
Extensions
Feathered hair
Finger wave
Flattop
Fontange
French braid
French twist
Frosted tips
Hair crimping
Harvard clip
High and tight
Hime cut
Historical Christian hairstyles
Hi-top fade
Induction cut
Ivy League
Jewfro
Jheri curl
Kinky hair
Kiss curl
Layered hair
Liberty spikes
Long hair
Lob cut
Marcelling
Mod cut
Mohawk
Mullet
1950s
1980s
Pageboy
Part
Payot
Pigtail
Pixie cut
Pompadour
Ponytail
Punch perm
Princeton
Professional cut
Queue
Quiff
Rattail
Razor cut
Regular haircut
Regular taper cut
Ringlets
Shag (Shaggy hair)
Shape-Up
Shimada
Short back and sides
Short brush cut
Short hair
Spiky hair
Straight hair
Standard haircut
Surfer hair
Taper cut
Tonsure
Updo
Undercut
Waves
Wings
Facial hair
Beard
Chinstrap
Designer stubble
Goatee
Moustache
Fu Manchu
handlebar
horseshoe
pencil
toothbrush
walrus
Shenandoah (Chin curtain)
Sideburns
Soul patch
Van Dyke
Hair loss
Cosmetic
Removal
waxing
threading
plucking
chemical
electric
laser
IPL
Shaving
head
leg
cream
brush
soap
Razor
electric
safety
straight
other
Alopecia
areata
totalis
universalis
Male-pattern hair loss
Glabrousness
Hypertrichosis
Management
Trichophilia
Trichotillomania
Pogonophobia
Haircare Products
Brush
Clay
Clipper
Comb
Conditioner
Dryer
Gel
Hot comb
Iron
Mousse
Pomade
Relaxer
Rollers
Shampoo
Spray
Wax
Haircare Techniques
Backcombing
Crimping
Curly Girl Method
Hair cutting
Perm
Shampoo and set
Straightening
Documentaries
My Nappy Roots: A Journey Through Black Hair-itage (2008)
Good Hair (2009)
Related Topics
Afro-textured hair (Kinky hair)
Bearded lady
Barber (pole)
Eponymous hairstyle
Frizz
Good hair (phrase)
Hairdresser
Hair fetishism (pubic)
Hair follicle
Hair growth
Hypertrichosis
Trichotillomania
Retrieved from "https://en.wikipedia.org/w/index.php?title=Laser_hair_removal&oldid=831312867"
Categories:
Hair removal
Laser medicine
Plastic surgery
Hidden categories:
All articles with self-published sources
Articles with self-published sources from October 2017
Articles needing more detailed references
Wikipedia indefinitely semi-protected pages
Articles needing additional references from November 2015
All articles needing additional references
Articles needing additional references from July 2017
All articles with dead external links
Articles with dead external links from February 2018
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
View source
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
In other projects
Wikimedia Commons
Languages
العربية
Español
فارسی
Français
Italiano
עברית
日本語
Polski
Português
Русский
తెలుగు
Türkçe
Українська
4 more
Edit links
This page was last edited on 19 March 2018, at 23:10.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view
Enable previews

value: mw-page-base noprint

value: mw-head-base noprint

value: firstHeading firstHeading en

value: siteSub noprint

value: jump-to-nav mw-jump

attr: class href

value: Help:Introduction to referencing with Wiki Markup/1

value: plainlinks metadata ambox ambox-content ambox-Refimprove

value:
/wiki/Xenon_flash_lamp
mw-redirect
Xenon flash lamp

value:
/wiki/Visible_light
mw-redirect
Visible light

value:
/wiki/Pulsed_diode_array
mw-redirect
Pulsed diode array

value:
/wiki/Epidermis_(skin)
mw-redirect
Epidermis (skin)

value:
nofollow
external text
//doi.org/10.1001%2Farchderm.134.7.837

value:
/wiki/PubMed_Identifier
mw-redirect
PubMed Identifier

value:
nofollow
external text
//www.ncbi.nlm.nih.gov/pubmed/17870522

value:
nofollow
external text
//www.ncbi.nlm.nih.gov/pubmed/11737124

value: The material near this tag may rely on a self-published source. (October 2017)

value:
nofollow
external text
//www.ncbi.nlm.nih.gov/pubmed/16583183

value:
nofollow
external text
//doi.org/10.1016%2Fj.mla.2008.05.004

value:
nofollow
external text
//doi.org/10.1002%2Flsm.20964

value:
nofollow
external text
//www.ncbi.nlm.nih.gov/pubmed/20886506

value:
nofollow
external text
//doi.org/10.22037%2F2010.v2i2.2287

value:
nofollow
external text
//www.ncbi.nlm.nih.gov/pubmed/10632684

value:
nofollow
external text
http://depilatories.com/core/ages.html

value:
nofollow
external text
//www.ncbi.nlm.nih.gov/pubmed/24085595

value:
nofollow
external text
//doi.org/10.1002%2Flsm.22185

value:
nofollow
external text
//www.ncbi.nlm.nih.gov/pubmed/24127195

value: A more detailed citation is required. (October 2017)

value:
nofollow
external text
//www.ncbi.nlm.nih.gov/pubmed/22455549

value: -moz-column-width: 30em; -webkit-column-width: 30em; column-width: 30em; list-style-type: decimal;

value:
/wiki/Lip_plumper
mw-redirect
Lip plumper

value:
/wiki/Faberge_(cosmetics)
mw-redirect
Faberge (cosmetics)

value: Natural Wonder (Revlon subsidiary brand)

value:
/wiki/ULTA_Beauty
mw-redirect
ULTA Beauty

value: nowraplinks collapsible collapsed navbox-subgroup

value: nowraplinks hlist collapsible autocollapse navbox-inner

value:
/wiki/Androgenic_hair
mw-redirect
Androgenic hair

value:
/wiki/Chestnut_hair
mw-redirect
Chestnut hair

value:
/wiki/Fischer_scale
mw-redirect
Fischer scale

value: nowraplinks collapsible autocollapse navbox-inner

value:
padding:0em 0.25em padding:3px
navigation
navbox
Human_hair_color

value:
/wiki/Duck%27s_ass
mw-redirect
Duck's ass

value:
/wiki/Part_(haircut)
mw-redirect
Part (haircut)

value:
/wiki/Straight_hair
mw-redirect
Straight hair

value:
/wiki/Male-pattern_hair_loss
mw-redirect
Male-pattern hair loss

value:
/wiki/Hair_cutting
mw-redirect
Hair cutting

value:
/wiki/Good_hair_(phrase)
mw-redirect
Good hair (phrase)

value: Category:All articles with self-published sources

value: Category:Articles with self-published sources from October 2017

value: Category:Articles needing more detailed references

value: Category:Wikipedia indefinitely semi-protected pages

value: Category:Articles needing additional references from November 2015

value: Category:All articles needing additional references

value: Category:Articles needing additional references from July 2017

value: Category:All articles with dead external links

value: Category:Articles with dead external links from February 2018

value: Discussion about edits from this IP address [ctrl-alt-n]

value: A list of edits made from this IP address [ctrl-alt-y]

value: You are encouraged to create an account and log in; however, it is not mandatory

value: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

value:
/wiki/Laser_hair_removal
View the content page [ctrl-alt-c]
c

value: Discussion about the content page [ctrl-alt-t]

value: p-namespaces navigation vectorTabs p-namespaces-label

value:
p-variants
navigation
vectorMenu emptyPortlet
p-variants-label

value:
This page is protected.
You can view its source [ctrl-alt-e]

value: Past revisions of this page [ctrl-alt-h]

value: p-views navigation vectorTabs p-views-label

value:
p-cactions
navigation
vectorMenu emptyPortlet
p-cactions-label

value:
mw-wiki-logo
/wiki/Main_Page
Visit the main page

value:
/wiki/Main_Page
Visit the main page [ctrl-alt-z]
z

value: Featured content – the best of Wikipedia

value: Find background information on current events

value:
/wiki/Special:Random
Load a random article [ctrl-alt-x]
x

value: portal navigation p-navigation p-navigation-label

value: Guidance on how to use and edit Wikipedia

value: About the project, what you can do, where to find things

value: A list of recent changes in the wiki [ctrl-alt-r]

value: portal navigation p-interaction p-interaction-label

value: portal navigation p-wikibase-otherprojects p-wikibase-otherprojects-label

value: إزالة الشعر بالليزر – Arabic

value: لیزر رفع موهای زائد – Persian

value:
interlanguage-link interwiki-fa
display: none;

value: הסרת שיער בלייזר – Hebrew

value:
interlanguage-link interwiki-he
display: none;

value:
interlanguage-link interwiki-pl
display: none;

value: Лазерная эпиляция – Russian

value: లేజర్ హెయిర్ రిమూవల్ – Telugu

value: Лазерна епіляція – Ukrainian

value:
interlanguage-link interwiki-uk
display: none;

value: All languages (initial selection from common choices by you and others)

value: /static/images/wikimedia-button-1.5x.png 1.5x, /static/images/wikimedia-button-2x.png 2x

value: /static/images/poweredby_mediawiki_132x47.png 1.5x, /static/images/poweredby_mediawiki_176x62.png 2x

value:
suggestions
display: none; font-size: 13px;

value: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Laser_hair_removal rootpage-Laser_hair_removal skin-vector action-view


text:
Document type definition
From Wikipedia, the free encyclopedia
Jump to: navigation, search
A document type definition (DTD) is a set of markup declarations that define a document type for an SGML-family markup language (SGML, XML, HTML).
A Document Type Definition (DTD) defines the legal building blocks of an XML document. It defines the document structure with a list of legal elements and attributes. A DTD can be declared inline inside an XML document, or as an external reference.[1]
XML uses a subset of SGML DTD.
As of 2009[update], newer XML namespace-aware schema languages (such as W3C XML Schema and ISO RELAX NG) have largely superseded DTDs. A namespace-aware version of DTDs is being developed as Part 9 of ISO DSDL. DTDs persist in applications that need special publishing characters, such as the XML and HTML Character Entity References, which derive from larger sets defined as part of the ISO SGML standard effort.
Contents
[hide]
1 Associating DTDs with documents
1.1 Examples
2 Markup declarations
2.1 Element type declarations
2.2 Attribute list declarations
2.3 Entity declarations
2.4 Notation declarations
3 XML DTDs and schema validation
4 XML DTD schema example
5 Security
6 See also
7 References
8 External links
Associating DTDs with documents[edit]
A DTD is associated with an XML or SGML document by means of a document type declaration (DOCTYPE). The DOCTYPE appears in the syntactic fragment doctypedecl near the start of an XML document.[2] The declaration establishes that the document is an instance of the type defined by the referenced DTD.
DTDs make two sorts of declaration:
an optional external subset
an optional internal subset.
The declarations in the internal subset form part of the DOCTYPE in the document itself. The declarations in the external subset are located in a separate text file. The external subset may be referenced via a public identifier and/or a system identifier. Programs for reading documents may not be required to read the external subset.
Note that any valid SGML or XML document that references an external subset in its DTD, or whose body contains references to parsed external entities declared in its DTD (including those declared within its internal subset), may only be partially parsed but cannot be fully validated by validating SGML or XML parsers in their standalone mode (this means that these validating parsers don't attempt to retrieve these external entities, and their replacement text is not accessible).
However, such documents are still fully parsable in the non-standalone mode of validating parsers, which signals an error if it can't locate these external entities with their specified public identifier (FPI) or system identifier (a URI), or are inaccessible. (Notations declared in the DTD are also referencing external entities, but these unparsed entities are not needed for the validation of documents in the standalone mode of these parsers: the validation of all external entities referenced by notations is left to the application using the SGML or XML parser). Non-validating parsers may eventually attempt to locate these external entities in the non-standalone mode (by partially interpreting the DTD only to resolve their declared parsable entities), but do not validate the content model of these documents.
Examples[edit]
The following example of a DOCTYPE contains both public and system identifiers:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
All HTML 4.01 documents conform to one of three SGML DTDs. The public identifiers of these DTDs are constant and are as follows:
-//W3C//DTD HTML 4.01//EN
-//W3C//DTD HTML 4.01 Transitional//EN
-//W3C//DTD HTML 4.01 Frameset//EN
The system identifiers of these DTDs, if present in the DOCTYPE, are URI references. A system identifier usually points to a specific set of declarations in a resolvable location. SGML allows mapping public identifiers to system identifiers in catalogs that are optionally available to the URI resolvers used by document parsing software.
Note that this DOCTYPE can only appear after the optional XML declaration, and before the document body, if the document syntax conforms to XML. This includes XHTML documents:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- the XHTML document body starts here--> <html xmlns="http://www.w3.org/1999/xhtml"> ... </html>
An additional internal subset can also be provided after the external subset:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [ <!-- an internal subset can be embedded here --> ]> <!-- the XHTML document body starts here--> <html xmlns="http://www.w3.org/1999/xhtml"> ... </html>
Alternatively, only the internal subset may be provided:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html [ <!-- an internal subset can be embedded here --> ]> <!-- the XHTML document body starts here--> <html xmlns="http://www.w3.org/1999/xhtml"> ... </html>
Finally, the document type definition may include no subset at all; in that case, it just specifies that the document has a single top-level element (this is an implicit requirement for all valid XML and HTML documents, but not for document fragments or for all SGML documents, whose top-level elements may be different from the implied root element), and it indicates the type name of the root element:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html> <!-- the XHTML document body starts here--> <html xmlns="http://www.w3.org/1999/xhtml"> ... </html>
Markup declarations[edit]
DTDs describe the structure of a class of documents via element and attribute-list declarations. Element declarations name the allowable set of elements within the document, and specify whether and how declared elements and runs of character data may be contained within each element. Attribute-list declarations name the allowable set of attributes for each declared element, including the type of each attribute value, if not an explicit set of valid values.
DTD markup declarations declare which element types, attribute lists, entities, and notations are allowed in the structure of the corresponding class of XML documents.[3]
Element type declarations[edit]
An element type declaration defines an element and its possible content. A valid XML document contains only elements that are defined in the DTD.
Various keywords and characters specify an element’s content:
EMPTY for specifying that the defined element allows no content, i.e., it can't have any children elements, not even text elements (if there are whitespaces, they are ignored);
ANY for specifying that the defined element allows any content, without restriction, i.e., that it may have any number (including none) and type of children elements (including text elements);
or an expression, specifying the only elements allowed as direct children in the content of the defined element; this content can be either:
a mixed content, which means that the content may include at least one text element and zero or more named elements, but their order and number of occurrences can't be restricted; this can be:
( #PCDATA ): historically meaning parsed character data, this means that only one text element is allowed in the content (no quantifier is allowed);
( #PCDATA | element name | ... )*: a limited choice (in an exclusive list between parentheses and separated by "|" pipe characters and terminated by the required "*" quantifier) of two or more child elements (including only text elements or the specified named elements) may be used in any order and number of occurrences in the content.
an element content, which means that there must be no text elements in the children elements of the content (all whitespaces encoded between child elements are then ignored, just like comments). Such element content is specified as content particle in a variant of Backus–Naur form without terminal symbols and element names as non-terminal symbols. Element content consists of:
a content particle can be either the name of an element declared in the DTD, or a sequence list or choice list. It may be followed by an optional quantifier.
a sequence list means an ordered list (specified between parentheses and separated by a "," comma character) of one or more content particles: all the content particles must appear successively as direct children in the content of the defined element, at the specified position and relative order;
a choice list means a mutually exclusive list (specified between parentheses and separated by a "|" pipe character) of two or more content particles: only one of these content particles may appear in the content of the defined element at the same position.
A quantifier is a single character that immediately follows the specified item it applies to, to restrict the number of successive occurrences of these items at the specified position in the content of the element; it may be either:
+ for specifying that there must be one or more occurrences of the item — the effective content of each occurrence may be different;
* for specifying that any number (zero or more) of occurrences is allowed — the item is optional and the effective content of each occurrence may be different;
? for specifying that there must not be more than one occurrence — the item is optional;
If there is no quantifier, the specified item must occur exactly one time at the specified position in the content of the element.
For example:
<!ELEMENT html (head, body)> <!ELEMENT p (#PCDATA | p | ul | dl | table | h1|h2|h3)*>
Note that element type declarations are ignored by non-validating SGML and XML parsers (in which cases, any elements are accepted in any order, and in any number of occurrences in the parsed document), but these declarations are still checked for form and validity.
Attribute list declarations[edit]
An attribute list specifies for a given element type the list of all possible attribute associated with that type. For each possible attribute, it contains:
the declared name of the attribute,
its data type (or an enumeration of its possible values),
and its default value.[4]
For example:
<!ATTLIST img src CDATA #REQUIRED id ID #IMPLIED sort CDATA #FIXED "true" print (yes | no) "yes" >
Here are some attribute types supported by both SGML and XML:
CDATA
this type means characters data and indicates that the effective value of the attribute can be any textual value, unless the attribute is specified as fixed (the comments in the DTD may further document values that are effectively accepted, but the DTD syntax does not allow such precise specification);
ID
the effective value of the attribute must be a valid identifier, and it is used to define and anchor to the current element the target of references using this defined identifier (including as document fragment identifiers that may be specified at end of an URI after a "#" sign); it is an error if distinct elements in the same document are defining the same identifier; the uniqueness constraint also implies that the identifier itself carries no other semantics and that identifiers must be treated as opaque in applications; note that XML also predefines the standard pseudo-attribute "xml:id" with this type, without needing any declaration in the DTD, so the uniqueness constraint also applies to these defined identifiers when they are specified anywhere in a XML document.
IDREF or IDREFS
the effective value of the attribute can only be a valid identifier (or a space-separated list of such identifiers) and must be referencing the unique element defined in the document with an attribute declared with the type ID in the DTD (or the unique element defined in an XML document with a pseudo-attribute "xml:id") and whose effective value is the same identifier;
NMTOKEN or NMTOKENS
the effective value of the attribute can only be a valid name token (or a spaced-separated list of such name tokens), but it is not restricted to a unique identifier within the document; this name may carry supplementary and application-dependent semantics and may require additional naming constraints, but this is out of scope of the DTD;
ENTITY or ENTITIES
the effective value of the attribute can only be the name of an unparsed external entity (or a space-separated list of such names), which must also be declared in the document type declaration; this type is not supported in HTML parsers, but is valid in SGML and XML 1.0 or 1.1 (including XHTML and SVG);
(value1|...)
the effective value of the attribute can only be one of the enumerated list (specified between parentheses and separated by a "|" pipe character) of textual values, where each value in the enumeration is possibly specified between 'single' or "double" quotation marks if it's not a simple name token;
NOTATION (notation1|...)
the effective value of the attribute can only be any one of the enumerated list (specified between parentheses and separated by a "|" pipe character) of notation names, where each notation name in the enumeration must also be declared in the document type declaration; this type is not supported in HTML parsers, but is valid in SGML and XML 1.0 or 1.1 (including XHTML and SVG).
A default value can define whether an attribute must occur (#REQUIRED) or not (#IMPLIED), or whether it has a fixed value (#FIXED), or which value should be used as a default value ("…") in case the given attribute is left out in an XML tag.
Note that attribute list declarations are ignored by non-validating SGML and XML parsers (in which cases any attribute is accepted within all elements of the parsed document), but these declarations are still checked for well-formedness and validity.
Entity declarations[edit]
An entity is similar to a macro. The entity declaration assigns it a value that is retained throughout the document. A common use is to have a name more recognizable than a numeric character reference for an unfamiliar character.[5] Entities help to improve legibility of an XML text. In general, there are two types: internal and external.
Internal (parsed) entities are associating a name with any arbitrary textual content defined in their declaration (which may be in the internal subset or in the external subset of the DTD declared in the document). When a named entity reference is then encountered in the rest of the document (including in the rest of the DTD), and if this entity name has effectively been defined as a parsed entity, the reference itself is replaced immediately by the textual content defined in the parsed entity, and the parsing continues within this replacement text.
Predefined named character entities are similar to internal entities: 5 of them however are treated specially in all SGML, HTML and XML parsers. These entities are a bit different from normal parsed entities, because when a named character entity reference is encountered in the document, the reference is also replaced immediately by the character content defined in the entity, but the parsing continues after the replacement text, which is immediately inserted literally in the currently parsed token (if such character is permitted in the textual value of that token). This allows some characters that are needed for the core syntax of HTML or XML themselves to be escaped from their special syntactic role (notably "&" which is reserved for beginning entity references, "<" or ">" which delimit the markup tags, and "double" or 'single' quotation marks, which delimit the values of attributes and entity definitions). Predefined character entities also include numeric character references that are handled the same way and can also be used to escape the characters they represent, or to bypass limitations in the character repertoire supported by the document encoding.
In basic profiles for SGML or in HTML documents, the declaration of internal entities is not possible (because external DTD subsets are not retrieved, and internal DTD subsets are not supported in these basic profiles).
Instead, HTML standards predefine a large set of several hundred named character entities, which can still be handled as standard parsed entities defined in the DTD used by the parser.
External entities refer to external storage objects. They are just declared by a unique name in the document, and defined with a public identifier (an FPI) and/or a system identifier (interpreted as an URI) specifying where the source of their content. They exist in fact in two variants:
parsed external entities (most often defined with a SYSTEM identifier indicating the URI of their content) that are not associated in their definition to a named annotation, in which case validating XML or SGML parsers retrieve their contents and parse them as if they were declared as internal entities (the external entity containing their effective replacement text);
unparsed external entities that are defined and associated with an annotation name, in which case they are treated as opaque references and signaled as such to the application using the SGML or XML parser: their interpretation, retrieval and parsing is left to the application, according to the types of annotations it supports (see the next section about annotations and for examples of unparsed external entities).
External entities are not supported in basic profiles for SGML or in HTML documents, but are valid in full implementations of SGML and in XML 1.0 or 1.1 (including XHTML and SVG, even if they are not strictly needed in those document types).
An example of internal entity declarations (here in an internal DTD subset of an SGML document) is:
<!DOCTYPE sgml [ <!ELEMENT sgml ANY> <!ENTITY % std "standard SGML"> <!ENTITY % signature " — &author;."> <!ENTITY % question "Why couldn’t I publish my books directly in %std;?"> <!ENTITY % author "William Shakespeare"> ]>
<sgml>&question;&signature;</sgml>
Note that internal entities may be defined in any order, as long as they are not referenced and parsed in the DTD or in the body of the document, in their order of parsing: it is valid to include a reference to a still undefined entity within the content of a parsed entity, but it is invalid to include anywhere else any named entity reference before this entity has been fully defined, including all other internal entities referenced in its defined content (this also prevents circular or recursive definitions of internal entities). This document is parsed as if it was:
<!DOCTYPE sgml [ <!ELEMENT sgml ANY> <!ENTITY % std "standard SGML"> <!ENTITY % signature " — &author;."> <!ENTITY % question "Why couldn’t I publish my books directly in standard SGML?"> <!ENTITY % author "William Shakespeare"> ]>
<sgml>Why couldn’t I publish my books directly in standard SGML? — William Shakespeare.</sgml>
Note that reference to the "author" internal entity is not substituted in the replacement text of the "signature" internal entity. Instead, it is replaced only when the "signature" entity reference is parsed within the content of the "sgml" element, but only by validating parsers (non-validating parsers do not substitute entity references occurring within contents of element or within attribute values, in the body of the document.
This is possible because the replacement text specified in the internal entity definitions permits a distinction between parameter entity references (that are introduced by the "%" character and whose replacement applies to the parsed DTD contents) and general entity references (that are introduced by the "&" character and whose replacement is delayed until they are effectively parsed and validated). The "%" character for introducing parameter entity references in the DTD loses its special role outside the DTD and it becomes a literal character.
However, the references to predefined numeric character entities are substituted wherever they occur, without needing a validating parser (they are only introduced by the "&" character).
Notation declarations[edit]
Notations are used in SGML or XML. They provide a complete reference to unparsed external entities whose interpretation is left to the application (which interprets them directly or retrieves the external entity themselves), by assigning them a simple name, which is usable in the body of the document. For example, notations may be used to reference non-XML data in an XML 1.1 document. For example, to annotate SVG images to associate them with a specific renderer:
<!NOTATION type-image-svg SYSTEM "image/svg">
This declares the MIME type of external images with this type, and associates it with a notation name "type-image-svg". However, notation names usually follow a naming convention that is specific to the application generating or using the notation: notations are interpreted as additional meta-data whose effective content is an external entity and either a PUBLIC FPI, registered in the catalogs used by XML or SGML parsers, or a SYSTEM URI, whose interpretation is application dependent (here a MIME type, interpreted as a relative URI, but it could be an absolute URI to a specific renderer, or a URN indicating an OS-specific object identifier such as a UUID).
The declared notation name must be unique within all the document type declaration, i.e. in the external subset as well as the internal subset, at least for conformance with XML.[6][7]
Notations can be associated to unparsed external entities included in the body of the SGML or XML document. The PUBLIC or SYSTEM parameter of these external entities specifies the FPI and/or the URI where the unparsed data of the external entity is located, and the additional NDATA parameter of these defined entities specifies the additional notation (i.e., effectively the MIME type here). For example:
<!DOCTYPE sgml [ <!ELEMENT sgml (img)*> <!ELEMENT img EMPTY> <!ATTLIST img data ENTITY #IMPLIED> <!ENTITY example1SVG SYSTEM "example1.svg" NDATA example1SVG-rdf> <!NOTATION example1SVG-rdf SYSTEM "example1.svg.rdf"> ]>
<sgml> <img data="example1SVG" /> </sgml>
Within the body of the SGML document, these referenced external entities (whose name is specified between "&" and ";") are not replaced like usual named entities (defined with a CDATA value), but are left as distinct unparsed tokens that may be used either as the value of an element attribute (like above) or within the element contents, provided that either the DTD allows such external entities in the declared content type of elements or in the declared type of attributes (here the ENTITY type for the data attribute), or the SGML parser is not validating the content.
Notations may also be associated directly to elements as additional meta-data, without associating them to another external entity, by giving their names as possible values of some additional attributes (also declared in the DTD within the <!ATTLIST ...> declaration of the element). For example:
<!DOCTYPE sgml [ <!ELEMENT sgml (img)*> <!-- the optional "type" attribute value can only be set to this notation. --> <!ATTLIST sgml type NOTATION ( type-vendor-specific ) #IMPLIED> <!ELEMENT img ANY> <!-- optional content can be only parsable SGML or XML data --> <!-- The optional "title" attribute value must be parsable as text. The optional "data" attribute value is set to an unparsed external entity. The optional "type" attribute value can only be one of the two notations. --> <!ATTLIST img title CDATA #IMPLIED data ENTITY #IMPLIED type NOTATION ( type-image-svg | type-image-gif ) #IMPLIED> <!-- Notations are referencing external entities and may be set in the "type" attributes above, or must be referenced by any defined external entities that cannot be parsed. --> <!NOTATION type-image-svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!NOTATION type-image-gif PUBLIC "image/gif"> <!NOTATION type-vendor-specific PUBLIC "application/VND.specific+sgml"> <!ENTITY example1SVGTitle "Title of example1.svg"> <!-- parsed internal entity --> <!ENTITY example1SVG SYSTEM "example1.svg"> <!-- parsed external entity --> <!ENTITY example1GIFTitle "Title of example1.gif"> <!-- parsed internal entity --> <!ENTITY example1GIF SYSTEM "example1.gif" NDATA type-image-gif> <!-- unparsed external entity --> ]>
<sgml type="type-vendor-specific"> <!-- an SVG image is parsable as valid SGML or XML text --> <img title="&example1SVGTitle;" type="type-image-svg">&example1SVG;</img> <!-- it can also be referenced as an unparsed external entity --> <img title="&example1SVGTitle;" data="example1SVG" /> <!-- a GIF image is not parsable and can only be referenced as an external entity --> <img title="&example1GIFTitle;" data="example1GIF" /> </sgml>
The example above shows a notation named "type-image-svg" that references the standard public FPI and the system identifier (the standard URI) of an SVG 1.1 document, instead of specifying just a system identifier as in the first example (which was a relative URI interpreted locally as a MIME type). This annotation is referenced directly within the unparsed "type" attribute of the "img" element, but its content is not retrieved. It also declares another notation for a vendor-specific application, to annotate the "sgml" root element in the document. In both cases, the declared notation named is used directly in a declared "type" attribute, whose content is specified in the DTD with the "NOTATION" attribute type (this "type" attribute is declared for the "sgml" element, as well as for the "img" element).
However, the "title" attribute of the "img" element specifies the internal entity "example1SVGTitle" whose declaration that does not define an annotation, so it is parsed by validating parsers and the entity replacement text is "Title of example1.svg".
The content of the "img" element references another external entity "example1SVG" whose declaration also does not define an notation, so it is also parsed by validating parsers and the entity replacement text is located by its defined SYSTEM identifier "example1.svg" (also interpreted as a relative URI). The effective content for the "img" element be the content of this second external resource. The difference with the GIF image, is that the SVG image is parsed within the SGML document, according to the declarations in the DTD, where the GIF image is just referenced as an opaque external object (which is not parsable with SGML) via its "data" attribute (whose value type is an opaque ENTITY).
Only one notation name may be specified in the value of ENTITY attributes (there's no support in SGML, XML 1.0 or XML 1.1 for multiple notation names in the same declared external ENTITY, so separate attributes are needed). However multiple external entities may be referenced (in a space-separated list of names) in attributes declared with type ENTITIES, and where each named external entity is also declared with its own notation).
Notations are also completely opaque for XML and SGML parsers, so they are not differentiated by the type of the external entity that they may reference (for these parsers they just have a unique name associated to a public identifier (an FPI) and/or a system identifier (a URI)).
Some applications (but not XML or SGML parsers themselves) also allow referencing notations indirectly by naming them in the "URN:name" value of a standard CDATA attribute, everywhere a URI can be specified. However this behaviour is application-specific, and requires that the application maintains a catalog of known URNs to resolve them into the notations that have been parsed in a standard SGML or XML parser. This use allows notations to be defined only in a DTD stored as an external entity and referenced only as the external subset of documents, and allows these documents to remain compatible with validating XML or SGML parsers that have no direct support for notations.
Notations are not used in HTML, or in basic profiles for XHTML and SVG, because:
All external entities used by these standard document types are referenced by simple attributes, declared with the CDATA type in their standard DTD (such as the "href" attribute of an anchor "a" element, or the "src" attribute of an image "img" element, whose values are interpreted as a URI, without needing any catalog of public identifiers, i.e., known FPI)
All external entities for additional meta-data are referenced by either:
Additional attributes (such as type, which indicates the MIME type of the external entity, or the charset attribute, which indicates its encoding)
Additional elements (such as link or meta in HTML and XHTML) within their own attributes
Standard pseudo-attributes in XML and XHTML (such as xml:lang, or xmlns and xmlns:* for namespace declarations).
Note also that even in validating SGML or XML 1.0 or XML 1.1 parsers, the external entities referenced by an FPI and/or URI in declared notations are not retrieved automatically by the parsers themselves. Instead, these parsers just provide to the application the parsed FPI and/or URI associated to the notations found in the parsed SGML or XML document, and with a facility for a dictionary containing all notation names declared in the DTD; these validating parsers also check the uniqueness of notation name declarations, and report a validation error if some notation names are used anywhere in the DTD or in the document body but not declared:
If the application can't use any notation (or if their FPI and/or URI are unknown or not supported in their local catalog), these notations may be either ignored silently by the application or the application could signal an error.
Otherwise, the applications decide themselves how to interpret them, then if the external entities must be retrieved and then parsed separately.
Applications may then signal an error, if such interpretation, retrieval or separate parsing fails.
Unrecognized notations that may cause an application to signal an error should not block interpretation of the validated document using them.
XML DTDs and schema validation[edit]
The XML DTD syntax is one of several XML schema languages. However, many of the schema languages do not fully replace the XML DTD. Notably, the XML DTD allows defining entities and notations that have no direct equivalents in DTD-less XML (because internal entities and parsable external entities are not part of XML schema languages, and because other unparsed external entities and notations have no simple equivalent mappings in most XML schema languages).
Most XML schema languages are only replacements for element declarations and attribute list declarations, in such a way that it becomes possible to parse XML documents with non-validating XML parsers (if the only purpose of the external DTD subset was to define the schema). In addition, documents for these XML schema languages must be parsed separately, so validating the schema of XML documents in pure standalone mode is not really possible with these languages: the document type declaration remains necessary for at least identifying (with a XML Catalog) the schema used in the parsed XML document and that is validated in another language.
A common misconception holds that a non-validating XML parser does not have to read document type declarations, when in fact, the document type declarations must still be scanned for correct syntax as well as validity of declarations, and the parser must still parse all entity declarations in the internal subset, and substitute the replacement texts of internal entities occurring anywhere in the document type declaration or in the document body.
A non-validating parser may, however, elect not to read parsable external entities (including the external subset), and does not have to honor the content model restrictions defined in element declarations and in attribute list declarations.
If the XML document depends on parsable external entities (including the specified external subset, or parsable external entities declared in the internal subset), it should assert standalone="no" in its XML declaration. The validating DTD may be identified by using XML Catalogs to retrieve its specified external subset.
In the example below, the XML document is declared with standalone="no" because it has an external subset in its document type declaration:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE people_list SYSTEM "example.dtd"> <people_list />
If the XML document type declaration includes any SYSTEM identifier for the external subset, it can't be safely processed as standalone: the URI should be retrieved, otherwise there may be unknown named character entities whose definition may be needed to correctly parse the effective XML syntax in the internal subset or in the document body (the XML syntax parsing is normally performed after the substitution of all named entities, excluding the five entities that are predefined in XML and that are implicitly substituted after parsing the XML document into lexical tokens). If it just includes any PUBLIC identifier, it may be processed as standalone, if the XML processor knows this PUBLIC identifier in its local catalog from where it can retrieve an associated DTD entity.
XML DTD schema example[edit]
An example of a very simple external XML DTD to describe the schema of a list of persons might consist of:
<!ELEMENT people_list (person)*> <!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)> <!ELEMENT name (#PCDATA)> <!ELEMENT birthdate (#PCDATA)> <!ELEMENT gender (#PCDATA)> <!ELEMENT socialsecuritynumber (#PCDATA)>
Taking this line by line:
people_list is a valid element name, and an instance of such an element contains any number of person elements. The * denotes there can be 0 or more person elements within the people_list element.
person is a valid element name, and an instance of such an element contains one element named name, followed by one named birthdate (optional), then gender (also optional) and socialsecuritynumber (also optional). The ? indicates that an element is optional. The reference to the name element name has no ?, so a person element must contain a name element.
name is a valid element name, and an instance of such an element contains "parsed character data" (#PCDATA).
birthdate is a valid element name, and an instance of such an element contains parsed character data.
gender is a valid element name, and an instance of such an element contains parsed character data.
socialsecuritynumber is a valid element name, and an instance of such an element contains parsed character data.
An example of an XML file that uses and conforms to this DTD follows. The DTD is referenced here as an external subset, via the SYSTEM specifier and a URI. It assumes that we can identify the DTD with the relative URI reference "example.dtd"; the "people_list" after "!DOCTYPE" tells us that the root tags, or the first element defined in the DTD, is called "people_list":
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE people_list SYSTEM "example.dtd"> <people_list> <person> <name>Fred Bloggs</name> <birthdate>2008-11-27</birthdate> <gender>Male</gender> </person> </people_list>
One can render this in an XML-enabled browser (such as Internet Explorer or Mozilla Firefox) by pasting and saving the DTD component above to a text file named example.dtd and the XML file to a differently-named text file, and opening the XML file with the browser. The files should both be saved in the same directory. However, many browsers do not check that an XML document conforms to the rules in the DTD; they are only required to check that the DTD is syntactically correct. For security reasons, they may also choose not to read the external DTD.
The same DTD can also be embedded directly in the XML document itself as an internal subset, by encasing it within [square brackets] in the document type declaration, in which case the document no longer depends on external entities and can be processed in standalone mode:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE people_list [ <!ELEMENT people_list (person*)> <!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)> <!ELEMENT name (#PCDATA)> <!ELEMENT birthdate (#PCDATA)> <!ELEMENT gender (#PCDATA)> <!ELEMENT socialsecuritynumber (#PCDATA)> ]> <people_list> <person> <name>Fred Bloggs</name> <birthdate>2008-11-27</birthdate> <gender>Male</gender> </person> </people_list>
Alternatives to DTDs (for specifying schemas) are available:
XML Schema, also referred to as XML Schema Definition (XSD), has achieved Recommendation status within the W3C,[8] and is popular for "data oriented" (that is, transactional non-publishing) XML use because of its stronger typing and easier round-tripping to Java declarations[citation needed]. Most of the publishing world has found that the added complexity of XSD would not bring them any particular benefits[citation needed], so DTDs are still far more popular there. An XML Schema Definition is itself an XML document while a DTD is not.
RELAX NG, which is also a part of DSDL, is an ISO international standard.[9] It is more expressive than XSD[citation needed], while providing a simpler syntax[citation needed], but commercial software support has been slow in coming.
Security[edit]
An XML DTD can be used to create a denial of service (DoS) attack by defining nested entities that expand exponentially, or by sending the XML parser to an external resource that never returns.[10]
For this reason, .NET Framework provides a property that allows prohibiting or skipping DTD parsing,[10] and recent versions of Microsoft Office applications (Microsoft Office 2010 and higher) refuse to open XML files that contain DTD declarations.
See also[edit]
Semantic Web
XML Schema Language Comparison – Comparison to other XML Schema languages.
XML Schema (W3C)
References[edit]
Jump up ^ "Introduction to DTD".
Jump up ^ "doctypedecl". Extensible Markup Language (XML) 1.1. W3C.
Jump up ^ Watt, Andrew H. (2002). Sams teach yourself XML in 10 minutes. Sams Publishing.
Jump up ^ Attribute-list Declaration, Specifications of Extensible Markup Language (XML) 1.1, W3C.
Jump up ^ "DTD Entities". DTD Tutorial. W3Schools.
Jump up ^ Notation Declarations, Specifications of Extensible Markup Language (XML) 1.0, W3C.
Jump up ^ Notation Declarations, Specifications of Extensible Markup Language (XML) 1.1, W3C.
Jump up ^ "XML Schema Part 1: Structures (Second Edition)". W3C. 2004. Retrieved 2011-05-17.
Jump up ^ "ISO/IEC 19757-2:2008 - Information technology -- Document Schema Definition Language (DSDL) -- Part 2: Regular-grammar-based validation -- RELAX NG". ISO. Retrieved 2011-05-17.
^ Jump up to: a b Bryan Sullivan (November 2009). "XML Denial of Service Attacks and Defenses". MSDN Magazine. Retrieved 2013-10-21.
External links[edit]
Definition of the XML document type declaration from Extensible Markup Language (XML) 1.0 (Fourth Edition) on W3.org
Retrieved from "https://en.wikipedia.org/w/index.php?title=Document_type_definition&oldid=835313407"
Categories:
XML-based standards
Hidden categories:
Articles containing potentially dated statements from 2009
All articles containing potentially dated statements
All articles with unsourced statements
Articles with unsourced statements from February 2011
Articles with unsourced statements from November 2008
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
Languages
العربية
Català
Čeština
Deutsch
Eesti
Español
Esperanto
فارسی
Français
한국어
Hrvatski
Interlingua
Italiano
עברית
Magyar
Македонски
Nederlands
日本語
Norsk
Norsk nynorsk
Polski
Português
Русский
Slovenčina
Српски / srpski
Suomi
Svenska
తెలుగు
Türkçe
Українська
中文
22 more
Edit links
This page was last edited on 7 April 2018, at 22:42.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view
Enable previews

tag: div

attr: id class

value: mw-page-base noprint

key: html

type: local

value: mw-head-base noprint

tag: a

attr: id class lang

value: firstHeading firstHeading en

value: siteSub noprint

value: jump-to-nav mw-jump

tag: b

tag: i

attr: href class title

value: /wiki/SGML mw-redirect SGML

attr: href title

tag: p

tag: sup

value: plainlinks noexcerpt noprint asof-tag update

value: International Organization for Standardization

value: List of XML and HTML character entity references

value: Edit section: Associating DTDs with documents

value:
/wiki/Public_identifier
mw-redirect
Public identifier

value:
nofollow
external text
http://www.w3.org/TR/html4/strict.dtd

value:
nofollow
external text
http://www.w3.org/TR/html4/loose.dtd

value:
nofollow
external text
http://www.w3.org/TR/html4/frameset.dtd

value:
/wiki/XML_Catalog
mw-redirect
XML Catalog

value: Edit section: Attribute list declarations

value: Edit section: XML DTDs and schema validation

value:
/wiki/Mozilla_Firefox
mw-redirect
Mozilla Firefox

value: This claim needs references to reliable sources. (February 2011)

value:
noprint Inline-Template Template-Fact
white-space:nowrap;

value: This claim needs references to reliable sources. (November 2008)

value:
/wiki/XML_Schema_Language_Comparison
mw-redirect
XML Schema Language Comparison

value:
nofollow
external text
http://www.w3.org/TR/xml11/#dt-attdecl

value:
nofollow
external text
http://www.w3.org/TR/REC-xml/#Notations

value:
nofollow
external text
http://www.w3.org/TR/xml11/#NT-PublicID

value:
reflist mw-references-wrap
list-style-type: decimal;

value: Category:Articles containing potentially dated statements from 2009

value: Category:All articles containing potentially dated statements

value: Category:All articles with unsourced statements

value: Category:Articles with unsourced statements from February 2011

value: Category:Articles with unsourced statements from November 2008

value: Discussion about edits from this IP address [ctrl-alt-n]

value: A list of edits made from this IP address [ctrl-alt-y]

value: You are encouraged to create an account and log in; however, it is not mandatory

value: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

value:
/wiki/Document_type_definition
View the content page [ctrl-alt-c]
c

value: Discussion about the content page [ctrl-alt-t]

value: p-namespaces navigation vectorTabs p-namespaces-label

value:
p-variants
navigation
vectorMenu emptyPortlet
p-variants-label

value: Past revisions of this page [ctrl-alt-h]

value: p-views navigation vectorTabs p-views-label

value:
p-cactions
navigation
vectorMenu emptyPortlet
p-cactions-label

value:
mw-wiki-logo
/wiki/Main_Page
Visit the main page

value:
/wiki/Main_Page
Visit the main page [ctrl-alt-z]
z

value: Featured content – the best of Wikipedia

value: Find background information on current events

value: List of all English Wikipedia pages containing links to this page [ctrl-alt-j]

value: Recent changes in pages linked from this page [ctrl-alt-k]

value:
/wiki/Wikipedia:File_Upload_Wizard
Upload files [ctrl-alt-u]
u

value: A list of all special pages [ctrl-alt-q]

value: Permanent link to this revision of the page

value: Link to connected data repository item [ctrl-alt-g]

value: Printable version of this page [ctrl-alt-p]

value: تعريف نوع المستند – Arabic

value:
interlanguage-link interwiki-ca
display: none;

value:
interlanguage-link interwiki-cs
display: none;

value:
interlanguage-link interwiki-et
display: none;

value: Definición de tipo de documento – Spanish

value:
interlanguage-link interwiki-eo
display: none;

value: تعریف نوع سند – Persian

value: 문서 형식 정의 – Korean

value:
interlanguage-link interwiki-ko
display: none;

value:
interlanguage-link interwiki-hr
display: none;

value:
https://ia.wikipedia.org/wiki/DTD
DTD – Interlingua
ia
ia
interlanguage-link-target

value:
interlanguage-link interwiki-ia
display: none;

value:
interlanguage-link interwiki-it
display: none;

value:
https://hu.wikipedia.org/wiki/DTD
DTD – Hungarian
hu
hu
interlanguage-link-target

value:
interlanguage-link interwiki-hu
display: none;

value:
https://mk.wikipedia.org/wiki/DTD
DTD – Macedonian
mk
mk
interlanguage-link-target

value:
interlanguage-link interwiki-mk
display: none;

value:
interlanguage-link interwiki-nl
display: none;

value:
interlanguage-link interwiki-no
display: none;

value: Dokumenttypedefinisjon – Norwegian Nynorsk

value:
interlanguage-link interwiki-nn
display: none;

value: Definição de Tipo de Documento – Portuguese

value:
https://ru.wikipedia.org/wiki/DTD
DTD – Russian
ru
ru
interlanguage-link-target

value:
interlanguage-link interwiki-sk
display: none;

value: Дефиниција типа документа – Serbian

value:
interlanguage-link interwiki-sr
display: none;

value:
https://fi.wikipedia.org/wiki/DTD
DTD – Finnish
fi
fi
interlanguage-link-target

value:
interlanguage-link interwiki-fi
display: none;

value:
interlanguage-link interwiki-sv
display: none;

value: డాక్యుమెంట్ టైప్ డెఫినిషన్ – Telugu

value:
https://tr.wikipedia.org/wiki/DTD
DTD – Turkish
tr
tr
interlanguage-link-target

value:
interlanguage-link interwiki-tr
display: none;

value: 文档类型定义 – Chinese

value: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Document_type_definition rootpage-Document_type_definition skin-vector action-view