[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Is there any legitimate case for processing based on a specific namespace prefix?
- From: "G. Ken Holman" <gkholman@CraneSoftwrights.com>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Tue, 28 Aug 2012 17:15:04 -0400
At 2012-08-28 20:20 +0000, Costello, Roger L. wrote:
>Hi Folks,
>
>Recall that a namespace prefix may be anything.
>
>For example, by convention 'xsl' is used as the prefix for the XSLT
>namespace, but I could equally well use 'foo' or 'bar' as the prefix.
>
>Is there ever a time when it is okay to create an XML application
>that checks for a specific prefix, e.g.,
>
> If the prefix is 'foo' then
> do A, B, C
> Else
> do X, Y, Z
Not that I can think of.
>It seems to me that such code would be very brittle and very unwise.
I agree.
>But perhaps there are legitimate cases where this is okay.
>
>If so, would you provide a concrete example please?
The only time I found it necessary was when dealing with an
application that was incorrectly hardwired to a prefix. While not
true any more, there was a time when a particular XSL-FO processor
was hardwired to expect <fo:block>. My practice is to use the
default namespace and <block>. For one client I had to change my
practice because of the non-conformant behaviour of his choice of software.
Another client asked me to use <fo:block> because that is what his
staff had been trained to expect, thus anything else wasn't expected
to be as maintainable.
Some students tell me they prefer <fo:block> for readability. But I
think it is just what you are used to and I personally like <block>
because it "feels" more like using HTML.
When I write UBL instances I use no prefix for the document element
and I use the committee's choice of prefix ("cac" and "cbc") for all
other elements ... but just for the benefit of those who might be
thrown by seeing "foo" and "bar".
So I think your answer is "when dealing only with software, the
prefix doesn't matter, but when dealing with people, the prefix might
very well matter (but not for software reasons)".
As a convention, when I'm using XSLT 2.0 to write XSLT, I'll use
<xsl:> for instructions and <xslo:> for the result tree ... the
processor outputs <xsl:>. Back when using XSLT 1.0 I would use
<xst:> for instructions and <xsl:> for the result tree so that the
processor would output <xsl:>.
I hope this helps.
. . . . . . . . . . . Ken
--
Public XSLT, XSL-FO, UBL and code list classes in Europe -- Oct 2012
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/x/
G. Ken Holman mailto:gkholman@CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]