|
IMXNamespaceManager , i think... that said, i've no idea how to use it.
However, take a look at this:
reallylongmslink/xml2nd_pro_v4_0tyr.asp[^]
Shog9
------
And on the pedestal, these words appear:
"My name is Ozymandias, King of Kings,
Look on my Works, ye Mighty, and despair!"
Nothing beside remains.
|
|
|
|
|
I'd like to generate an XSL using ASP3.0
I've already written the code to make the XSL, but when loading it in to another ASP-page so that it can style a XML, I get the following error:
msxml3.dll error '80004005'
The stylesheet does not contain a document element. The stylesheet may be empty, or it may not be a well-formed XML document.
This while the beginning of the XSL-page clearly makes a root-element:
<%
Response.ContentType = "text/xml"
Response.Expires = 0
Set result = Server.CreateObject("Microsoft.XMLDOM")
%>
<?xml version="1.0" encoding="ISO-8859-1"?>
<%
'// add a node to the result tree for the stylesheet declaration
Set oNewNode = result.createNode("element","xsl:stylesheet", "http://www.w3.org/1999/XSL/Transform")
oNewNode.setAttribute "version","1.0"
oNewNode.setAttribute "xmlns:xsl","http://www.w3.org/1999/XSL/Transform"
result.appendChild(oNewNode)
'// the stylesheet declaration is the outermost grouping tag. It is the root
'// element and parent to all other elements
Set root = result.documentElement
...
What might be a sollution to fix this?
|
|
|
|
|
Why do you want to do this ? Why not generate it with XSL ?
Christian
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002
|
|
|
|
|
What encoding is typically used with XML when embeded binary data?
Todd Smith
|
|
|
|
|
|
I have a xml file which has to be sent to another system with the node name changed.
eg:
"<emp name="me" id = "30">"
has to changed to
"<employee name="me" id = "30">"
This is a bulk operation where performance is critical. The platform is vb6.0/vb.NET. Can any one help me out
dsk
|
|
|
|
|
dsk wrote:
This is a bulk operation where performance is critical
Honestly I would not even use XSL for this. The change is so simple that just a string-replace function would be best. With XSL you would have far more overhead.
Even RegEx would probably be a better choice.
|
|
|
|
|
1. If the XML Document is large then, using DOM for transformation may not be practical. If that is the case, then under the .NET scenario, you should use the XmlTextReader and XmlTextWriter objects.
2. If the XML Document is not large enough then, you can use the DOM Methods which can be pretty verbose even in .NET.
3. Using an XSLT approach may be convenient if the document generally does not exceed 50 Kb.
the XSLT file is as follows:
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@* | node()">
<xsl:copy><xsl:apply-templates select="@* | node()" /></xsl:copy>
</xsl:template>
<xsl:template match="emp">
<employee>
<xsl:copy-of select="@* | node()"/>
</employee>
</xsl:template>
</xsl:stylesheet>
|
|
|
|
|
I write:
<xsd:simpleType name="money">
<xsd:restriction base="xsd:decimal">
<xsd:fractionDigits value="2" />
</xsd:restriction>
</xsd:simpleType> to define a simple type in a schema file.
Then i use <cost>239.00</cost> in an XML file, where cost is of type money .
When i try to validate the XML with MSXML 4.0 it generates this error:
The element cost has an invalid value according to its data type .
If i remove the 9 from 239.00 everything will be ok.
What's wrong here? MSXML 4.0?
The case comes from an XML-Schema tutorial
rechi
|
|
|
|
|
The answer is
xsd:restriction base="xsd:decimal"
Be aware
Be The First
|
|
|
|
|
The wrote:
The answer is
xsd:restriction base="xsd:decimal"
sounds like time...
rechi
|
|
|
|
|
You're right
Be The First
|
|
|
|
|
Try this :
...
<xsd:restriction base='decimal'>
<xsd:totalDigits value='10'/>
<xsd:fractionDigits value='2'/>
<xsd:minInclusive value='0.00'/>
<xsd:maxInclusive value='1000.00'/>
</xsd:restriction
...
And let me know
Be The First
|
|
|
|
|
I've tried. Same story.
But it's not unusual. I had a problem with the pattern facet also. Guess MSXML has to grow up a bit.
If you need the sources i can send them to you.
rechi
|
|
|
|
|
Thanks for your kindness , but no thanks
Be The First
|
|
|
|
|
I save comments from people in a XML file, but when I view it in IE it just show me the half or so ofthe data between a block.
I know that '&' is not alowed in XML but is there any others?
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
Its not that it isnt allowed, its just that to use it you must escape it. The restricted characters and their escaped versions are:
& == &amp;
' == '
> == &gt;
< == &lt;
" == &quot;
So:
"The fat cat & his dog"
Becomes:
&amp;The fat cat &amp; his dog&amp;
|
|
|
|
|
I'm learning XML now. Creating a simple xml file which is as follows:
<customer id="xyz">
<name>
<first>John
<middle>Smithy
<last>Doe
<line1>123 Some Street <line2>P.O. Box 555 <city>Anytown
<state>NC
<zip>55555
<phone>
<home>5551212
<work>5551213
<online>
<email>john@doe.com
<url>http://www.doe.com
but when trying to run it in IE6, is returned the following error:
The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
The system cannot locate the resource specified. Error processing resource 'customer.dtd'. Error processing resource 'file:///D:/XMLExcise/xml1.xml'. Line 2, Position 42
So, what does this mean and what's the solution for it? Thanks!
|
|
|
|
|
Im guessing some things got stripped out of your post... the easiest solution to the error is just to remove the
|
|
|
|
|
Are there any documents or arctles that you have read explains XML for a starter?
not elaborately,but basic conceptions,with examples preferably,short but to point for future learning.
Thanks.
this is my signature for forums quoted from shog*9:
I can't help but feel, somewhere deep within that withered, bitter, scheming person, there is a small child, frightened, looking a way out.
|
|
|
|
|
zhoujun wrote:
Are there any documents or arctles that you have read explains XML for a starter?
There are billions, which is part of the problem.
Here are a few good ones:
And if you have any problems or questions just ask here.
|
|
|
|
|
Thanks,Paul.
I will check them out.
And if you have any problems or questions just ask here.
Yes,I will never hesitate to ask "silly" questions.
this is my signature for forums quoted from shog*9:
I can't help but feel, somewhere deep within that withered, bitter, scheming person, there is a small child, frightened, looking a way out.
|
|
|
|
|
Does anyone know how to call a stylesheet and pass in a variable value ? I'm doing some docs using the XML generated by .NET and I want to pass in the node to look up for each page that documents one function, so I can pull out the parameters, etc. I hope to do this with one XSL, but at the moment it's something like
<xsl;for-each select="[contains[@name, "M:XMLObject:functionname"]/>
This works, but I'm not sure how to change 'functionname' dynamically, except by passing the xsl through another xsl sheet, and I don't want to do that, I want to set the value with a variable, and set the variable as I call the sheet.
Christian
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002
|
|
|
|
|
I think what you're after is the xsl:param, combined with an xsl:call-tempalte or xsl:apply-templates call. For example, I use the following template to remove duplicates from a deeply nested list [/Body/Details/Item/Ref[@Type='Note']/Identifier ]:
<xsl:template name="DeDupe">
<xsl:param name="list" />
<xsl:param name="sep" select="', '" />
<xsl:for-each select="$list">
<xsl:variable name="curr" select="string(.)" />
<xsl:variable name="i" select="position()" />
<xsl:choose>
<xsl:when test="count($list[$i > position() and string(.) = $curr]) > 0" />
<xsl:otherwise>
<xsl:if test="position() != 1"><xsl:copy-of select="$sep" /></xsl:if>
<xsl:value-of select="$curr" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
...
<xsl:call-template name="DeDupe">
<xsl:with-param name="list" select="XPath expression" />
</xsl:call-template>
|
|
|
|
|
Sort of - but I hoped to be able to call the stylesheet and pass in the variable, not run another transform to get it.
Christian
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002
|
|
|
|