Using XSLT to Append Attributes to an XSD File

I wrote an application to scrape a database and create an XSD file which will be annotated 
by a map file in order to create a Typed DataSet.  I was wondering if I could do the annotation
using XSLT.  

Here is background on Typed DataSet:
    Using Annotations with a Typed DataSet
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconUsingAnnotationsWithTypedDataSet.asp

I need to append an attribute a specific XML node.

Change 
  <xs:element name="column_1" msdata:ReadOnly="true" minOccurs="0" type="xs:short" />
  <xs:element name="column_2" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   />
to
  <xs:element name="column_1" msdata:ReadOnly="true" minOccurs="0" type="xs:short" msprop:typedName="ID" />
  <xs:element name="column_2" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   msprop:typedName="Name" />


I have included an XSD file that was returned as a result of my application before it is annotated.

Any thoughts would be appreciated.  

Cheers,
Dave

=========================================================

<?xml version="1.0" standalone="yes"?>
<xs:schema id="DsStoredProc" xmlns="" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="DsStoredProc" msdata:IsDataSet="true">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="Table">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="column_1" msdata:ReadOnly="true" minOccurs="0" type="xs:short" />
              <xs:element name="column_2" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   />
              <xs:element name="column_3" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   />
              <xs:element name="column_4" msdata:ReadOnly="true" minOccurs="0" type="xs:short" />
              <xs:element name="column_5" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   />
              <xs:element name="column_6" msdata:ReadOnly="true" minOccurs="0" type="xs:short" />
              <xs:element name="column_7" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Table1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="column_8" minOccurs="0" type="xs:short" />
              <xs:element name="column_9" minOccurs="0" type="xs:int"   />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Table2">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="column_10" type="xs:int"   />
              <xs:element name="column_11" type="xs:short" />
              <xs:element name="column_12" type="xs:int"   />
              <xs:element name="column_13" type="xs:short" />
              <xs:element name="column_14" type="xs:int"   />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>

0
Webbert (6)
7/12/2004 6:23:52 PM
dotnet.xml 7266 articles. 0 followers. Follow

3 Replies
708 Views

Similar Articles

[PageSpeed] 12

Hi David,

First of all, I would like to confirm my understanding of your issue. From 
your description, I understand that you need to add annotation to your 
typed dataset schema. If there is any misunderstanding, please feel free to 
let me know.

As far as I know, the annotation is added to the .XSD files directly. So I 
think we needn't use any programs to add them automatically. Although we 
can use an XSLT to add, I think it will be more easier to add the 
annotations manually to the schema.

HTH. If anything is unclear, please feel free to reply to the post.

Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no 
rights."

0
v-kevy (347)
7/13/2004 8:07:05 AM
David Elliott wrote:

> I wrote an application to scrape a database and create an XSD file which will be annotated 
> by a map file in order to create a Typed DataSet.  I was wondering if I could do the annotation
> using XSLT.  
> 
> Here is background on Typed DataSet:
>     Using Annotations with a Typed DataSet
>     http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconUsingAnnotationsWithTypedDataSet.asp
> 
> I need to append an attribute a specific XML node.
> 
> Change 
>   <xs:element name="column_1" msdata:ReadOnly="true" minOccurs="0" type="xs:short" />
>   <xs:element name="column_2" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   />
> to
>   <xs:element name="column_1" msdata:ReadOnly="true" minOccurs="0" type="xs:short" msprop:typedName="ID" />
>   <xs:element name="column_2" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   msprop:typedName="Name" />

That's piece of cake in XSLT, here is the idea:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msprop="msprop namespace">
	<xsl:template match="@*|node()">
		<xsl:copy>
			<xsl:apply-templates select="@*|node()"/>
		</xsl:copy>
	</xsl:template>		
	<xsl:template match="xs:element[@name='column_1']">
		<xsl:copy>
			<xsl:attribute name="msprop:typedName">ID</xsl:attribute>
			<xsl:apply-templates select="@*|node()"/>
		</xsl:copy>
	</xsl:template>	
</xsl:stylesheet>


-- 
Oleg Tkachenko [XML MVP]
http://blog.tkachenko.com
0
Oleg
7/13/2004 12:47:46 PM
Thanks.  

Dave


On Tue, 13 Jul 2004 14:47:46 +0200, "Oleg Tkachenko [MVP]" <oleg@NO!SPAM!PLEASEtkachenko.com> wrote:

