--xml use CommunityAssist Select * from person for xml raw Select * From person for xml raw, elements, root('People') Select * From person for xml raw('person'), elements, root('people') Select lastName, firstname, DonationDate, donationAmount From Person inner Join Donation on person.PersonKey=donation.PersonKey for xml auto Select lastName, firstname, DonationDate, donationAmount From Person inner Join Donation on person.PersonKey=donation.PersonKey for xml auto, elements, root('root'); use Automart Select * From Customer.AutoService Select AutoServiceID, serviceName, serviceprice, serviceDescription.query('declare namespace sd="http://www.automart.com/servicedescription";//sd:servicedescription/sd:parts') From Customer.AutoService Where AutoServiceID=7 use CommunityAssist --an xml schema "validates" an xml document --by comparing its structure to the one described --in the schema --a schema collection stores the schema in sql server --for comparing xml documents Create xml Schema Collection xsc_Memo As '<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="memo"> <xs:complexType> <xs:sequence> <xs:element name="head"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string" /> <xs:element name="from" type="xs:string" /> <xs:element name="about" type="xs:string" /> <xs:element name="date" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="body"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="para" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="namespace" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:schema>' Create table Meeting ( MeetingID int identity(1,1) primary key, MeetingNotes xml(xsc_Memo) --this binds the xml to the schema ) Insert into Meeting (MeetingNotes) Values('<?xml version="1.0" encoding="utf-8"?> <memo namespace="http://www.communityassist.org/memo"> <head> <to>all staff</to> <from>Management</from> <about>Work behavior</about> <date>5/20/2013</date> </head> <body> <para>It has come to our attention that employees are starting the after work beer drinking earlier each friday</para> <para>Stop it.</para> </body> </memo>') --this one won't work because the to and from are reversed in order Insert into Meeting (MeetingNotes) Values('<?xml version="1.0" encoding="utf-8"?> <memo namespace="http://www.communityassist.org/memo"> <head> <from>Management</from> <to>all staff</to> <about>Work behavior</about> <date>5/20/2013</date> </head> <body> <para>It has come to our attention that employees are starting the after work beer drinking earlier each friday</para> <para>Stop it.</para> </body> </memo>') Select * From Meeting
Monday, May 20, 2013
XML in SQL Server
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment