Sign Up
Search
Options
search
Chat
Help
News
Log in
Not Logged in
Home
»
Boards
»
Stylus Studio Developer Network
»
Stylus Studio Code Samples & Utilities
»
Build safe NCName
Conferences
Stylus Studio Feature Requests
(1192)
Stylus Studio Technical Forum
(14621)
Website Feedback
(249)
XSLT Help and Discussion
(7625)
XQuery Help and Discussion
(2017)
Stylus Studio FAQs
(159)
Stylus Studio Code Samples & Utilities
(364)
XSD to XML Creation with all O...
(2)
How XML to X12 be converted an...
(1)
Encode and decode XML to and f...
(1)
Evaluating StylusStudio - .cnv...
(2)
Build safe NCName
(1)
generating .Net dataset
(1)
Converters for .NET
(2)
TRADACOMS - Code Generation
(2)
Flat File Custom XML conversio...
(1)
Need help in Generate a checkb...
(1)
Evaluation period for the buil...
(2)
Reports with ifs
(2)
Need Help Creating Custom XML ...
(6)
Need help with unique particle...
(10)
In need for help on converting...
(3)
import xml into an access
(1)
jaxb support
(3)
Large XML sample file
(2)
Stylus Studio 2008 R2 - From X...
(2)
create an xml document with ex...
(2)
Default xml converter from com...
(2)
Transforming Data With XSLT
(5)
Error when creating pdf file
(5)
Got Shkespear XML Doc from web...
(3)
VFP 8
(2)
CSV import
(7)
Generating X12 from XML
(4)
How to handle variable input &...
(2)
Grab html to xml
(2)
XML To X12 conversion using in...
(3)
XSLT mapping help required
(2)
convert XML to JAVA
(2)
Insert a carriage return or li...
(3)
Automatation for comparing two...
(2)
Filter records
(1)
BIT Fields
(3)
Restricted Mixed Content
(4)
Freelance Project - Mapping di...
(1)
flat file to xml conversion
(10)
ConvertFromXML to TXT
(2)
Edi X12 835 to Flat file
(2)
License problem
(2)
Removal of elements from an XM...
(3)
XSL and Word docs
(2)
Develop a workflow using xml
(2)
Need help converting CSV to Ne...
(2)
Specify valid values for an el...
(3)
Question about the WYSIWYG fun...
(2)
XML diff tool
(4)
Validating schemas
(3)
Best way to fix a few hundred ...
(6)
Mapping problem please help me
(2)
Relational Database Hierarchic...
(2)
RDBMS - XML round-tripping
(3)
Converto FILE to XML
(2)
relational database acces - lo...
(1)
unsupportet URL scheme when tr...
(6)
XML in oil industry
(3)
Want to get the available para...
(1)
XSL in HTML?
(9)
Help Creating a new wsdl
(2)
Extracting XML from a database...
(6)
Stylus Studio Converters comma...
(18)
Schema for RDF section within ...
(1)
Text to XML converter not in t...
(4)
Filtering data with a combo bo...
(2)
Loading data in XML file/docum...
(2)
Stylus StudioŽ's Web Service C...
(2)
How to replace a specific node...
(1)
xsl:result-document and multip...
(2)
Russian Doll Schema
(1)
Populating MS access from XML ...
(9)
xsd to xml
(5)
populating treeview control wi...
(6)
Problem generating a simple DT...
(4)
XML Newbie Basics
(4)
How do I ... Build an HTML Pag...
(2)
.NET API
(6)
Building Your Own Search Engin...
(1)
transformer.transform gives Ex...
(1)
reading xml
(6)
How to Display Links in XML
(4)
how to place the text of the f...
(1)
Need guidelines
(3)
Basic XML question
(2)
sql/xml returns invalid result...
(2)
SQL/XML Error
(4)
pass paramter in java and do a...
(1)
serialize java
(2)
pass paramter in java for xml ...
(2)
transform dtd to xml schema
(2)
Converter - xsd to xml
(7)
Convert to XML programmaticall...
(2)
XSL FO with Java data source
(2)
OASIS XML Catalogs Tutorial
(1)
Transforming XML to EDI
(2)
Using row data to populate XML...
(7)
Nesting Tables and Sub-Tables
(2)
XSL for multiple columns and c...
(5)
New Advanced CSV to XML Data C...
(3)
Java mapper
(1)
XML Spy project conversion to ...
(1)
APIs and OCXs
(2)
No Topic
(2)
Profiling
(3)
xsl to xslfo
(5)
Does anyone use XML from ADO ...
(5)
XML from ADO Wizard
(1)
Weird XQuery results?
(3)
XSV xml schema validator
(1)
Menu structure
(2)
XQuery user-defined functions
(2)
Passing Parameter to Templates
(3)
XML To Database
(2)
XML Schema xsd:any and xsd:any...
(2)
XSL-FO Webinar Sample Files
(1)
Name Element
(2)
date of the day
(5)
Is there a 'Find Definition' f...
(2)
DTD to schema conversion
(2)
Simple XSLFO Example
(3)
Post your favorite Stylesheet ...
(1)
[1-20]
[21-40]
[41-60]
Next
Stylus Studio Announcements
(113)
Topic
top
Subject:
Build safe NCName
Author:
Ivan Pedruzzi
Date:
02 Aug 2011 04:12 PM
A recent post triggered my interest on how to create valid NCName while processing any arbitrary string.
Take the following example,
XML Input
<root>
<nc>1a</nc>
<nc>!@#$%^&1</nc>
</root>
You need to use the content of element nc to create XML dynamically like in the following XSLT 1.0 code
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<root>
<xsl:for-each select="/root/nc/text()">
<xsl:element name="."/>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
As you may expect the above code throws run-time error
XTDE0820: Element name <.> is not a valid QName
The attached stylesheet provide a simple template that convert any arbitrary string to a valid NCName
<root>
<xsl:for-each select="/root/nc/text()">
<xsl:variable name="nc">
<xsl:call-template name="makeNCName">
<xsl:with-param name="str" select="."/>
</xsl:call-template>
</xsl:variable>
<xsl:element name="{$nc}"/>
</xsl:for-each>
</root>
</xsl:template>
Hope this helps
Ivan
ncname.zip
Powered by
Stylus Studio
, the world's leading
XML IDE
for
XML
,
XSLT
,
XQuery
,
XML Schema
,
DTD
,
XPath
,
WSDL
,
XHTML
,
SQL/XML
, and
XML Mapping
!
Go to Conference:
Select Conference
Stylus Studio Feature Requests
Stylus Studio Technical Forum
Website Feedback
XSLT Help and Discussion
XQuery Help and Discussion
Stylus Studio FAQs
Stylus Studio Code Samples & Utilities
Stylus Studio Announcements
go
Log In Options
Username:
Password:
Site Map
|
Privacy Policy
|
Terms of Use
|
Trademarks
Stylus Scoop XML Newsletter:
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.