문서 형식 선언(DOCTYPE)

HTML 문서는 문서 형식 선언 (비공식적으로, "doctype")으로 시작해야 한다. 브라우저에서 doctype의 기능은 렌더링 모드를 지시하는 것이며, 부분적으로는 쿼크 모드를 피하기 위한 목적도 있다.

doctype의 원래의 목적은 문서 형식 정의 (DTD)에 기반한 SGML 도구를 통하여 HTML 문서의 파싱과 유효 여부 확인을 가능하게 하려는 것이었다. DOCTYPE에 대한 DTD는 DTD에 순응하는 문서를 가진 허용 또는 금지된 내용을 지정하고 기계가 읽을 수 있는 문법을 포함하도록 지시한다. 반면 브라우저는 HTML을 SGML의 애플리케이션으로 수행하지 않으며, 결과적으로 DTD를 읽지 않는다. HTML 5는 기술적인 제한으로 인해 DTD를 정의하지 않는다. 그래서 HTML5에서 doctype 선언 <!doctype html>는 DTD를 참조하지 않는다.

HTML 4 doctype의 예제는 다음과 같다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

이런 선언은 엄격한 HTML 4.01을 만들기 위해 DTD를 참조한다. 이것은 선언적인 요소인 font 같은 요소는 포함하지 않으며, CSS나 span, div 요소는 유지한다. SGML 기반의 유효 확인자(validator)들은 문서를 적절히 해석하거나, 유효 여부 확인을 실행하기 위해 DTD를 읽는다.

최근의 브라우저에서 이 doctype은 쿼크 모드에 반대되는 표준 모드를 활성화한다.

게다가 HTML 4.01은 임시적이고 프레임 단위의 DTD를 제공한다.




출처 : 위키백과(http://ko.wikipedia.org/wiki/HTML#.EB.AC.B8.EC.84.9C_.ED.98.95.EC.8B.9D_.EC.84.A0.EC.96.B8)

'.NET프로그래밍 > HTML 4.0 / XHTML1.0' 카테고리의 다른 글

HTML4.0 / XHTML1.0 - PPT  (0) 2009.07.25
25. HTML 태그 정리  (0) 2009.07.24
24. 메타태그  (0) 2009.07.24
Form  (0) 2009.07.24
22. I프레임(인라인 프레임)  (0) 2009.07.24
Posted by holland14
:

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.






Posted by holland14
:



using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

namespace SPSEDUproject.BookListWebPart
{
    /// <summary>
    /// WebPart로 SPQuery 클래스를 사용하여 책제목(Title)이 같은 것만 리스트에 출력하기.
    /// </summary>
    [ToolboxItemAttribute(false)]
    public class BookListWebPart : WebPart
    {
        string strBookList = String.Empty;

        protected override void CreateChildControls()
        {
            strBookList = makeBookList();
        }

        protected override void Render(HtmlTextWriter writer)
        {
            base.Render(writer);
            writer.Write(strBookList);
        }

        private string makeBookList()
        {
            string tempSTR = String.Empty;

            // 사이트모음/사이트를 잡는다.
            SPWeb web = SPContext.Current.Web;    // SPSite를 생략하고 코딩하는 방법.

            // 리스트를 잡는다.
            SPList books = web.GetList("Lists/edulist");

            // 북리스트를 뿌린다. --> SPQuery 클래스 사용
            SPQuery query = new SPQuery();
            query.RowLimit = 10;    // 상위 10개 행만 필터링한다.(= Top 10)
            query.Query = "<Where><Eq><FieldRef Name='Title'/>" +
                            "<Value Type='Text'>나의책</Value></Eq></Where><OrderBy><FieldRef Name='Title' Ascending='FALSE'/></OrderBy>";

            SPListItemCollection bookcol = books.GetItems(query);

            foreach (SPListItem book in bookcol)
            {
                tempSTR += book["Title"].ToString();
                tempSTR += "<br />";
            }

            return tempSTR;
        }
    }
}



Posted by holland14
:


[ EDUNewBookUserControl.ascx ]



<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EDUNewBookUserControl.ascx.cs" Inherits="SPSEDUproject.EDUNewBook.EDUNewBookUserControl" %>


<asp:Label ID="lblTitle" runat="server" Text="책제목" />&nbsp;
<asp:TextBox ID="txtTitle" runat="server" /><br />
<asp:Label ID="lblCompany" runat="server" Text="출판사" />&nbsp;
<asp:TextBox ID="txtCompany" runat="server" /><br />
<asp:Label ID="lblAuthor" runat="server" Text="저자" />&nbsp;&nbsp;&nbsp;
<asp:TextBox ID="txtAuthor" runat="server" /><br /><br />
<asp:Button ID="btnSave" runat="server" Text="저장" onclick="btnSave_Click" />





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




[ EDUNewBookUserControl.ascx ]




using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;

namespace SPSEDUproject.EDUNewBook
{
    public partial class EDUNewBookUserControl : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void btnSave_Click(object sender, EventArgs e)
        {
            // 책제목과 출판사, 저자를 목록에 Insert한다.
            string strTitle = this.txtTitle.Text;
            string strCompany = this.txtCompany.Text;
            string strAuthor0 = this.txtAuthor.Text;

            if (strTitle == "") return;
            if (strCompany == "") return;
            if (strAuthor0 == "") return;

            SPSite site = SPContext.Current.Site; // 현재 열려있는 SharePoint웹사이트(=웹페이지)를 호출한다.
            SPWeb web = site.OpenWeb();     // OpenWeb() : 웹사이트를 잡아준다(= 열어준다). 괄호 ()안에 경로를 잡아주면 해당 웹페이지를 잡아준다.

            SPList bookList = web.GetList("Lists/edulist");    // SPList : SharePoint목록 --> GetList(url)메서드를 호출하여 해당 url의 목록을 가져와서 대입.

            SPListItem book = bookList.AddItem();    // SPListItem : SharePoint항목 --> SPList(목록)의 AddItem()메서드를 호출하여 목록에 항목(= 1개의 행)을 추가한다.

            book["Title"] = strTitle;
            book["Company"] = strCompany;
            book["Author0"] = strAuthor0;
            book.Update();    // SPListItem의 Update()메서드를 호출하여 업데이트(--> 여기서는 Insert작업) 한다.
        }
    }
}





