Click here to Skip to main content
16,016,180 members
Home / Discussions / C#
   

C#

 
GeneralRe: is this one possible ? Pin
jtmtv181-Mar-03 22:50
jtmtv181-Mar-03 22:50 
GeneralRe: is this one possible ? Pin
leppie1-Mar-03 23:16
leppie1-Mar-03 23:16 
GeneralRe: is this one possible ? Pin
jtmtv181-Mar-03 23:26
jtmtv181-Mar-03 23:26 
GeneralRe: is this one possible ? Pin
leppie1-Mar-03 23:30
leppie1-Mar-03 23:30 
GeneralRe: is this one possible ? Pin
jtmtv181-Mar-03 23:42
jtmtv181-Mar-03 23:42 
GeneralRe: is this one possible ? Pin
leppie2-Mar-03 2:43
leppie2-Mar-03 2:43 
GeneralRe: is this one possible ? Pin
jtmtv182-Mar-03 11:56
jtmtv182-Mar-03 11:56 
QuestionHow to get AppInfo/Documentation from an XML Schema via XmlDocument (DOM) in C#? Pin
Mirco J. Nimmrichter27-Feb-03 23:12
Mirco J. Nimmrichter27-Feb-03 23:12 
Hi all,

since days I'm looking for a solution to get the information stored in the <xsd:appinfo> or <xsd:documentation> tag from a known XmlElement (for example got by a XPath selection)... Could anybody give me a hint how I can access to this values in C#?

Here the C# sample code, a small XML sample and the related XML Schema:

XmlTextReader tr = new XmlTextReader(sXMLFile);
vr = new XmlValidatingReader(tr);
vr.ValidationType = ValidationType.Schema;

XmlTextReader sr = new XmlTextReader(sSchemaFile);
XmlSchema schema = XmlSchema.Read(sr, new ValidationEventHandler(ValidationHandler));
sr.Close();

vr.Schemas.Add(schema);
vr.ValidationEventHandler += new ValidationEventHandle(ValidationHandler);
doc = new XmlDocument();
doc.Load(vr);
vr.Close();

string selectExpr = "//test:TestData/test:Collection/test:Element";

XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("test", "http://xsd.mytest.com/test.xsd");

XmlNode root = doc.DocumentElement;
XmlNode myElementNode = root.SelectSingleNode(selectExpr, nsmgr);

------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<test:TestData xmlns:test="http://xsd.mytest.com/test.xsd" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<test:Collection>
<test:Element Id="1">11.00</test:Element>
</test:Collection>
</test:TestData>

------------------------------

<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema targetNamespace="http://xsd.mytest.com/test.xsd" xmlns:test="http://xsd.mytest.com/test.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xsd:element name="TestData" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Collection">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>This is the documentation of the Collection</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Element" default="1.00">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>This is the documentation of the Element</xsd:documentation>
<xsd:appinfo>
<formula>5.000000 + 3.000000</formula>
</xsd:appinfo>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="test:ElementType">
<xsd:attribute name="Id" type="xsd:int" default="1" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="ElementType">
<xsd:restriction base="xsd:double">
<xsd:minInclusive value="0.100000" />
<xsd:maxInclusive value="10.000000" />
<xsd:pattern value="\d{1,2}.\d{1,6}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

------------------------------

The validation works fine and I really get the error notification, that the value of "Element" is out of range. I also get a valid myElementNode object back. But how can I read the Documentation/AppInfo out of this myElementNode? Is it impossible or am I just too stupid? Do I need to write my own parser for that?

Thanks for your help!
Mirco John

GeneralFind Printer List available... Pin
bania27-Feb-03 20:16
bania27-Feb-03 20:16 
GeneralRe: Find Printer List available... Pin
Stephane Rodriguez.28-Feb-03 20:39
Stephane Rodriguez.28-Feb-03 20:39 
GeneralThank You.. Pin
bania2-Mar-03 13:22
bania2-Mar-03 13:22 
GeneralRe: Thank You.. Pin
leppie3-Mar-03 6:28
leppie3-Mar-03 6:28 
GeneralFew Questions Pin
chito27-Feb-03 20:07
chito27-Feb-03 20:07 
GeneralRe: Few Questions Pin
Brian Olej28-Feb-03 9:45
Brian Olej28-Feb-03 9:45 
GeneralRe: Few Questions Pin
Stephane Rodriguez.28-Feb-03 20:52
Stephane Rodriguez.28-Feb-03 20:52 
Generallame encoding Pin
grv57527-Feb-03 18:25
grv57527-Feb-03 18:25 
GeneralClass Library Question .. Pin
Dato27-Feb-03 14:55
Dato27-Feb-03 14:55 
GeneralRe: Class Library Question .. Pin
David Stone27-Feb-03 15:01
sitebuilderDavid Stone27-Feb-03 15:01 
GeneralRe: Class Library Question .. Pin
leppie27-Feb-03 20:54
leppie27-Feb-03 20:54 
GeneralRe: Class Library Question .. Pin
David Stone28-Feb-03 4:22
sitebuilderDavid Stone28-Feb-03 4:22 
GeneralRe: Class Library Question .. Pin
leppie28-Feb-03 6:02
leppie28-Feb-03 6:02 
GeneralRe: Class Library Question .. Pin
David Stone28-Feb-03 14:13
sitebuilderDavid Stone28-Feb-03 14:13 
GeneralRe: Class Library Question .. Pin
leppie28-Feb-03 22:40
leppie28-Feb-03 22:40 
GeneralThis is an easy one... really! Pin
codeweenie27-Feb-03 14:25
codeweenie27-Feb-03 14:25 
GeneralRe: This is an easy one... really! Pin
Furty27-Feb-03 14:42
Furty27-Feb-03 14:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.