>David Elliott wrote:
>
>> I wrote an application to scrape a database and create an XSD file which will be annotated 
>> by a map file in order to create a Typed DataSet.  I was wondering if I could do the annotation
>> using XSLT.  
>> 
>> Here is background on Typed DataSet:
>>     Using Annotations with a Typed DataSet
>>     http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconUsingAnnotationsWithTypedDataSet.asp
>> 
>> I need to append an attribute a specific XML node.
>> 
>> Change 
>>   <xs:element name="column_1" msdata:ReadOnly="true" minOccurs="0" type="xs:short" />
>>   <xs:element name="column_2" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   />
>> to
>>   <xs:element name="column_1" msdata:ReadOnly="true" minOccurs="0" type="xs:short" msprop:typedName="ID" />
>>   <xs:element name="column_2" msdata:ReadOnly="true" minOccurs="0" type="xs:int"   msprop:typedName="Name" />
>
>That's piece of cake in XSLT, here is the idea:
>
><xsl:stylesheet version="1.0" 
>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
>xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msprop="msprop namespace">
>	<xsl:template match="@*|node()">
>		<xsl:copy>
>			<xsl:apply-templates select="@*|node()"/>
>		</xsl:copy>
>	</xsl:template>		
>	<xsl:template match="xs:element[@name='column_1']">
>		<xsl:copy>
>			<xsl:attribute name="msprop:typedName">ID</xsl:attribute>
>			<xsl:apply-templates select="@*|node()"/>
>		</xsl:copy>
>	</xsl:template>	
></xsl:stylesheet>

0
Webbert (6)
7/13/2004 3:18:34 PM
Reply:

Similar Artilces:

