Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: [xml-dev] Get all unique prefixes from a XML document

From: "Michael Kay" <mike@--------.--->
To: "'Robert de Wilde'" <wilde825@------.-->
Date: 6/11/2008 10:37:00 AM
Please don't go off-list. 
 
>But these 
document-fragment are userinput, 
 
I'm not arguing about 
whether your design approach is reasonable, I'm just telling you it won't work, 
because XSLT etc can't handle non-XML documents.
 
>Be another approach 
would be the other way around, I’ll add all the namespaces that are known 

 
So long as you know 
that namespace prefixes are used only in element and attribute names, you can 
eliminate unused namespaces with the simple XSLT 2.0 
instruction
 
<xsl:copy-of 
select="/" copy-namespaces="no"/>
 
One downside is that 
namespaces that are used will only be declared at the level where they are used, 
which may lead to repeated declarations.
 
Michael 
Kay
http://www.saxonica.com/


  
  
  From: Robert de Wilde 
  [mailto:wilde825@p...] 
Sent: 11 June 2008 11:25
To: 
  'Michael Kay'
Subject: RE: [xml-dev] Get all unique prefixes from a 
  XML document


  
  
  Thanks,<o:p></o:p>
  <o:p> </o:p>
  But these 
  document-fragment are userinput, which will be put together in one document. 
  The users mostly won’t provide the namespace and therefore I’d like to add 
  them ‘myself’.<o:p></o:p>
  <o:p> </o:p>
  Be another approach 
  would be the other way around, I’ll add all the namespaces that are known and 
  then filter out the unused ones (to prevent overhead). The namespaces could be 
  more than 20, but sometimes only 5 are used, that’s why I’d like to make the 
  final check and strip unnecessary namespace 
  declarations.<o:p></o:p>
  <o:p> </o:p>
  Robert de 
  Wilde<o:p></o:p>
  <o:p> </o:p>
  
  
  
  
  From: Michael Kay 
  [mailto:mike@s...] 
Sent: woensdag 11 juni 2008 
  12:14
To: 'Robert de Wilde'; 
  xml-dev@l...
Subject: RE: [xml-dev] Get all unique 
  prefixes from a XML document<o:p></o:p>
  <o:p> </o:p>
  If your document 
  contains undeclared prefixes, then not only is it incomplete, but for all 
  practical purposes it isn't an XML document. Which means you won't be able to 
  process it using XPath, XSLT, or XQuery.<o:p></o:p>
  
   <o:p></o:p>
  
  Michael 
  Kay<o:p></o:p>
  
  http://www.saxonica.com/<o:p></o:p>
  
   <o:p></o:p>
  
  <o:p> </o:p>
  
    
    
    
    From: Robert de Wilde 
    [mailto:<st1:PersonName w:st="on">wilde825@p...</st1:PersonName>] 
    
Sent: 11 June 2008 
    10:28
To: 
    xml-dev@l...
Subject: [xml-dev] Get all unique 
    prefixes from a XML document<o:p></o:p>
    Hello,<o:p></o:p>
    <o:p> </o:p>
    I’ve created a XML document, but 
    it isn’t complete, because I’ll still need to add the namespace declarations 
    on top when the document is ready. Therefore I’d like to use XPath to get 
    all prefixes, and based on that prefixes, add the namespaces. It’s not 100% 
    correct to use fixed prefixes, I know, but it’ll solve my problem. I’ve been 
    trying to do something with namespace-uri() finding the unique ones, but it 
    didn’t work out. Can someone help me creating the right 
    query?<o:p></o:p>
    <o:p> </o:p>
    //*[     
    not(  namespace-uri() = namespace-uri(preceding-sibling::node())  
    )     ]<o:p></o:p>
    <o:p> </o:p>
    Thanks in 
    advance,<o:p></o:p>
    <o:p> </o:p>
    Robert de 
    Wilde<o:p></o:p>


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent