xsl formating
-
Hi All, I have this XML document: <?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet type="text/xsl" href="WriteXMLToDBTest_SQLScript.xsl"?> <OrderDetails> <Order ID="10248"> <OrderItem ProductID="11"> <QuantityIncrease>2</QuantityIncrease> </OrderItem> </Order> <NewOrder ID ="10249"> <OrderItem ProductID ="12"> <QuantityIncrease>3</QuantityIncrease> </OrderItem> </NewOrder> </OrderDetails> and have applied this XSL: <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method ="text" encoding ="utf-8"/> <xsl:output indent ="yes"/> <xsl:template match ="/"> <xsl:apply-templates select ="OrderDetails/Order"/> <xsl:apply-templates select ="OrderDetails/NewOrder"/> </xsl:template> <xsl:template match ="Order"> xsl:textUpdate [Order Details] Set Quantity = Quantity + </xsl:text> <xsl:value-of select ="OrderItem/QuantityIncrease"/> xsl:text Where OrderID = </xsl:text> <xsl:value-of select ="@ID"/> xsl:text And ProductID = </xsl:text> <xsl:value-of select ="OrderItem/@ProductID"/> </xsl:template> <xsl:template match ="NewOrder"> xsl:textUpdate [Order Details] Set Quantity = Quantity + </xsl:text> <xsl:value-of select ="OrderItem/QuantityIncrease"/> xsl:text Where OrderID = </xsl:text> <xsl:value-of select ="@ID"/> xsl:text And ProductID = </xsl:text> <xsl:value-of select ="OrderItem/@ProductID"/> </xsl:template> </xsl:stylesheet> and it generates two sql statements: Update [Order Details] Set Quantity = Quantity + 2 Where OrderID = 10248 And ProductID = 11Update [Order Details] Set Quantity = Quantity + 3 Where OrderID = 10249 And ProductID = 12 problems in here is that two "update statements" on the single line and i would like to know how to seperate them like this: Update [Order Details] Set Quantity = Quantity + 2 Where OrderID = 10248 And ProductID = 11 Update [Order Details] Set Quantity = Quantity + 3 Where OrderID = 10249 And ProductID = 12 Thanks a lot
-
Hi All, I have this XML document: <?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet type="text/xsl" href="WriteXMLToDBTest_SQLScript.xsl"?> <OrderDetails> <Order ID="10248"> <OrderItem ProductID="11"> <QuantityIncrease>2</QuantityIncrease> </OrderItem> </Order> <NewOrder ID ="10249"> <OrderItem ProductID ="12"> <QuantityIncrease>3</QuantityIncrease> </OrderItem> </NewOrder> </OrderDetails> and have applied this XSL: <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method ="text" encoding ="utf-8"/> <xsl:output indent ="yes"/> <xsl:template match ="/"> <xsl:apply-templates select ="OrderDetails/Order"/> <xsl:apply-templates select ="OrderDetails/NewOrder"/> </xsl:template> <xsl:template match ="Order"> xsl:textUpdate [Order Details] Set Quantity = Quantity + </xsl:text> <xsl:value-of select ="OrderItem/QuantityIncrease"/> xsl:text Where OrderID = </xsl:text> <xsl:value-of select ="@ID"/> xsl:text And ProductID = </xsl:text> <xsl:value-of select ="OrderItem/@ProductID"/> </xsl:template> <xsl:template match ="NewOrder"> xsl:textUpdate [Order Details] Set Quantity = Quantity + </xsl:text> <xsl:value-of select ="OrderItem/QuantityIncrease"/> xsl:text Where OrderID = </xsl:text> <xsl:value-of select ="@ID"/> xsl:text And ProductID = </xsl:text> <xsl:value-of select ="OrderItem/@ProductID"/> </xsl:template> </xsl:stylesheet> and it generates two sql statements: Update [Order Details] Set Quantity = Quantity + 2 Where OrderID = 10248 And ProductID = 11Update [Order Details] Set Quantity = Quantity + 3 Where OrderID = 10249 And ProductID = 12 problems in here is that two "update statements" on the single line and i would like to know how to seperate them like this: Update [Order Details] Set Quantity = Quantity + 2 Where OrderID = 10248 And ProductID = 11 Update [Order Details] Set Quantity = Quantity + 3 Where OrderID = 10249 And ProductID = 12 Thanks a lot
-
Do you realize that depending on the source of the XML you could be exposing your system to SQL Injection[^] attacks due to your antiquated technique of updating a database? Antiquated in this case means generating SQL statements.
led mike