This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: How do you get the non-transformed character entity out of MSXML3.0


Julian

The vb COM objects are consuming the values
of the attributes ....and I thought one of
the primary purposes of XML was to be able
to consume values of attributes and nodes
and that the MSXML parser was the tool
de-force by which one accomplished that....

Thanks
Jim

|-----Original Message-----
|From: owner-xsl-list@lists.mulberrytech.com
|[mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Julian
|Reschke
|Sent: Sunday, September 16, 2001 3:54 PM
|To: xsl-list@lists.mulberrytech.com
|Subject: RE: [xsl] How do you get the non-transformed character entity
|out of MSXML3.0
|
|
|I'm still not sure about which problem you're trying to solve.
|
|It sounds like you want move information from one DOM into another? Why not
|just import and append the DOM nodes without going through XML
|serialization/parsing???
|
|> -----Original Message-----
|> From: owner-xsl-list@lists.mulberrytech.com
|> [mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of
|> jdgarrett@alltel.net
|> Sent: Sunday, September 16, 2001 8:53 PM
|> To: xsl-list@lists.mulberrytech.com
|> Subject: RE: [xsl] How do you get the non-transformed character entity
|> out of MSXML3.0
|>
|>
|> Julian (and thanks again Chris )
|>
|> Julian problem (which Chris has enlightened me about,)
|> is I want the value of the attribute or the element
|> before transformation so that it can be inserted into
|> another xml structure so that new xml structure is
|> "loadable" by the dom via visual basic..."without"
|> having to do the string manipulation that Chris
|> provided in his first reply .....this way new
|> xml and subsequent xml structures can be loaded
|> in the dom via visual basic and passed around
|> between vb COM objects until the final xml
|> structure is transformed via the transformnode
|> method in vb and sent out to the requesting browser
|> as HTML ....
|>
|> the issue is keeping and accessing the value   < (or other character
|> entities) in their untransformed state (whether as an attribute value
|> or a node value) when passing between vb COM objects without
|> having to resort to additional string manipulations....
|>
|> I have a simple vb function that will detransform a node or
|> attribute value when the submitting browser submits a html form...
|> using a simple replace function
|> e.g.
|>
|> Function Detransform(submittedString) as string
|> 	submittedString = replace(submittedString, "<", "&lt;)
|> 	submittedString = replace(submittedString, ">", "&gt;)
|> 	submittedString = replace(submittedString, "&", "&amp;)
|> 	submittedString = replace(submittedString, "'", "&apos;)
|> 	submittedString = replace(submittedString, """","&quot;)
|> 	Detransform = submittedString
|> End Function
|>
|>
|> now after the destransform occurs I did not want to have
|> to run the xml through the above again every time the
|> xml structure was loaded by the MSXML parser inside of
|> all the vb COM objects that handle the XML structure on
|> the way to the SQL db and back up the vb COM chain
|> to the vb IIS application that does the final
|> transformation into HTML and then response.write
|> it out to the requesting browser...
|>
|> Now that Chris has informed me that it is not possible to
|> access only the value rather than the value and the attribute
|> name via MSXML from visual basic I will have to call
|> the Detransform function every time the xml structure
|> is loaded and the attribute value is accessed ...
|>
|> given (again)
|>
|> <Customer  number="125487"   NumberOfPurchases="&lt;4" >Joe &amp; Bill's
|> Shop</Customer>
|>
|> It would be nice if the Detransform function was a native
|> method inside the MSXML parser so that I could just access
|> the detransformed value of the attribute ..
|>
|> dim stringDetransformedValue
|>
|> stringDetransformedValue =
|> xml.selectSingleNode("/Customer/@NumberOfPurchases").xmlAttributeV
|> alueNotTra
|> nsformed
|>
|> which would return only
|>
|> &lt;4
|>
|> rather than
|>
|> NumberOfPurchases="&lt;4"
|>
|>
|> Bottom line ....
|>
|> I must then have an external from parser function
|>
|> given
|> <Customer  number="125487"   NumberOfPurchases="&lt;4" >Joe &amp; Bill's
|> Shop</Customer>
|>
|> '//call vb function
|> result =
|> ReturnAttributeValueOnly(xml.selectSingleNode("/Customer/@NumberOf
|> Purchases"
|> ).xml)
|>
|>
|> Function ReturnAttributeValueOnly(ByVal stringPassedIn) As String
|> Dim string1 As String
|> Dim position1%, position2%
|> position1% = InStr(1, stringPassedIn, """", 1)
|> position2% = InStrRev(stringPassedIn, """")
|> ReturnAttributeValueOnly = Mid$(stringPassedIn, position1 + 1,
|position2 -
|> (position1 + 1))
|>
|> End Function
|>
|> the returned value would then be
|>
|> &lt;4
|>
|> Well that is that I guess ...(hey MS wanna put a new function in
|the MSXML
|> parser *s*)
|>
|> Thanks again Chris ....!!!!!
|>
|>
|>
|>
|>
|> |-----Original Message-----
|> |From: owner-xsl-list@lists.mulberrytech.com
|> |[mailto:owner-xsl-list@lists.mulberrytech.com]On Behalf Of Chris Bayes
|> |Sent: Sunday, September 16, 2001 6:27 AM
|> |To: xsl-list@lists.mulberrytech.com
|> |Subject: RE: [xsl] How do you get the non-transformed character entity
|> |out of MSXML3.0
|> |
|> |
|> |Julian,
|> |Who knows what exactly the problem is here but suppose you wanted to do
|> |something like find all records in a text file that match some attribute
|> |in the dom. You can't do it. The text file might be a csv but with
|> |escaped characters who knows but there are times when you want to get
|> |"&lt;4" from the dom so that you can match it to a record in a text
|> |file. There is no way you can match a text record like
|> |125487    &lt;4     Joe &amp; Bill's Shop
|> |unless you can get the value "&lt;4" out of the dom.
|> |
|> |Ciao Chris
|> |
|> |XML/XSL Portal
|> |http://www.bayes.co.uk/xml
|> |
|> |
|> |> -----Original Message-----
|> |> From: owner-xsl-list@lists.mulberrytech.com
|> |> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of
|> |> Julian Reschke
|> |> Sent: 16 September 2001 11:04
|> |> To: xsl-list@lists.mulberrytech.com
|> |> Subject: RE: [xsl] How do you get the non-transformed
|> |> character entity out of MSXML3.0
|> |>
|> |>
|> |> Why would you want that?
|> |>
|> |> In XML, "less-than" is serialized as "&lt;".
|> |>
|> |> When accessing the DOM, you get the "raw" character ("<").
|> |>
|> |> Serializing the DOM again (using save() or the xml property)
|> |> will turn it back into "&lt;".
|> |>
|> |> I fail to see a problem here.
|> |
|> |
|> | XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
|> |
|>
|>
|>
|>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
|>
|
|
| XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
|



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]