
Composition
"If you use inheritance where composition will work, your designs will become needlessly complicated." —Bruce Eckel, Thinking in Java
This week's column takes a look at two new specifications that are winding through the W3C Recommendation Track, xml:id as a Proposed Recommendation and XLink 1.1 as a Last Call Working Draft. These two specifications share an important common trait: neither is a standalone vocabulary, but rather they are intended to be combined into larger vocabularies. The formal name for "combining stuff" this way is "composition," this week's topic. First, a thirty-second review of some basic terms for any nonprogrammers.
Code written by someone who has just learned object-oriented techniques is
usually pretty easy to spot. One of the main tells is enthusiastic overuse
of derivation, that is writing new code (called a "class") explicitly
based on existing code, modulo specific changes. Derivation is an important
tool for expressing clear is-a relationships. It would make sense to derive
a new class, say Circle or Polygon, from a more fundamental Shape class,
because a polygon or circle really is a kind of a shape. More to the point,
a sign that derivation makes sense is when circles and polygons can be treated
more generally as shapes, for example the code might say, "Attention all
shapes: render yourselves to SVG." Other cases, however, are not so clear
cut. For example, is an XMLDom class really a derivation of String?
Probably not. In designing software, many such situations arise; experts such
as Bruce Eckel recommend sticking with composition in those cases.
|
Related Reading
XML in a Nutshell |
In the realm of standards, both derivation and composition take place. Derivation might occur when one specification forms an extended subset of another—almost always a sign that something has gone horribly wrong. At a basic level, though, composition happens all the time in the normal course of producing specifications. A look at the XML 1.1 specification shows eight "normative" references, including the Unicode specification, which forms the basis for much of XML's interoperability.
Designing an XML vocabulary is a special case of producing a specification. Despite XML Namespaces finalization more than five years ago, architects are still uncovering trouble in applying composition in XML, more commonly referred to under the banner "compound documents." The first to look at this week is a revision to XLink.
XLink
XLink 1.0 became a W3C Recommendation in June 2001, amid a fair amount of controversy. Support for the standard has been slow to come; in a March 2002 article titled "XLink: Who Cares?" Bob DuCharme noted that only seven partial implementations were available. In fact, the death of XLink has become one of several permathreads on the xml-dev mailing list.
The actual changes in 1.1 are modest, and previously documented. On the xml-dev Len Bullard pondered:
After the thread a while back about the death of XLink, I keep finding examples of it being cited, particularly in the OGC [Open GIS Consortium] literature...I wonder if there is a term for this phenomenon: polite inclusion of other works that are not successful in terms of ground support
One of the most prominent examples of politely including XLink has been inside
SVG (scalable vector graphics), but even there, DTD (document type definition) tricks were used to remove the need for some of the
explicit markup. XLink 1.1 legitimizes the use of sole xlink:href attributes
without need of any further tricks, which is, of course, a pleasant development.
Even so, the changes in version 1.1 don't address the more fundamental complaints with XLink. For example, XLink 1.1 is still incompatible with any version of XHTML, but especially XHTML 2.0, which uses two distinct attribute names for different kinds of links.
However, the remainder of the thread on xml-dev consisted largely of folks pointing out increasing usage of XLink: Geoffrey Shuetrim pointed out use in XBRL, Alexander Johannesen pointed out Topic Maps XTM, and Rick Jelliffe highlighted his company's Schema Management Tool, which uses XLink extensively under the hood.
Does this indicate a resurgence in XLink's fortunes? Bullard concludes by saying that "the usefulness of architectural forms is apparent," a sensible position.
Prediction: XLink 1.1 isn't going to do much beyond encouraging uses where it has historically been politely included.
xml:id
Proposals for something like xml:id go back a long stretch of
time. Even in November of 2001, Leigh Dodds, in this very column, outlined
several proposals including the one we see today substantially as a Proposed
Recommendation. Tim Bray (famously) wrote:
This is in danger of tripping over what is maybe the #1 gaping architectural hole as regards XML & the Web. The problem is that at the moment, given some arbitrary XML, there is no good way to determine what's an ID without recourse to some external resource like a DTD or schema, and that, to use a technical term, sucks.
Who's to say that long-standing problems with XML never get solved? But the
tricky thing about the way specifications interact under composition is that
solving one problem often uncovers another. In this case, the use of the reserved xml prefix,
originally justified for this architectural hole as regards XML, learned a
new trick, or at least unlearned an old one.
The attributes xml:lang and xml:space, both defined
as part of XML itself, as well as later addition xml:base, function
over a scope that includes child elements. For example, defining any of these
attributes once on the root element would have an effect on every element in
the document. But xml:id, in contrast, doesn't follow this assumption: it
applies to a single element. Specifications that made assumptions about scoping
of xml-namespaced attributes will run into problems if documents
with xml:id become common. Canonical XML (including its influence
on XML Signature) is the most often cited example here.
Prediction: xml:id will rapidly find its way into vocabularies that need
well-known IDs, especially without DTD processing. Other specifications that
over assumed about xml-attribute scoping will quickly come into
line.
Conclusion
In Java programming, composition is straightforward and almost foolproof. With specifications, however, it's still possible for all kinds of unexpected interactions to take place. Further, the number of technical specifications seems to be steadily increasing with time, so that chances of conflicts continue to rise. The xml:id example showed that sometimes even a nearly-unrelated spec can come along and throw chaos into your world by dismantling fundamental assumptions.
Prediction: more problems are yet to be uncovered in the various combinations of existing XML specifications, to say nothing of the new ones. Somehow, we'll keep muddling through.
Births, Deaths, and Marriages
New versions of nxslt
Versions 1.6 and 2.0Beta1 of the nxslt, a free .NET XSLT command-line utility from Oleg Tkachenko.
Arbortext Bought
Atom 1.0 Baked
Documents and Data
An identifier by any other name...
Rick Jelliffe on untangling the Schema spaghetti
If you're into the podcast thing, this one looks interesting.
Share your experience in our forum.
(* You must be a member of XML.com to use this feature.)
Comment on this Article
| Titles Only | Titles Only | Newest First |
- #1 Locksmith Services Company Los Angeles 1-323-678-2704
2009-06-11 14:46:20 whats [Reply]
#1 Locksmith Services Company Los Angeles call 1-323-678-2704 Locksmith services Los Angeles, including locks installation, doors locks repair, doors locks rekey, locks and keys products or services the best value and commitment to customers 100 satisfaction guaranteed.
On this website you can find local los angeles locksmith in your area.
Commercial Locksmithing, Specializing in: Banks Office, Apartment Building, New Homes, Condominiums, Retail Stores, Banks Industrial Facilities, Locks and Padlocks, Pharmacies Grocery Stores, Restaurants, Retail stores, Schools, Storage Warehouse.
Service includes Lockout, locked out need locksmith fast response, Deadbolt Locks repair installation Changed, Installed & Repaired, Re-keys & Master Key Systems, rekey ddors locks, High Security Locks Systems, Home Security Safes, Intercom Systems Repair & Installation, Fire Proof Panic Bars Repaired & Installed, Peephole Installation, High Security Cylinder Changed & Re-Keyed, Closed Curcuit Television CCTV, Card Access Control Systems, Panic Lock Devices, Safes,Windows,Glass Doors & Gates, Padlock, Combination Lock, Electronic Key, Magnetic Keys, Electronic Keypad and Keyless Entry, File Cabinet & Lock Picking.
Residential Locksmithing, Specializing in: Levers Entrance Sets Keypad Locks Deadbolts,
Knobs and Levers Entrance Sets Deadbolts,
Levers Knobs Entrance Sets Hardware Deadbolts,
Knobs and Levers Entrance Sets Deadbolts.
master key, deadbolts, Knobs sets, Hardware, Weiser Locks, Locksets, Knobsets, Handlesets, lock kits Cam Cabinet Locks Door Closers Key Blanks Key Cabinets Key Rings Padlocks Pushbutton Locks garage door openers mailbox locks cylinders and high security locks, keyless Entry, Key Cutting & Key Replacement, Emergency Vehicle Opening, Emergency Trunk Opening, Extraction of Broken Keys Locksmith, GM VAT Keys Duplication, High Security Vehicle Key Duplication Locksmith, New Ignition key and Transponder Chip Key. that fit your lifestyle.
Automobile Locksmith for Car lockout Truck opening Re-key all doors Ignition keys made on-site Transponder keys made on-site Ignition replacement,
- Locksmith Los Angeles Lockout, rekey, locks, 323-590-4883
2009-02-24 19:38:31 toolmannet [Reply]
Los Angeles Locksmith Safe & Vault Sales and
Installation 24/7 Locksmiths 1-866-214-8964
Los Angeles Hollywood Locksmith 1-323-590-4883
West Los Angeles, Marina Del Rey, Culver City, Santa Monica, Beverly Hills Locksmith For All Your Home & Business Needs Doors installation wood, metal, Kalamein, and fire rated wood doors for both heavyweight commercial and standard residential needs. Door Closers Panic Bars Fire Exit Devices Floor or Head Check Bolts Door Frames Hinges Buzzer Systems Card Access Elevator Doors magnetic door locks, electric strikes, CCTV install Dvr Video Camera master key systems, CCTV and video surveillance, Alarm Systems, Keyless Entry Systems and Access Control Iron Works specializes in custom exterior and interior wrought iron design. We design and hand forge wrought iron entrance gates, driveway gates Child guard gates A/C cage gates Elevator doors Backyard gates Fire exit gates Custom design gates Storefront and Commercial Rolling
Los Angeles Locksmith, locksmith, lock smith, locks, keys, service, door, set, security, los angeles locksmith, auto, car, home, office, door lock, open, install, repair, professional, locksmiths, unlock, lockout, locked out, rekey, rekeying, change lock, usa, california, los angeles, santa monica locksmith, marina del rey locksmith, santa clarita locksmith, hollywood locksmith, beverly hills locksmith, sherman oaks locksmith, encino locksmith, burbank locksmith, agoura hills locksmith, 411 locksmith, yellow pages locksmith, mobile, Commercial locksmith, Residential locksmith, Locksmiths, professional, Locksmith 30 MIN RESPONSE EMERGENCY .Commercial locksmith, Residential locksmith ,Automotive locksmith, Emergency Locked out Locksmith rekeying locks installatin, Roadside
visit us at http://www.alocksmithla.com
- Chicago Locksmith Safe & Vault Sales and Installation 24/7 Locksmiths 888-455-3387
2008-12-27 14:32:53 chicagolocksmith [Reply]
Chicago Locksmith Safe & Vault Sales and Installation 24/7 Locksmiths 888-455-3387
chicago skokie des plaines niles wilmette morton grove mount prospect Locksmith 1-310-925-1720 For All Your Home & Business Needs Doors installation wood, metal, Kalamein, and fire rated wood doors for both heavyweight commercial and standard residential needs. Door Closers Panic Bars Fire Exit Devices Floor or Head Check Bolts Door Frames Hinges Buzzer Systems Card Access Elevator Doors magnetic door locks, electric strikes, CCTV install Dvr Video Camera master key systems, CCTV and video surveillance, Alarm Systems, Keyless Entry Systems and Access Control Iron Works specializes in custom exterior and interior wrought iron design. We design and hand forge wrought iron entrance gates, driveway gates Child guard gates A/C cage gates Elevator doors Backyard gates Fire exit gates Custom design gates Storefront and Commercial Rolling
Los Angeles Locksmith, locksmith, lock smith, locks, keys, service, door, set, security, los angeles locksmith, auto, car, home, office, door lock, open, install, repair, professional, locksmiths, unlock, lockout, locked out, rekey, rekeying, change lock, usa, california, los angeles, santa monica locksmith, marina del rey locksmith, santa clarita locksmith, hollywood locksmith, beverly hills locksmith, sherman oaks locksmith, encino locksmith, burbank locksmith, agoura hills locksmith, 411 locksmith, yellow pages locksmith, mobile, Commercial locksmith, Residential locksmith, Locksmiths, professional, Locksmith 30 MIN RESPONSE EMERGENCY .Commercial locksmith, Residential locksmith ,Automotive locksmith, Emergency Locked out Locksmith rekeying locks installatin, Roadside Assistance
- Los Angeles Locksmith Safe & Vault Sales and Installation 24/7 Locksmiths 1-877-364-5264
2008-12-19 11:04:32 services123 [Reply]
Los Angeles Locksmith Safe & Vault Sales and Installation 24/7 Locksmiths 1-877-364-5264
San Fernando Valley Locksmith 1-818-386-1022
Los Angeles Hollywood Locksmith 1-323-678-2704
West Los Angeles, Marina Del Rey, Culver City, Santa Monica, Beverly Hills Locksmith 1-310-925-1720 For All Your Home & Business Needs Doors installation wood, metal, Kalamein, and fire rated wood doors for both heavyweight commercial and standard residential needs. Door Closers Panic Bars Fire Exit Devices Floor or Head Check Bolts Door Frames Hinges Buzzer Systems Card Access Elevator Doors magnetic door locks, electric strikes, CCTV install Dvr Video Camera master key systems, CCTV and video surveillance, Alarm Systems, Keyless Entry Systems and Access Control Iron Works specializes in custom exterior and interior wrought iron design. We design and hand forge wrought iron entrance gates, driveway gates Child guard gates A/C cage gates Elevator doors Backyard gates Fire exit gates Custom design gates Storefront and Commercial Rolling
Los Angeles Locksmith, locksmith, lock smith, locks, keys, service, door, set, security, los angeles locksmith, auto, car, home, office, door lock, open, install, repair, professional, locksmiths, unlock, lockout, locked out, rekey, rekeying, change lock, usa, california, los angeles, santa monica locksmith, marina del rey locksmith, santa clarita locksmith, hollywood locksmith, beverly hills locksmith, sherman oaks locksmith, encino locksmith, burbank locksmith, agoura hills locksmith, 411 locksmith, yellow pages locksmith, mobile, Commercial locksmith, Residential locksmith, Locksmiths, professional, Locksmith 30 MIN RESPONSE EMERGENCY .Commercial locksmith, Residential locksmith ,Automotive locksmith, Emergency Locked out Locksmith rekeying locks installatin, Roadside Assistance
- Holiday Lights Installation Los Angeles 323-678-2704
2008-11-20 15:10:49 orellytos [Reply]
Christmas Lights Installation Los Angeles 323-678-2704
We offer the following Products and Services:
Christmas Lighting
Full service sales and installation departments
Custom pole-mounted banner sales and installation*
Large animated holiday displays
Custom holiday displays
Leasing and rental programs*
In house graphic arts department
Knowledgeable and helpful year round staff.
free estimate holiday lights installation
While Los Angeles may not have a traditional "White Christmas", it certainly does not leave you wanting of one. Diving into this city during the holidays always turns out to be a whirlwind of an occasion, and the glamour of Hollywood, combined with the wispy palms and beaches of Los Angeles serve as the backdrop of some of the most spectacular Christmas lights displays in the country! It'll make you wonder, who needs snow? The holidays in Los Angeles are more than complete without it!
Arguably one of the best lights displays in the country is at The Grove, a centrally located mall featuring a semi-outdoor arcade of shops and restaurants. It's not your typical box-type mall, and there's plenty of strolling in the chilly outdoor breezes, but the festive atmosphere more than makes up for it. Store hours are typically extended for the holidays, and there are lots of stalls and carts selling Christmas-themed treats and gadgets. There's a spectacular 60-some foot authentic Christmas tree-one of the largest you will ever see (they say it's even taller than the one at the Rockefeller center)-that lights up spectacularly at night. The entire home or business then seems to be encapsulated in a magical glow as lights blaze from every nook and cranny. There's also an electric sleigh that takes shoppers for a leisurely ride around the complex. The scene is sure to take your breath away!
1-310-925-1720
http://www.lvhsystems.com/gallery.html
http://www.christmaslightinstallationlosangeles.blogspot ...
http://christmaslightinginstall.blogspot.com/
call us 310-925-1720
call 818-386-1022
- XLink and Arch Forms
2005-07-22 06:45:14 Len Bullard [Reply]
1) Once politely included in some specs and standards, a form can pick up momentum. Then its utility gets extended and work on it becomes more serious. Microdiversity is the source of speciation.
2) XLink itself isn't that powerful. The underlying design issue is that of typed links. This is an old idea and it shows up in many places. I suspect that even though we have ways of doing that without putting it in the XML, the need to interoperate semantically will increase the return to this attractor until it becomes a more prominent feature. As a result, arch forms or their like will also come back and as one might expect, do battle with RDF.
History is, oddly enough, on the side of the typed links. They are easier to learn and by the time this reemergence occurs, the Semantic Web systems may be overbuilt as a result of beggaring application, the same problem that SGML and Hytime/DSSSL had. If history repeats itself, the new kids on the block adopt an old idea, rename it, and fight the adults who are of course, the old kids on the block who fought SGML and HyTime/DSSSL.
Doing what makes parents mad is the usual answer to the lyrical question "oh very young what will you leave us this time".
- XLink and Arch Forms
2009-02-24 19:36:33 toolmannet [Reply]
Los Angeles Locksmith Safe & Vault Sales and
Installation 24/7 Locksmiths 1-866-214-8964
Los Angeles Hollywood Locksmith 1-323-590-4883
West Los Angeles, Marina Del Rey, Culver City, Santa Monica, Beverly Hills Locksmith For All Your Home & Business Needs Doors installation wood, metal, Kalamein, and fire rated wood doors for both heavyweight commercial and standard residential needs. Door Closers Panic Bars Fire Exit Devices Floor or Head Check Bolts Door Frames Hinges Buzzer Systems Card Access Elevator Doors magnetic door locks, electric strikes, CCTV install Dvr Video Camera master key systems, CCTV and video surveillance, Alarm Systems, Keyless Entry Systems and Access Control Iron Works specializes in custom exterior and interior wrought iron design. We design and hand forge wrought iron entrance gates, driveway gates Child guard gates A/C cage gates Elevator doors Backyard gates Fire exit gates Custom design gates Storefront and Commercial Rolling
Los Angeles Locksmith, locksmith, lock smith, locks, keys, service, door, set, security, los angeles locksmith, auto, car, home, office, door lock, open, install, repair, professional, locksmiths, unlock, lockout, locked out, rekey, rekeying, change lock, usa, california, los angeles, santa monica locksmith, marina del rey locksmith, santa clarita locksmith, hollywood locksmith, beverly hills locksmith, sherman oaks locksmith, encino locksmith, burbank locksmith, agoura hills locksmith, 411 locksmith, yellow pages locksmith, mobile, Commercial locksmith, Residential locksmith, Locksmiths, professional, Locksmith 30 MIN RESPONSE EMERGENCY .Commercial locksmith, Residential locksmith ,Automotive locksmith, Emergency Locked out Locksmith rekeying locks installatin, Roadside
visit us at http://www.alocksmithla.com
- XLink and Arch Forms
