XML Databases in BMIOverviewXML overviewXML overview cont.XML tagsXML SchemaSchema Example (XSD)XML StructureQuerying XML - XPathQuerying XML - XQueryXML ModelsData – centric modelDocument – centric ModelReality: Hybrid ModelMedical Data ModelData – centric ComparisonDocument – entric ComparisonStorage Strategy: RelationalXML Shema mappingStorage Strategy: CMSStorage Strategy: NativeNative XML DatabasesNative: Text-basedNative: Model-basedNative XML: TLCNative XML: API'sNative XML: The RestNative XML: ScalabilityBiomedical InformationBMI OverviewBMISTI: DatabasesBMI: XMLXML in Clinical DataHL7 V3 SpecificationXML in Clinical TrialsCDISC: ODMODM: LayoutXML in Genomic DataXML ComplexityXML BMI IssuesXML BMI ExamplesXML BMI: CDA www.hl7.de/iamcda2004/finalmat/day1/Calvin%20Beebe%20CDA%20Update.pdfSlide 43A Native XML Database Design for Clinical Document Research Johnson, Campbell, et. alcont.UCONN BMIUCONN BMI: OverviewUCONN BMI: ProblemsUCONN BMI: Model (potential)UCONN BMI: Model retrievalUCONN BMI: Retrival ProblemsUCONN BMI: XML FutureSurvey of Native XML DBMSeXistSednaQuestions?ReferencesCDSS-1CSE 300 XML Databases in BMIXML Databases in BMIUCONN Spring 2008, CSE 300: BMItaught by: Prof. Steve Demurjianpresented by: James Lindsay<ClinicalDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mif="urn:hl7-org:v3/mif" xmlns="urn:hl7-org:v3"> <realmCode code="US"/> <typeId root="2.16.840.1.113883.1.3" extension="POCD_HD000040"/> <!-- Conformant to NHSN Generic Constraints --> <templateId root="2.16.840.1.113883.3.117.1.1.1" /> <!-- Conformant to the NHSN Constraints for BSI Numerator Report --> <templateId root="2.16.840.1.113883.3.117.1.1.3.1" /> ...</ClinicalDocument>CDSS-2CSE 300 OverviewOverviewWhat is XML:What is XML:Overview, tags, schema.XML query languages:XML query languages:XPath XQuery.XML data models:XML data models:Data/document -centric, biomedical data.Storage Strategy + XML Storage Strategy + XML DBMS:DBMS:Relational, CMS, native.Native XML DBMSNative XML DBMSPros / Cons.Biomedical InformationBiomedical InformationBMI DatabasesBMI DatabasesOverview, XML.HL7 and CDAHL7 and CDAOverview, examples.Examples of BMI XML.Examples of BMI XML.UCONN BMI XML.UCONN BMI XML.Survey of Technology.Survey of Technology.CDSS-3CSE 300 XML overviewXML overvieweXtensible Markup LanguageeXtensible Markup LanguageSimilar to HTMLSimilar to HTMLMeta-language that describes the content of the Meta-language that describes the content of the document (self-describing).document (self-describing).XML is primarily used as a data storage and XML is primarily used as a data storage and interchange medium.interchange medium.XML exists in plain text format, however it may XML exists in plain text format, however it may be compressed, or altered for transfer.be compressed, or altered for transfer.CDSS-4CSE 300 XML overview cont.XML overview cont.There are no predefined data (tags), or grammer There are no predefined data (tags), or grammer inherently in XML.inherently in XML.XML tags give an XML document structure and XML tags give an XML document structure and meaning.meaning.Available tags are defined by a schema.Available tags are defined by a schema.All tags in an XML document come in pairs, All tags in an XML document come in pairs, open and close.open and close.Tags are completely nested, and there is no Tags are completely nested, and there is no ambiguity in their order.ambiguity in their order.CDSS-5CSE 300 XML tagsXML tagsXML tags may have an element field which is used to XML tags may have an element field which is used to store information within the tag. Meta-data.store information within the tag. Meta-data.Plain text can be placed between tags. This text is not Plain text can be placed between tags. This text is not parsed.parsed.CDATA is character data. This means that any string CDATA is character data. This means that any string of non-markup characters is legal as part of the of non-markup characters is legal as part of the attribute.attribute.The ENTITY attribute type indicates that the attribute The ENTITY attribute type indicates that the attribute will represent an external entity in the document itself.will represent an external entity in the document itself.The ID attribute type if you want to specify a unique The ID attribute type if you want to specify a unique identifier for each element.identifier for each element.CDSS-6CSE 300 XML SchemaXML SchemaThe structure of an XML document is defined by The structure of an XML document is defined by its schema.its schema.Dozens on languages to define XML schema:Dozens on languages to define XML schema:DTDW3C (XSD)NG - RelaxThis file can validate any instance of an XML This file can validate any instance of an XML document against it self.document against it self.This file, or schema also defines allowable tags.This file, or schema also defines allowable tags.CDSS-7CSE 300 Schema Example (XSD)Schema Example (XSD)<?xml version="1.0" encoding="ISO-8859-1" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="shiporder"> <xs:complexType> <xs:sequence> <xs:element name="orderperson" type="xs:string"/> <xs:element name="shipto"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="item" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="note" type="xs:string" minOccurs="0"/> <xs:element name="quantity" type="xs:positiveInteger"/> <xs:element name="price" type="xs:decimal"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="orderid" type="xs:string" use="required"/> </xs:complexType></xs:element></xs:schema>CDSS-8CSE 300 XML StructureXML StructureXML employees a tree structure model for XML employees a tree structure model for representing data. (previous slide)representing data. (previous slide)shiporderorderpersonshiptonameaddresscitycountryitemtitle name quantity priceorderidCDSS-9CSE 300 Querying XML - XPathQuerying XML - XPathMany languages to query XML.
View Full Document