[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: [good] Question about NS 1.1


qwer studio


"David G. Durand" wrote:
> ...
> 
> I might want to put a colon prefix on a tag that is not (and will
> never be) associated with a namespace, for instance. More commonly,
> it's not uncommon to   want to omit a NS declaration in an output
> file because it's to be an external entity body that be included in
> another parsing context at a later time, and in which that namespace
> prefix will be properly bound.

If I understand your description, you mean that, where one has a
document fragment like

? (defParameter *node*
    (make-elem-node :name '{xslt}element
                    :attributes (list (make-string-attr-node :name '{}name
                                                             :value "asdf"))))
*NODE*

instead of encoding it like this

? (write-node *node* *trace-output*)
==>
<xsl:element name='asdf'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform' />
#<ELEM-NODE #<UNAME {xsl}element #x8B1F32E> #x8B58C7E>

one might need to encode it like this

? (write-node *node* *trace-output*
            :default-namespace "http://www.w3.org/1999/XSL/Transform")
==>
<element name='asdf' />
#<ELEM-NODE #<UNAME {xsl}element #x8B1F32E> #x8B58C7E>

or like this

? (write-node *node* *trace-output*
            :namespace-bindings `(("TLSX" . "http://www.w3.org/1999/XSL/Transform")))
==>
<TLSX:element name='asdf' />
#<ELEM-NODE #<UNAME {xsl}element #x8B1F32E> #x8B58C7E>
? 

as i noted in one of my earlier notes, these are matters for the parser
and serializer.
for them only.

> 
> >  > or non-xml results.
> >
> >i am unaware of this issue and would appreciate examples.
> 
> I'm outputting some other data format, but I want to embed a little
> piece of XML in the middle. The other data might establish a
> "namespace" binding in some other syntax. Or I might, as discussed
> above, be using colon prefixes to mean something else.

see above. perhaps one even needs to encode it like this

? (write-node *node* *trace-output*
            :namespace-bindings `(("TLSX:too:" . "http://www.w3.org/1999/XSL/Transform")))
==>
<TLSX:too::element name='asdf' />
#<ELEM-NODE #<UNAME {xsl}element #x8B1F32E> #x8B5766E>
? 

> 
> I might be needing to force colon prefixes to change in some odd way
> to accomodate a DTD that I want to conform to. Since DTDs don't know
> about the "semantics" of namespaces, that requires syntactic control
> over the prefixes.

the issues related to being able to do something like this:

? (write-node (parse-document
             "<!DOCTYPE element [
                <!ELEMENT qwer:element EMPTY >
                <!ATTLIST qwer:element
                          name CDATA 'asdf'
                          xmlns:qwer CDATA
'http://www.w3.org/1999/XSL/Transform' > ]>
              <asdf:element
xmlns:asdf='http://www.w3.org/1999/XSL/Transform' />")
            *trace-output* :pretty t :encoding :usascii
            :default-namespace "http://www.w3.org/1999/XSL/Transform")
==>
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<!DOCTYPE element [
 <!ELEMENT element EMPTY >
 <!ATTLIST element 
   xmlns:qwer CDATA  'http://www.w3.org/1999/XSL/Transform'
   name CDATA  'asdf' >
 ]>

<element xmlns:asdf='http://www.w3.org/1999/XSL/Transform'
         xmlns:qwer='http://www.w3.org/1999/XSL/Transform'
         name='asdf' />
#<DOC-NODE <no uri> #x8B75C8E>
? 

are the same: operations have to be described in terms of the semantic
domains only and the parser/serializer have to map between the semantic
domains and the concrete syntax.

>                    There's surely an annotation that could be added
> to a system like the one you want to ask for particular prefixes in
> particular places, but that starts to be a lot of complication to
> prevent a pretty easy to avoid error.
> 

the only complexity arises in where the serializer automatically
generates prefixes in the presence of defaults and/or conflicts. this is
confined to the serializer and requires no annotation.

or, should one say that prefixes are themselves primary and the
namespace names are just the licenses.


> It's a tradeoff of flexibility versus automation of error prevention.

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.