// SPSite.OpenWeb() 메서드 : Returns the specified Web site from the site collection.(= 사이트모음(= SPSite)으로부터 특정한 웹사이트(= SPWeb)를 리턴한다.)




Posted by holland14
:

1. 솔루션 탐색기에서 해당 상위 프로젝트를 "빌드"한다.

2. 솔루션 탐색기에서 해당 상위 프로젝트를 "배포"한다.

3. 해당 웹사이트로 이동하여 결과를 확인한다.

Posted by holland14
:

[도구] - [프로세스에 연결] - "모든 세션의 프로세스 표시" 체크박스를 체크하면, "w3wp.exe"라는 프로세스가 나오는데 이게 바로

IIS의 프로세스이다.
Posted by holland14
:


using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

namespace SPSEDUproject.EDUWebPartListName
{
    [ToolboxItemAttribute(false)]
    public class EDUWebPartListName : WebPart
    {
        string strListsName = String.Empty;

        protected override void CreateChildControls()
        {
            DisplayListsName();
        }

        private void DisplayListsName()
        {
            using (SPSite site = new SPSite("http://spsedu"))
            {
                using (SPWeb web = site.RootWeb)
                {
                    SPListCollection listsName = web.Lists;

                    foreach (SPList List in listsName)
                    {
                        strListsName += List.Title;
                        strListsName += "<br />";
                    }
                }
            }
        }

        protected override void Render(HtmlTextWriter writer)
        {
            base.Render(writer);
            writer.Write(strListsName);
        }
    }
}

// 1. SPSite를 잡자 --> 주소(url)주고 SPSite를 잡는다. (using문 사용할 것!)

// 2. SPWeb 을 잡자 --> 여기서는 RootWeb으로 매핑시켰다.  (using문 사용할 것!)

// 3. SPListCollection 을 잡자 --> Web.Lists 프로퍼티로 목록들을 매핑시켰다.

// 4. Foreach 문을 사용하여 컬렉션(리스트명)을 열거한다.  ex) foreach (SPList List in listsName) { }

// 5. 리스트의 이름(Title)을 넣어라.  ex) strListsName += List.Title;



 

Posted by holland14
:


using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

namespace SPSEDUproject.EDUWebPart
{
    [ToolboxItemAttribute(false)]
    public class EDUWebPart : WebPart
    {
        string strBookList;

        protected override void CreateChildControls()
        {
            displayBookList();
        }

        private void displayBookList()
        {
            using (SPSite site = new SPSite("http://spsedu/"))     // SPSite : SharePoint사이트 모음
            {
                using (SPWeb web = site.RootWeb)   // SPWeb : SharePoint사이트(SiteCollection을 거치지 않고 바로 사이트로 선언)
                {
                    SPList bookList = web.GetList("Lists/edulist"); // SPList : SharePoint리스트(ListCollection을 거치지 않고 바로 리스트로 선언)
                    SPListItemCollection books = bookList.Items;    // SPListItemCollection : SharePoint리스트아이템컬렉션

                    strBookList = "";

                    foreach (SPListItem book in books)
                    {
                        strBookList += book["Title"].ToString() + " / " + book["Company"].ToString() + " / " + book["Author0"].ToString();
                        strBookList += "<br />";
                    }                   
                }
            }
        }

        protected override void Render(HtmlTextWriter writer)
        {
            base.Render(writer);
            writer.Write("안녕하세요. 쉐어포인트 ~!");
            writer.Write("<br />");
            writer.Write(strBookList);
        }
    }
}

Posted by holland14
:

트리거(trigger)

2010. 11. 12. 22:50

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.