Outlook using imap is receiving but not sending
Messages are being put in Sent folder and Send/Receive shows no errors but emails are not actually getting sent. This is a new install of Outlook on a new computer. Have I messed up the setup? "Theatre Girl" wrote in message news:64BB711F-FE56-440C-A850-DADCA8C3BA00@microsoft.com... > Messages are being put in Sent folder and Send/Receive shows no > errors but > emails are not actually getting sent. This is a new install of > Outlook on a > new computer. Have I messed up the setup? IMAP is not a sending protocol. It is used for receiving mails (out of your ...

Line charts using temperature and time factors
I want to create a line chart showing comparisons of heating and time. For example one item is held @ 30deg for 10secs then 100degs for 30secs while the comparison is plotted to show the difference. Help appreciated. try x-y scatter chart data-columnwise. Excelon_Ls <Excelon_Ls@discussions.microsoft.com> wrote in message news:6B9F5547-A35C-4272-9FDC-F2CE6122D783@microsoft.com... > I want to create a line chart showing comparisons of heating and time. For > example one item is held @ 30deg for 10secs then 100degs for 30secs while the > comparison is plotted to show the diff...

HOW TO USE HYPERLINK within a droplist?
I have a question aabout this: eg. I set row A with validation list "yes/no", i want that if choose "yes", then open a word document named "checklist.doc". Instead of using a validation list, you could use a "yes" button and a "no" button. The yes button can be linked to a macro to open the word document. The no button can be linked to a macro the will type the text "Go to next step" or something like that. "Bonny" wrote: > I have a question aabout this: > eg. > I set row A with validation list "yes...

Converting XLS file to QIF or to OFX
How do I safely and securely convert an excel file (xls) to a QIF or OFX file? "dreamchaser" wrote: > How do I safely and securely convert an excel file (xls) to a QIF or OFX file? In Excel, save the file to CSV and ustilise iCreateOFX Basic from: http://icreateofx.co.uk/Convert-CSV-to-OFX to convert the saved CSV file to OFX. ...

Is there a way to export and save file properties for an Excel do.
Can this be done either in text or XML? ...

using forms
Vista Home Premium 32 / Outlook 2007 I have created some forms that used to work. No more. On selecting a form, I get "The form required to view this message cannot be displayed. Contact the administrator. To my knowledge, I am the administrator. This is a stand-alone PC in my residence. If I go to Manage User Accounts, it shows only 2 accounts - LastName Administrator and Guest. I have googled my problem and found references to FRMCACHE.DAT which I am told to delete and restart Outlook. Did that. Opened Outlook and tried to open a form. Same error. And FRMCACHE.DAT was not ...

XmlTextReader and 2GB file limit
Are there any work arounds to get XmlTextReader to work with files bigger than 2GB? I tried to get the source of XmlTextReader and create a version with long (instead of int) offsets but I can't compile it due to package restrictions. Best wishes, Hugh McFadden hugh.mcfadden@visiongain.com Hugh McFadden wrote: > Are there any work arounds to get XmlTextReader to work with files bigger > than 2GB? I tried to get the source of XmlTextReader and create a version > with long (instead of int) offsets but I can't compile it due to package > restrictions. Sorry for lame qu...

Using Spanish on Publisher
I have copied and pasted a document in Spanish from Word to Publisher. Prompts keep coming up telling me that it cannot "hyphenate" this document. I'm guessing that it means since it's in another language it needs something to be able to spell-check, etc. I really don't care about checking the spelling, but the pop-ups keep interferring with my arranging the flyer I desperately need to get completed. It tells me to put in the disk and download the "hyphenate" feature. Can I download this from the net since I have no disks. Publisher came with my n...

System Files
Hello, I am trying to locate the boot.ini file on the Windows XP Professional CD. I am trying to create a bootable cd. Please advise. -- Mike Jessica@aol.com wrote: > Hello, > > I am trying to locate the boot.ini file on the Windows XP Professional CD. I > am trying to create a bootable cd. > > Please advise. First of all, I'll have to admit, I've never made a bootable CD from scratch myself. These are just a few bits and pieces I've noticed along the way. It is not simply a matter of "throwing" some files onto a CD. http...

Excel Display Errors in file
I have several excell 2000 documents that when opened, the first sheet in the workbook will display most of the data at around a size 72 font that will not show in the cell. All the other sheets in this workbook are fine. This also effects the column and row headings (A B C, 1 2 3). If I go to View > Zoom and zoom from the default of 75% to anything else, it fixes the problem. I can then zoom back to 75% and everything still looks fine. (Including row and column headings) The next time I open the file, the first sheet is still messed up. I have tried saving to web page and...

I used Omsgclas.exe Utility and my contacts don't use then new form
I created a new form for contacts. I followed the three steps in the document How to Update Existing Items to Use a New Custom Form. I can click on Action and do new contact and the new form is used. I used Omsgclas.exe utility to change the message class of the contacts. It shows as changed. However, when I click on an old contact (previous to changing the form), A message form comes up (not the old contact form and not my new contact form). Anyone have any help how to get my new form pulled up for old messages? Note: I had a form with a ' in the name, I made a new form w...

FormulaR1C1 using variables
I want to do this but can't: ActiveCell.FormulaR1C1 = "=MyFunction(R[variable]C[variable])" What are my options? Try something like ActiveCell.FormulaR1C1 = _ "=MyFunction(R" & CStr(variable) & "C" & CStr(variable) & ")" Cordially, Chip Pearson Microsoft Most Valuable Professional, Excel, 1998 - 2010 Pearson Software Consulting, LLC www.cpearson.com On Wed, 21 Apr 2010 13:52:01 -0700, Cheah <Cheah@discussions.microsoft.com> wrote: >I want to do this but can't: > >ActiveCell.Fo...

Snapshot Viewer will not open .snp file
We have a client that sends us .snp files as email attachments. We have Office 2007 installed on new Windows XP PCs. We have the Snapshot Viewer installed. When we attempt to open an .snp file, either from email or after saving attachment to the desktop, all we get is a blank Snapshot Viewer window. If we re-install the Shapshot Viewer we can then open one .snp file and then it reverts back to opening with a blank viewer window for subsequent ..snp files that are opened. Any ideas would be greatly appreciated Susie Install a different Printer Driver for the workstations exhibiting ...

Using XML with ASP.NET
I want to know where can I find Tutorials/Articles to learn implementing XML with asp.net. I am working on ASP.NET using C# from last one month. I have idea about XML but had not implemented yet with ASP.NET. Thanks in advance. Thanks Vinod Jajoo ...

Display As = File as & (address in parens)
I just moved all my contacts into a new .pst file (I'm using OL 2003) and something changed. I USED TO have "Display As" show only the person's name, and not the person's name PLUS the email address in parens as the default does. In other words, default would show "JOHN SMITH (johnsmith@aol.com)". But when I created all those entries, I changed them to show only "JOHN SMITH". In my new file, Outlook has changed all my "Display As" entries to the default: name AND email address. It's not how I want it, so I'm hoping there'...

Using lookup formula using more than one cell
I have a spreadsheet which lists clients by first name, last name, postcode and phone number - all in separate columns e.g. Andy Roberts M56 7HN 0161 428 3856 I have these all in one worksheets and in a named range called "Clients" On a separate worksheet (within the same workbook) I log all my enquiries. What I want to be able to do is type in to a cell the first name then in the next cell the last name and the following cells get populated with postcode and phone number based on BOTH of the first two cells by looking up the "Clients" range. I can get it...

Using secured OMA
Hi, Please help me with my misunderstanding. When I try ro connect by t68i or z600 (WAP 2.0) to OMA directly with SSL required, using mydomain.com/oma, of course, I get 403 error. When I use https://mydomain.com/oma I get "Couldn't reach the indicated web server." altough it works fine with Pocket PC. What's wrong? What should I configure to establish secured connection from mobile phone? Best regards, Vit Knyshevich. "Vit Knyshevich" <abuse_vit_knysh@hotmail.com> wrote: >Please help me with my misunderstanding. When I try ro connect by t68i or >z60...

Compile error using CTypedPtrList
Hi, I am having problems at compile time using the following line: CTypedPtrList<CPtrList, CString*> m_ClientList ; When compiled I get the following errors: emailcfgdlg.h(114) : error C2143: syntax error : missing ';' before '<' emailcfgdlg.h(114) : error C2501: 'CTypedPtrList' : missing storage-class or type specifiers emailcfgdlg.h(114) : error C2059: syntax error : '<' emailcfgdlg.h(114) : error C2238: unexpected token(s) preceding ';' I am using the version 6 of the compiler with SP5. Now I think this is something to do with the c...

scatter plots using pivot table data
In older versions of Excel, you could directly create xy scatter plots using pivot table data. In Excel 2000, the chart wizard says you can't use an xy scatter plot with pivot table data. Why????? Is there any way around this limitation? Dan - Don't tell the pivot table you're making a regular chart. Select a cell away from the PT and start the chart wizard. Select the XY Scatter type you want in step 1. In step 2, use the Series tab to select the ranges for the names, X values, and Y values of each series in your chart. Make sure you don't select one of the PT but...

Using resources, how to ?
Hi guys, I am using MS Visual Studio 2005 Express ( yes, the one that u can download for free from MS website ) and I have a "little-big" problem with my program. First of all let me say that I created a simple console program, with his main and few functions, and I wish that my ..exe file can drop another .exe when launched. The other exe is another compiled program, and I wish to handle it from my main program as resource. There are some topics about handling resources, but I cannot find anything of good; I know how to use LoadResource, FindResource, etc, but both fail since I am...

Allow temporarily use of right click
I have made a databse in which I have disabled the right-click option. However, I have a form which opens reports, and I want to temporarily allow (only for the opened report) the right click option so the user can save and print the report. I have also no clue how to create a custom menu with only a few of the normal right-click options I hope my question is clear. Thanks -- Message posted via http://www.accessmonster.com "greeknl via AccessMonster.com" <u30909@uwe> wrote in message news:71abb764263d9@uwe... >I have made a databse in which I have disabled the right-c...

Read value in txt file
Hello to everybody I would like to read a value in a txt file. For example, the value will following the egual sign. So I want to look for language and get "fr" as value. language = fr country = france Thank you by advance and have a nice day. <bcastaing@gmail.com> said this in news item news:389dabc3-ca3b-440b-b55a-a93ca9221025@w16g2000yqw.googlegroups.com... > Hello to everybody > > I would like to read a value in a txt file. For example, the value > will following the egual sign. So I want to look for language and get > "fr"...

How to use interfaces
Hi ... How can you show in an UML diagram using visio that you have 1 class who uses the interface implementet by another ?? ex: C# public class MyClass : ImyInterface { //some code } //And then in another class you will do something like: private ImyInterface imi = new MyClass(); can you show this via UML shapes in Visio ?? thanks in advance ... -- ------------------------------- Med Venlig Hilsen Tonni Schm´┐Żcker Tonni@cool.dk ...

Using two pictures from clipart as my background
I can't seem to get more than one clipart as my background. When I try to add another one, it overrides the first one. I want two pictures, each on half the page, and faded. Thanks. On Jan 13, 7:31=A0pm, Michele <Mich...@discussions.microsoft.com> wrote: > I can't seem to get more than one clipart as my background. When I try to= add > another one, it overrides the first one. I want two pictures, each on hal= f > the page, and faded. Thanks. You can place multiple pictures on your slide (or slide master), but each slide can only contain one as it's ...

Using stationary when Word is used as the editor
Hello, I am having a problem with stationary when using word as the email editor. What is required is for a logo to be placed as a backgroun image in the top right hand corner. this works fine in outlook using this code: <HTML> <HEAD> <STYLE> BODY { font-family: Arial; font-size: 10pt; color: 000000; background-position: right top; background-repeat: no-repeat; background-image: url(Pic.jpg); } </STYLE> </HEAD> <BODY> </BODY> </HTML> However when Word is used as the email editor the background image is no longer placed in the top righ...