스키마 ExeInfo.xsd
Saturday, September 28, 2013
Friday, September 27, 2013
XML Types
http://markchensblog.blogspot.kr/2011/03/simple-type-vs-complex-type-simple.html?showComment=1380283243046#c6961064122157163970
모든 사용자 정의 simple type은 다른 simple type들의 restriction 아니면 list이다.[1]
반대로 complexType은 애트리뷰트 또는 엘리먼트 (또는 둘 다)를 반드시 가져야 한다.
Simple Content와 Complext Content는 Complex Type의 content가 어떠한지를 가리키는 말이다. 따라서 이들은 simpleType과는 아무 관계가 없다.
[1]
- 보충: Visual studio에서 xsd 파일을 편집해 보면, <simpleType>에서 선택할 수 있는 것은 restriction, list, union이다.
모든 사용자 정의 simple type은 다른 simple type들의 restriction 아니면 list이다.[1]
반대로 complexType은 애트리뷰트 또는 엘리먼트 (또는 둘 다)를 반드시 가져야 한다.
Simple Content와 Complext Content는 Complex Type의 content가 어떠한지를 가리키는 말이다. 따라서 이들은 simpleType과는 아무 관계가 없다.
[1]
- 보충: Visual studio에서 xsd 파일을 편집해 보면, <simpleType>에서 선택할 수 있는 것은 restriction, list, union이다.
- 이 중 restriction은 기존에 있던 type을 제한해서 만든다. 제한하기 전의 원본은 XML built-in type일 수도 있고 사용자가 정의한 다른 simpleType일 수도 있다. 전형적인 예는 xsd:string을 제한해서 문자열의 enumeration을 만드는 것이다(주관식을 객관식으로 만드는 것)
- list는, "whitespace-separated" list이다. 즉 list이긴 list이되, 구분자가 고작 공백문자 하나이기 때문에 원소 속에 공백문자가 있어서는 안 된다. 따라서 complexType은 원소가 될 수 없고, simpleType만을 원소로 가질 수 있다.
- union은 C의 공용체와 마찬가지로 여렷 중 하나를 고를 수 있는 것이다. 애트리뷰트 memberTypes에다 whitespace-separated list로 타입 목록을 넣으면 된다.
Saturday, September 21, 2013
XML 네임스페이스 어떤 새끼가 설계했는지
XML namespace 설계한 새끼 죽이고 싶다.
(흐콰한다 흐흐흐...)
일단 이게 한 가지 방법인데, abc가 선언되기 전부터 abc를 알고 있다. (뭐임마?)
다른 방법은 namespace를(더 정확히는 namespace를 가리키는 prefix 'abc')를 계속 쓰기 귀찮으니까
이렇게 쓴다: 이래도 namespace 선언이 마치 attribute처럼 보여서 별로 안 좋아 보인다는 점은 첫 번째 방법과 같다.
(흐콰한다 흐흐흐...)
일단 이게 한 가지 방법인데, abc가 선언되기 전부터 abc를 알고 있다. (뭐임마?)
다른 방법은 namespace를(더 정확히는 namespace를 가리키는 prefix 'abc')를 계속 쓰기 귀찮으니까
이렇게 쓴다: 이래도 namespace 선언이 마치 attribute처럼 보여서 별로 안 좋아 보인다는 점은 첫 번째 방법과 같다.
Thursday, September 12, 2013
csc x 적분 integral cosecant
적분표(integral table)를 보면
\(\int \! \csc x\, \mathrm {d} x = -\ln | \csc x + \cot x | + C\)로 나오는데,
csc, cot를 피하려고 sin, cos 등으로 고치다 보면 답이 잘 안 나온다.
즉,
\(
\begin{equation}
\begin{split}
\int \! \csc x\, \mathrm {d} x &=\int \! { 1 \over \sin x } \mathrm {d} x
=\int \! { \sin x \over \sin^2 x } \mathrm {d} x
=\int \! { \sin x \over 1-\cos^2 x } \mathrm {d} x \\
&=\int \! { \mathrm {d} u \over u^2 - 1 } \cdots\cdots\cdots (u=\cos x, \mathrm {d} u = -\sin x \mathrm{d} x) \\
&={1 \over 2} \int \! \left( {1 \over u-1} - {1 \over u+1} \right) \mathrm {d} u
={1 \over 2} \ln \left| { 1 - \cos x \over 1 + \cos x }\right|
={1 \over 2} \ln \left( \tan^2 {x \over 2} \right)
\cdots ( \tan^2 {x \over 2} = {1 - \cos x \over 1 + \cos x} ) \\
&=\ln \left| \tan {x \over 2} \right|
\end{split}
\end{equation}
\)
적분표에 있는 것보다 더 간단한 공식이 나왔는데(사실 이것도 적분표에 있는 것이지만)
\(u=\csc x + \cot x\) 또는,
\(u=\csc x - \cot x\)를 분모, 분자에 곱한 후 치환적분하면 된다.
\(u=\csc x + \cot x\), \(u=\csc x - \cot x\) 모두 아래 그림(링크)과 같이 (불연속인 점을 제외하면) 단조증가하거나 단조감소한다.
plot: csc(x)-cot(x)
plot: csc(x)+cot(x)
위에걸 쓰면 \(\ln\|\csc x - \cot x \|\)
아래 걸 쓰면 \(-\ln\|\csc x + \cot x\|\)
답이 여러 가지가 되는 것 같지만 단조증가/감소하는 구간에 맞게 잘 선택해서 써야 할 듯.
\(\int \! \csc x\, \mathrm {d} x = -\ln | \csc x + \cot x | + C\)로 나오는데,
csc, cot를 피하려고 sin, cos 등으로 고치다 보면 답이 잘 안 나온다.
즉,
\(
\begin{equation}
\begin{split}
\int \! \csc x\, \mathrm {d} x &=\int \! { 1 \over \sin x } \mathrm {d} x
=\int \! { \sin x \over \sin^2 x } \mathrm {d} x
=\int \! { \sin x \over 1-\cos^2 x } \mathrm {d} x \\
&=\int \! { \mathrm {d} u \over u^2 - 1 } \cdots\cdots\cdots (u=\cos x, \mathrm {d} u = -\sin x \mathrm{d} x) \\
&={1 \over 2} \int \! \left( {1 \over u-1} - {1 \over u+1} \right) \mathrm {d} u
={1 \over 2} \ln \left| { 1 - \cos x \over 1 + \cos x }\right|
={1 \over 2} \ln \left( \tan^2 {x \over 2} \right)
\cdots ( \tan^2 {x \over 2} = {1 - \cos x \over 1 + \cos x} ) \\
&=\ln \left| \tan {x \over 2} \right|
\end{split}
\end{equation}
\)
적분표에 있는 것보다 더 간단한 공식이 나왔는데(사실 이것도 적분표에 있는 것이지만)
\(u=\csc x + \cot x\) 또는,
\(u=\csc x - \cot x\)를 분모, 분자에 곱한 후 치환적분하면 된다.
\(u=\csc x + \cot x\), \(u=\csc x - \cot x\) 모두 아래 그림(링크)과 같이 (불연속인 점을 제외하면) 단조증가하거나 단조감소한다.
plot: csc(x)-cot(x)
plot: csc(x)+cot(x)
위에걸 쓰면 \(\ln\|\csc x - \cot x \|\)
아래 걸 쓰면 \(-\ln\|\csc x + \cot x\|\)
답이 여러 가지가 되는 것 같지만 단조증가/감소하는 구간에 맞게 잘 선택해서 써야 할 듯.
Friday, September 6, 2013
MathML Word에 붙이기
MathJax èWord
MS Word 2007부터는 MathML을 문서에 바로 붙여넣을 수 있다.이 블로그의 거의 대부분의 수식은 MathJax로 작성되어 있는데,
오른쪽 버튼 클릭하고 메뉴에서 MathML 또는 TeX 형식으로 export할 수 있다(폰에서는 못 한다는 얘긴가...).
MathML 형식을 선택하면, 코드가 담긴 창이 열린다. 거기서 코드를 전부 복사한다.
- 코드가 길어서 마우스로는 선택하기 어려울 테니 ctrl-A, ctrl-C 연타를 추천한다.
그리고 Word에 붙여넣기 하면 안 된다(...) [1]
선택하여 붙여넣기(ctrl-alt-v)를 한 후, 서식 없는 텍스트를 고른다.
아니면 한 번 메모장에 붙여넣어서 html 태그를 제거한 후에, MathML 코드만 붙여넣어도 된다.
잘 붙은 모습[2] |
Word èMathJax
이제 반대로, Word 수식을 MathML 코드로 변환해 보자. 그냥 복사, 붙여넣기를 하면 코드가 아니라 눈으로 읽을 수 있는 것만 텍스트로 저장된다. 예를 들어 \(sin^2x\)는 sin2x로 나타나는 식이다(...)이는 기본값이 "1차원 형식을 일반 텍스트로 클립보드에 복사"이기 때문이다. 수식 도구에서 저 작은 버튼을 눌러서 옵션을 변경해 주어야 한다.
MathML을 클립보드에 복사하는 것이 우리의 목표이므로
"MathML을 일반 텍스트로 클립보드에 복사"에 체크하고 확인한다.
그 결과는 다음과 같이 엄청나게 긴 코드이다(...)
MathJax도 MathML을 지원하긴 하지만 MathML 코드를 블로그에 붙이기에는 xml 형식의 MathML은 가독성도 떨어지고 손으로 쓰는 게 사실상 불가능하다. 그나마 TeX이니까 느릿느릿 손으로 쓰는 게 가능하지...
이런 제품이 있다: http://www.grindeq.com/
MathML 코드를 붙여넣은 모습[3]:
으아니 이거 왜 정렬이 또 가운데로 되는 거야...
워드에 붙였을 때랑 같은 이유겠지 뭐.
그렇다면 MathML을 TeX으로 변환해주는 사이트를 이용한다:
http://www.orcca.on.ca/MathML/texmml/mmltotex.html (근데 안 된다)
[1] 아니 왜! 분명히 Word 2007에서 MathML 지원한댔는데! Google에서 word 2007 mathML 검색해봤자 그냥 붙여넣으면 된다는 말밖에 없고, 반대로 Word 수식을 MathML로 변환하는 것에 관한 문서만 주르륵 나온다.
이유는 뭐 당연히...MathJax에서 생성해 준 MathML 코드 페이지가 plain text가 아니고 html이기 때문.
[2] 사실 위 식 같이 \begin{equation}\begin{split} \\으로 행을 나누고 정렬한 식은 붙여넣은 직후에는 Word에서 정렬이 흐트러져서 나온다.
이렇게-_- |
* 이건 수식 전체의 [양쪽맞춤]과는 다르다. 양쪽맞춤은 왼쪽 버튼을 눌렀을 때 나오는 메뉴에 있다.
[3] 이게 제대로 보이기 위해서는 구글 Blogger 템플릿 코드를 수정해야 한다.
<html xmlns:mml="http://www.w3.org/
이 코드를 삽입해야 하는데, 아마도 <html 태그는 이미 존재할 테니
<html xmlns:abcdefg="xyzwo" xmlns:kmlqpr="12345">
여기에 '추가'를 해야 한다. 즉
<html xmlns:abcdefg="xyzwo" xmlns:kmlqpr="12345" xmlns:mml="http://www.w3.org/
이런 식이 될 것이다.
Subscribe to:
Posts (Atom)
"Gossip Girl" star Michelle Trachtenberg dies at 39
미셸 트랙튼버그 하우스에서 심장 이식 받았던 환자로 나왔는데 현실에서는 간이식을 받았었구나 가십걸이나 버피더뱀파이어슬레이어 이제 정주행해 볼까... 블로그도 다시 살려 볼까 훠훠

-
텍스트박스에서 엔터를 치면 자동으로 입력되게 하려고 keyup 이벤트 핸들러를 등록했다. 잘 동작하는 듯했는데 alert창을 닫아도 닫아도 계속 열리는 것이다. 크롬이어서 다행이지 IE였으면 무한히 열렸을 거야...스페이스바로 눌러보길 잘했...
-
MathJax è Word MS Word 2007부터는 MathML을 문서에 바로 붙여넣을 수 있다. 이 블로그의 거의 대부분의 수식은 MathJax로 작성되어 있는데, 오른쪽 버튼 클릭하고 메뉴에서 MathML 또는 TeX 형식으로 ex...
-
진짜 되는 건 아니고 흉내낼 수는 있다. 새 창을 누르면 아무 것도 안 변한 것 같지만 PowerPoint 창 제목이 바뀌어 있다: 프레젠테이션1:2에서 :2 부분이 같은 파일을 연 창 여러 개 중 2번째라는 뜻이다('프레...